/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./node_modules/fomantic-ui-less/semantic.less ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/*

███████╗ ██████╗ ███╗   ███╗ █████╗ ███╗   ██╗████████╗██╗ ██████╗    ██╗   ██╗██╗
██╔════╝██╔═══██╗████╗ ████║██╔══██╗████╗  ██║╚══██╔══╝██║██╔════╝    ██║   ██║██║
█████╗  ██║   ██║██╔████╔██║███████║██╔██╗ ██║   ██║   ██║██║         ██║   ██║██║
██╔══╝  ██║   ██║██║╚██╔╝██║██╔══██║██║╚██╗██║   ██║   ██║██║         ██║   ██║██║
██║     ╚██████╔╝██║ ╚═╝ ██║██║  ██║██║ ╚████║   ██║   ██║╚██████╗    ╚██████╔╝██║
╚═╝      ╚═════╝ ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝   ╚═╝ ╚═════╝     ╚═════╝ ╚═╝

  Import this file into your LESS project to use Fomantic-UI without build tools
*/
/* Global */
/*!
 * # Fomantic-UI - Reset
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Reset
*******************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
     User Global Variables
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Reset
*******************************/
/* Border-Box */
*,
*::before,
*::after {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
}
/* iPad Input Shadows */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  /* mobile firefox too! */
}
/*! normalize.css v8.0.1 | 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 iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */
}
/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 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 {
  overflow: visible;
  /* 1 */
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
  /* 1 */
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
/**
 * 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 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Site
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged Theme */
/* Site Theme */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Page
*******************************/
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/LatoLatin-Regular.b0a598e9.woff2) format("woff2") , url(/build/fonts/LatoLatin-Regular.4a38ade2.woff) format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-017F, U+0192, U+0218-021B, U+0237, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+2010, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20A3-20A4, U+20A7, U+20AC, U+2113, U+2122, U+2126, U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+F8FF, U+FB00-FB04;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/LatoLatin-Bold.710a1656.woff2) format("woff2") , url(/build/fonts/LatoLatin-Bold.85259161.woff) format("woff");
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-017F, U+0192, U+0218-021B, U+0237, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+2010, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20A3-20A4, U+20A7, U+20AC, U+2113, U+2122, U+2126, U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+F8FF, U+FB00-FB04;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/LatoLatin-Italic.bb932b70.woff2) format("woff2") , url(/build/fonts/LatoLatin-Italic.720116e2.woff) format("woff");
  font-style: italic;
  font-weight: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-017F, U+0192, U+0218-021B, U+0237, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+2010, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20A3-20A4, U+20A7, U+20AC, U+2113, U+2122, U+2126, U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+F8FF, U+FB00-FB04;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/LatoLatin-BoldItalic.e83aa39d.woff2) format("woff2") , url(/build/fonts/LatoLatin-BoldItalic.9bcbc975.woff) format("woff");
  font-style: italic;
  font-weight: bold;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-017F, U+0192, U+0218-021B, U+0237, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+2010, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20A3-20A4, U+20A7, U+20AC, U+2113, U+2122, U+2126, U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+F8FF, U+FB00-FB04;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/Lato-Regular.43bc6271.woff2) format("woff2") , url(/build/fonts/Lato-Regular.2fee7146.woff) format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0180-0191, U+0193-0217, U+021C-0236, U+0238-02C5, U+02C8, U+02CA-02D7, U+02DE-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-0393, U+0395-03A1, U+03A3-03A8, U+03AA-03BB, U+03BD-03BF, U+03C1-03CE, U+03D0-0486, U+0488-0513, U+1D00-1DCA, U+1DFE-1E7F, U+1E86-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-200F, U+2012, U+2015-2017, U+201B, U+201F, U+202F, U+2034, U+203C-203E, U+205E-205F, U+2070-2071, U+2074-2094, U+20A0-20A2, U+20A5-20A6, U+20A8-20AB, U+20AD-20B5, U+20B8-20BA, U+20DD, U+2105, U+2116-2117, U+2120, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+221F, U+2229, U+2261, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+2C60-2C6C, U+2C74-2C77;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/Lato-Bold.f846fe49.woff2) format("woff2") , url(/build/fonts/Lato-Bold.497f04ac.woff) format("woff");
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0180-0191, U+0193-0217, U+021C-0236, U+0238-02C5, U+02C8, U+02CA-02D7, U+02DE-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-0393, U+0395-03A1, U+03A3-03A8, U+03AA-03BB, U+03BD-03BF, U+03C1-03CE, U+03D0-0486, U+0488-0513, U+1D00-1DCA, U+1DFE-1E7F, U+1E86-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-200F, U+2012, U+2015-2017, U+201B, U+201F, U+202F, U+2034, U+203C-203E, U+205E-205F, U+2070-2071, U+2074-2094, U+20A0-20A2, U+20A5-20A6, U+20A8-20AB, U+20AD-20B5, U+20B8-20BA, U+20DD, U+2105, U+2116-2117, U+2120, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+221F, U+2229, U+2261, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+2C60-2C6C, U+2C74-2C77;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/Lato-Italic.978bab8c.woff2) format("woff2") , url(/build/fonts/Lato-Italic.e67e575e.woff) format("woff");
  font-style: italic;
  font-weight: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0180-0191, U+0193-0217, U+021C-0236, U+0238-02C5, U+02C8, U+02CA-02D7, U+02DE-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-0393, U+0395-03A1, U+03A3-03A8, U+03AA-03BB, U+03BD-03BF, U+03C1-03CE, U+03D0-0486, U+0488-0513, U+1D00-1DCA, U+1DFE-1E7F, U+1E86-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-200F, U+2012, U+2015-2017, U+201B, U+201F, U+202F, U+2034, U+203C-203E, U+205E-205F, U+2070-2071, U+2074-2094, U+20A0-20A2, U+20A5-20A6, U+20A8-20AB, U+20AD-20B5, U+20B8-20BA, U+20DD, U+2105, U+2116-2117, U+2120, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+221F, U+2229, U+2261, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+2C60-2C6C, U+2C74-2C77;
}
@font-face {
  font-family: "Lato";
  src: url(/build/fonts/Lato-BoldItalic.330c031b.woff2) format("woff2") , url(/build/fonts/Lato-BoldItalic.2e72ab08.woff) format("woff");
  font-style: italic;
  font-weight: bold;
  font-display: swap;
  text-rendering: optimizeLegibility;
  unicode-range: U+0180-0191, U+0193-0217, U+021C-0236, U+0238-02C5, U+02C8, U+02CA-02D7, U+02DE-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-0393, U+0395-03A1, U+03A3-03A8, U+03AA-03BB, U+03BD-03BF, U+03C1-03CE, U+03D0-0486, U+0488-0513, U+1D00-1DCA, U+1DFE-1E7F, U+1E86-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-200F, U+2012, U+2015-2017, U+201B, U+201F, U+202F, U+2034, U+203C-203E, U+205E-205F, U+2070-2071, U+2074-2094, U+20A0-20A2, U+20A5-20A6, U+20A8-20AB, U+20AD-20B5, U+20B8-20BA, U+20DD, U+2105, U+2116-2117, U+2120, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+221F, U+2229, U+2261, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+2C60-2C6C, U+2C74-2C77;
}
html,
body {
  height: 100%;
}
html {
  font-size: 14px;
}
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-width: 320px;
  background: #fff;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 14px;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
}
/*******************************
             Headers
*******************************/
h1,
h2,
h3,
h4,
h5 {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  line-height: 1.28571429em;
  margin: calc(2rem - 0.1428571428571429em) 0 1rem;
  font-weight: bold;
  padding: 0;
}
h1 {
  min-height: 1rem;
  font-size: 2rem;
}
h2 {
  font-size: 1.71428571rem;
}
h3 {
  font-size: 1.28571429rem;
}
h4 {
  font-size: 1.07142857rem;
}
h5 {
  font-size: 1rem;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
  margin-top: 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child {
  margin-bottom: 0;
}
/*******************************
             Text
*******************************/
p {
  margin: 0 0 1em;
  line-height: 1.4285em;
}
p:first-child {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
/* -------------------
        Links
-------------------- */
a {
  color: #4183c4;
  text-decoration: none;
}
a:hover {
  color: #1e70bf;
  text-decoration: none;
}
/*******************************
         Scrollbars
*******************************/
/* Force Simple Scrollbars */
body ::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 10px;
  height: 10px;
}
body ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 0;
}
body ::-webkit-scrollbar-thumb {
  cursor: pointer;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.25);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
body ::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(0, 0, 0, 0.15);
}
body ::-webkit-scrollbar-thumb:hover {
  background: rgba(128, 135, 139, 0.8);
}
body .ui {
  /* IE11 */
  scrollbar-face-color: #bfbfbf;
  scrollbar-shadow-color: #bfbfbf;
  scrollbar-track-color: #e6e6e6;
  scrollbar-arrow-color: #e6e6e6;
}
@supports (-moz-appearance: none) {
  body .ui {
    /* firefox: first color thumb, second track */
    scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0.1);
    scrollbar-width: thin;
  }
}
/* Inverted UI */
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
}
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(255, 255, 255, 0.15);
}
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}
body .ui.inverted:not(.dimmer) {
  /* IE11 */
  scrollbar-face-color: #656565;
  scrollbar-shadow-color: #656565;
  scrollbar-track-color: #323232;
  scrollbar-arrow-color: #323232;
}
@supports (-moz-appearance: none) {
  body .ui.inverted:not(.dimmer) {
    /* firefox: first color thumb, second track */
    scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
  }
}
/*******************************
          Highlighting
*******************************/
/* Site */
::-moz-selection {
  background-color: #cce2ff;
  color: rgba(0, 0, 0, 0.87);
}
::selection {
  background-color: #cce2ff;
  color: rgba(0, 0, 0, 0.87);
}
/* Form */
textarea::-moz-selection, input::-moz-selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
textarea::selection,
input::selection {
  background-color: rgba(100, 100, 100, 0.4);
  color: rgba(0, 0, 0, 0.87);
}
/*******************************
        Global Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*----------------------------
    Custom Semantic Classes
-----------------------------*/
/* General Colors */
body {
  background-color: #FFFFFF !important;
}
.color.primary {
  color: #6C3667 !important;
}
.color.primary.background {
  color: #FFFFFF !important;
  background-color: #6C3667 !important;
}
.color.secondary {
  color: #88d317 !important;
}
.color.secondary.background {
  color: #FFFFFF !important;
  background-color: #88d317 !important;
}
/* General Text transformers */
.text.bold {
  font-weight: bold;
}
.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.checkbox {
  margin-top: 0 !important;
}
/* Elements */
/*!
 * # Fomantic-UI - Button
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Button
*******************************/
/* -------------------
       Element
-------------------- */
/* Button */
/* Button defaults to using same height as input globally */
/* Text */
/* Internal Shadow */
/* Box Shadow */
/* Icon */
/* Loader */
/*
@willChange: box-shadow, transform, opacity, color, background;
*/
/* -------------------
        Group
-------------------- */
/* -------------------
        States
-------------------- */
/* Hovered */
/* Focused */
/* Disabled */
/* Pressed Down */
/* Active */
/* Active + Hovered */
/* Loading */
/* -------------------
        Types
-------------------- */
/* Or */
/* Icon */
/* Labeled */
/* hypotenuse of triangle */
/* Labeled Icon */
/* Inverted */
/* Basic */
/* Basic Hover */
/* Basic Focus */
/* Basic Down */
/* Basic Active */
/* Basic Inverted */
/* Basic Group */
/* -------------
   Tertiary
------------- */
/* Tertiary Hover */
/* Tertiary Focus */
/* Tertiary Active */
/* -------------------
      Variations
-------------------- */
/* Colors */
/* Colored */
/* Inverted */
/* Ordinality */
/* Compact */
/* Attached */
/* Floated */
/* Animated */
/* Toggle */
/* Circular */
/* Spaced */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Button
*******************************/
.ui.button {
  cursor: pointer;
  display: inline-block;
  min-height: 1em;
  outline: none;
  border: none;
  vertical-align: baseline;
  background: #e0e1e2 none;
  color: rgba(0, 0, 0, 0.6);
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin: 0 0.25em 0 0;
  padding: 0.78571429em 1.5em 0.78571429em;
  text-transform: none;
  text-shadow: none;
  font-weight: bold;
  line-height: 1em;
  font-style: normal;
  text-align: center;
  text-decoration: none;
  border-radius: 0.28571429rem;
  box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;
  will-change: auto;
  -webkit-tap-highlight-color: transparent;
}
/*******************************
            States
*******************************/
/* --------------
      Hover
--------------- */
.ui.button:hover {
  background-color: #cacbcd;
  background-image: none;
  box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
  color: rgba(0, 0, 0, 0.8);
}
.ui.button:hover .icon {
  opacity: 0.85;
}
/* --------------
      Focus
--------------- */
.ui.button:focus {
  background-color: #cacbcd;
  color: rgba(0, 0, 0, 0.8);
  background-image: none;
  box-shadow: "";
}
.ui.button:focus .icon {
  opacity: 0.85;
}
/* --------------
      Down
--------------- */
.ui.button:active,
.ui.active.button:active {
  background-color: #babbbc;
  background-image: "";
  color: rgba(0, 0, 0, 0.9);
  box-shadow: none;
}
/* --------------
     Active
--------------- */
.ui.active.button {
  background-color: #c0c1c2;
  background-image: none;
  box-shadow: 0 0 0 1px transparent inset;
  color: rgba(0, 0, 0, 0.95);
}
.ui.active.button:hover {
  background-color: #c0c1c2;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}
.ui.active.button:active {
  background-color: #c0c1c2;
  background-image: none;
}
/* --------------
        Loading
    --------------- */
/* Specificity hack */
.ui.ui.ui.ui.ui.ui.loading.button {
  position: relative;
  cursor: default;
  text-shadow: none !important;
  color: transparent;
  opacity: 1;
  pointer-events: auto;
  transition: all 0s linear, opacity 0.1s ease;
}
.ui.loading.button::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.15);
}
.ui.loading.button::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid currentColor;
  color: #FFFFFF;
  box-shadow: 0 0 0 1px transparent;
}
.ui.ui.ui.loading.button .label {
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}
.ui.labeled.icon.loading.button .icon {
  background-color: transparent;
  box-shadow: none;
}
.ui.basic.loading.button:not(.inverted)::before {
  border-color: rgba(0, 0, 0, 0.1);
}
.ui.basic.loading.button:not(.inverted)::after {
  border-color: #767676;
}
/* -------------------
          Disabled
    -------------------- */
.ui.buttons .disabled.button:not(.basic),
.ui.disabled.button,
.ui.button:disabled,
.ui.disabled.button:hover,
.ui.disabled.active.button {
  cursor: default;
  opacity: 0.45 !important;
  background-image: none;
  box-shadow: none;
  pointer-events: none !important;
}
/* Basic Group With Disabled */
.ui.basic.buttons .ui.disabled.button {
  border-color: rgba(34, 36, 38, 0.5);
}
/*******************************
             Types
*******************************/
/* -------------------
           Animated
    -------------------- */
.ui.animated.button {
  position: relative;
  overflow: hidden;
  padding-right: 0 !important;
  vertical-align: middle;
  z-index: 1;
}
.ui.animated.button .content {
  will-change: transform, opacity;
}
.ui.animated.button .visible.content {
  position: relative;
  margin-right: 1.5em;
}
.ui.animated.button .hidden.content {
  position: absolute;
  width: 100%;
}
/* Horizontal */
.ui.animated.button .visible.content,
.ui.animated.button .hidden.content {
  transition: right 0.3s ease 0s;
}
.ui.animated.button .visible.content {
  left: auto;
  right: 0;
}
.ui.animated.button .hidden.content {
  top: 50%;
  left: auto;
  right: -100%;
  margin-top: -0.5em;
}
.ui.animated.button:focus .visible.content,
.ui.animated.button:hover .visible.content {
  left: auto;
  right: 200%;
}
.ui.animated.button:focus .hidden.content,
.ui.animated.button:hover .hidden.content {
  left: auto;
  right: 0;
}
/* Vertical */
.ui.vertical.animated.button .visible.content,
.ui.vertical.animated.button .hidden.content {
  transition: top 0.3s ease, transform 0.3s ease;
}
.ui.vertical.animated.button .visible.content {
  transform: translateY(0);
  right: auto;
}
.ui.vertical.animated.button .hidden.content {
  top: -50%;
  left: 0;
  right: auto;
}
.ui.vertical.animated.button:focus .visible.content,
.ui.vertical.animated.button:hover .visible.content {
  transform: translateY(200%);
  right: auto;
}
.ui.vertical.animated.button:focus .hidden.content,
.ui.vertical.animated.button:hover .hidden.content {
  top: 50%;
  right: auto;
}
/* Fade */
.ui.fade.animated.button .visible.content,
.ui.fade.animated.button .hidden.content {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.ui.fade.animated.button .visible.content {
  left: auto;
  right: auto;
  opacity: 1;
  transform: scale(1);
}
.ui.fade.animated.button .hidden.content {
  opacity: 0;
  left: 0;
  right: auto;
  transform: scale(1.5);
}
.ui.fade.animated.button:focus .visible.content,
.ui.fade.animated.button:hover .visible.content {
  left: auto;
  right: auto;
  opacity: 0;
  transform: scale(0.75);
}
.ui.fade.animated.button:focus .hidden.content,
.ui.fade.animated.button:hover .hidden.content {
  left: 0;
  right: auto;
  opacity: 1;
  transform: scale(1);
}
/* -------------------
           Inverted
    -------------------- */
.ui.inverted.button {
  box-shadow: 0 0 0 2px #FFFFFF inset;
  background: transparent none;
  color: #FFFFFF;
  text-shadow: none !important;
}
/* Group */
.ui.inverted.buttons .button {
  margin: 0 0 0 -2px;
}
.ui.inverted.buttons .button:first-child {
  margin-left: 0;
}
.ui.inverted.vertical.buttons .button {
  margin: 0 0 -2px 0;
}
.ui.inverted.vertical.buttons .button:first-child {
  margin-top: 0;
}
/* States */
/* Hover */
.ui.inverted.button:hover {
  background: #FFFFFF;
  box-shadow: 0 0 0 2px #FFFFFF inset;
  color: rgba(0, 0, 0, 0.8);
}
/* Active / Focus */
.ui.inverted.button:focus,
.ui.inverted.button.active {
  background: #FFFFFF;
  box-shadow: 0 0 0 2px #FFFFFF inset;
  color: rgba(0, 0, 0, 0.8);
}
/* Active Focus */
.ui.inverted.button.active:focus {
  background: #dcddde;
  box-shadow: 0 0 0 2px #dcddde inset;
  color: rgba(0, 0, 0, 0.8);
}
/* -------------------
        Labeled Button
    -------------------- */
.ui.labeled.button:not(.icon) {
  display: inline-flex;
  flex-direction: row;
  background: none;
  padding: 0 !important;
  border: none;
  box-shadow: none;
}
.ui.labeled.button > .button {
  margin: 0;
}
.ui.labeled.button > .label {
  display: flex;
  align-items: center;
  margin: 0 0 0 -1px !important;
  font-size: 1em;
  padding: "";
  border-color: rgba(34, 36, 38, 0.15);
}
/* Tag */
.ui.labeled.button > .tag.label::before {
  width: 1.85em;
  height: 1.85em;
}
/* Right */
.ui.labeled.button:not([class*="left labeled"]) > .button {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.labeled.button:not([class*="left labeled"]) > .label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
/* Left Side */
.ui[class*="left labeled"].button > .button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui[class*="left labeled"].button > .label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
/* -------------------
           Social
    -------------------- */
/* Facebook */
.ui.facebook.button {
  background-color: #3b5998;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.facebook.button:hover {
  background-color: #304d8a;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.facebook.button:active {
  background-color: #2d4373;
  color: #FFFFFF;
  text-shadow: none;
}
/* Twitter */
.ui.twitter.button {
  background-color: #1da1f2;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.twitter.button:hover {
  background-color: #0298f3;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.twitter.button:active {
  background-color: #0c85d0;
  color: #FFFFFF;
  text-shadow: none;
}
/* Google Plus */
.ui.google.plus.button {
  background-color: #dd4b39;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.google.plus.button:hover {
  background-color: #e0321c;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.google.plus.button:active {
  background-color: #c23321;
  color: #FFFFFF;
  text-shadow: none;
}
/* Linked In */
.ui.linkedin.button {
  background-color: #0077b5;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.linkedin.button:hover {
  background-color: #00669c;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.linkedin.button:active {
  background-color: #005582;
  color: #FFFFFF;
  text-shadow: none;
}
/* YouTube */
.ui.youtube.button {
  background-color: #f00;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.youtube.button:hover {
  background-color: #e60000;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.youtube.button:active {
  background-color: #cc0000;
  color: #FFFFFF;
  text-shadow: none;
}
/* Instagram */
.ui.instagram.button {
  background-color: #49769c;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.instagram.button:hover {
  background-color: #3d698e;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.instagram.button:active {
  background-color: #395c79;
  color: #FFFFFF;
  text-shadow: none;
}
/* Pinterest */
.ui.pinterest.button {
  background-color: #bd081c;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.pinterest.button:hover {
  background-color: #ac0013;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.pinterest.button:active {
  background-color: #8c0615;
  color: #FFFFFF;
  text-shadow: none;
}
/* VK */
.ui.vk.button {
  background-color: #45668e;
  color: #FFFFFF;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.vk.button:hover {
  background-color: #395980;
  color: #FFFFFF;
}
.ui.vk.button:active {
  background-color: #344d6c;
  color: #FFFFFF;
}
/* WhatsApp */
.ui.whatsapp.button {
  background-color: #25d366;
  color: #FFFFFF;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.whatsapp.button:hover {
  background-color: #19c55a;
  color: #FFFFFF;
}
.ui.whatsapp.button:active {
  background-color: #1da851;
  color: #FFFFFF;
}
/* Telegram */
.ui.telegram.button {
  background-color: #08c;
  color: #FFFFFF;
  background-image: none;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.telegram.button:hover {
  background-color: #0077b3;
  color: #FFFFFF;
}
.ui.telegram.button:active {
  background-color: #006699;
  color: #FFFFFF;
}
/* --------------
     Icon
--------------- */
.ui.button > .icon:not(.button) {
  height: auto;
  opacity: 0.8;
  transition: opacity 0.1s ease;
  color: "";
}
.ui.button:not(.icon) > .icon:not(.button):not(.dropdown),
.ui.button:not(.icon) > .icons:not(.button):not(.dropdown) {
  margin: 0 0.42857143em 0 -0.21428571em;
  vertical-align: baseline;
}
.ui.button:not(.icon) > .icons:not(.button):not(.dropdown) > .icon {
  vertical-align: baseline;
}
.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {
  margin: 0 -0.21428571em 0 0.42857143em;
}
/*******************************
           Variations
*******************************/
/* --------------
       Stackable
    --------------- */
/* Tablet Or Below */
@media only screen and (max-width: 767.98px) {
  .ui.stackable.buttons {
    flex-direction: column;
    width: 100%;
  }
  .ui.stackable.buttons .button:first-child {
    border-bottom-left-radius: 0;
    border-top-right-radius: 0.28571429rem;
  }
  .ui.stackable.buttons .button:last-child {
    border-bottom-left-radius: 0.28571429rem;
    border-top-right-radius: 0;
  }
  .ui.stackable.buttons .button:only-child {
    border-radius: 0.28571429rem;
  }
}
/* -------------------
           Floated
    -------------------- */
.ui[class*="left floated"].buttons,
.ui[class*="left floated"].button {
  float: left;
  margin-left: 0;
  margin-right: 0.25em;
}
.ui[class*="right floated"].buttons,
.ui[class*="right floated"].button {
  float: right;
  margin-right: 0;
  margin-left: 0.25em;
}
/* -------------------
           Compact
    -------------------- */
.ui.compact.buttons .button,
.ui.compact.button {
  padding: 0.58928571em 1.125em 0.58928571em;
}
.ui.compact.icon.buttons .button,
.ui.compact.icon.button {
  padding: 0.58928571em 0.58928571em 0.58928571em;
}
.ui.compact.labeled.icon.buttons .button,
.ui.compact.labeled.icon.button {
  padding: 0.58928571em 3.69642857em 0.58928571em;
}
.ui.compact.labeled.icon.buttons .button > .icon,
.ui.compact.labeled.icon.button > .icon {
  padding: 0.58928571em 0;
}
/* -------------------
        Sizes
-------------------- */
.ui.buttons .button,
.ui.buttons .or,
.ui.button {
  font-size: 1rem;
}
.ui.mini.buttons .dropdown,
.ui.mini.buttons .dropdown .menu > .item,
.ui.mini.buttons .button,
.ui.mini.buttons .or,
.ui.ui.ui.ui.mini.button {
  font-size: 0.78571429rem;
}
.ui.tiny.buttons .dropdown,
.ui.tiny.buttons .dropdown .menu > .item,
.ui.tiny.buttons .button,
.ui.tiny.buttons .or,
.ui.ui.ui.ui.tiny.button {
  font-size: 0.85714286rem;
}
.ui.small.buttons .dropdown,
.ui.small.buttons .dropdown .menu > .item,
.ui.small.buttons .button,
.ui.small.buttons .or,
.ui.ui.ui.ui.small.button {
  font-size: 0.92857143rem;
}
.ui.large.buttons .dropdown,
.ui.large.buttons .dropdown .menu > .item,
.ui.large.buttons .button,
.ui.large.buttons .or,
.ui.ui.ui.ui.large.button {
  font-size: 1.14285714rem;
}
.ui.big.buttons .dropdown,
.ui.big.buttons .dropdown .menu > .item,
.ui.big.buttons .button,
.ui.big.buttons .or,
.ui.ui.ui.ui.big.button {
  font-size: 1.28571429rem;
}
.ui.huge.buttons .dropdown,
.ui.huge.buttons .dropdown .menu > .item,
.ui.huge.buttons .button,
.ui.huge.buttons .or,
.ui.ui.ui.ui.huge.button {
  font-size: 1.42857143rem;
}
.ui.massive.buttons .dropdown,
.ui.massive.buttons .dropdown .menu > .item,
.ui.massive.buttons .button,
.ui.massive.buttons .or,
.ui.ui.ui.ui.massive.button {
  font-size: 1.71428571rem;
}
/* --------------
        Icon Only
    --------------- */
.ui.icon.buttons .button,
.ui.icon.button:not(.animated):not(.compact):not(.labeled) {
  padding: 0.78571429em 0.78571429em 0.78571429em;
}
.ui.animated.icon.button > .content > .icon,
.ui.icon.buttons .button > .icon,
.ui.icon.button > .icon {
  opacity: 0.9;
  margin: 0 !important;
  vertical-align: top;
}
.ui.animated.button > .content > .icon {
  vertical-align: top;
}
/* -------------------
            Basic
    -------------------- */
.ui.basic.buttons .button,
.ui.basic.button {
  background: transparent none;
  color: rgba(0, 0, 0, 0.6);
  font-weight: normal;
  border-radius: 0.28571429rem;
  text-transform: none;
  text-shadow: none !important;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons {
  box-shadow: none;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  border-right: none;
}
.ui.basic.buttons .button {
  border-radius: 0;
}
.ui.basic.buttons .button:hover,
.ui.basic.button:hover {
  background: #fff;
  color: rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons .button:focus,
.ui.basic.button:focus {
  background: #fff;
  color: rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons .button:active,
.ui.basic.button:active {
  background: #f8f8f8;
  color: rgba(0, 0, 0, 0.9);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons .active.button,
.ui.basic.active.button {
  background: rgba(0, 0, 0, 0.05);
  box-shadow: "";
  color: rgba(0, 0, 0, 0.95);
}
.ui.basic.buttons .active.button:hover,
.ui.basic.active.button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.ui.basic.buttons .button:hover {
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons .button:active {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.basic.buttons .active.button {
  box-shadow: "";
}
/* Standard Basic Inverted */
.ui.basic.inverted.buttons .button,
.ui.basic.inverted.button {
  background-color: transparent;
  color: #f9fafb;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
}
.ui.basic.inverted.buttons .button:hover,
.ui.basic.inverted.button:hover {
  color: #FFFFFF;
  box-shadow: 0 0 0 2px #ffffff inset;
}
.ui.basic.inverted.buttons .button:focus,
.ui.basic.inverted.button:focus {
  color: #FFFFFF;
  box-shadow: 0 0 0 2px #ffffff inset;
}
.ui.basic.inverted.buttons .button:active,
.ui.basic.inverted.button:active {
  background-color: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset;
}
.ui.basic.inverted.buttons .active.button,
.ui.basic.inverted.active.button {
  background-color: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  text-shadow: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7) inset;
}
.ui.basic.inverted.buttons .active.button:hover,
.ui.basic.inverted.active.button:hover {
  background-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 0 2px #ffffff inset;
}
/* Basic Group */
.ui.basic.buttons:not(.inverted) .button:not(.basic) {
  border-right: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
}
.ui.basic.vertical.buttons .button {
  border-left: none;
  border-left-width: 0;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.basic.vertical.buttons:not(.spaced):not(.circular) .button:first-child {
  border-top: none;
}
/* -------------------
           Tertiary
    -------------------- */
/* Overline Mixin */
.ui.tertiary.button {
  transition: color 0.1s ease !important;
  border-radius: 0;
  margin: 0.28571429em 0.25em 0.28571429em 0 !important;
  padding: 0.5em 0.5em !important;
  box-shadow: none;
  color: rgba(0, 0, 0, 0.6);
  background: none;
}
.ui.tertiary.button:hover {
  box-shadow: inset 0 -0.2em 0 #666666;
  color: #333333;
  background: none;
}
.ui.tertiary.button:focus {
  box-shadow: inset 0 -0.2em 0 #666666;
  color: #333333;
  background: none;
}
.ui.tertiary.button:active {
  box-shadow: inset 0 -0.2em 0 #999999;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
  color: #666666;
  background: none;
}
/* --------------
      Labeled Icon
    --------------- */
.ui.labeled.icon.buttons .button,
.ui.labeled.icon.button {
  position: relative;
  padding-left: 4.07142857em !important;
  padding-right: 1.5em !important;
}
/* Left Labeled */
.ui.labeled.icon.buttons > .button > .icon,
.ui.labeled.icon.button > .icon {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  line-height: 1;
  border-radius: 0;
  border-top-left-radius: inherit;
  border-bottom-left-radius: inherit;
  text-align: center;
  animation: none;
  padding: 0.78571429em 0;
  margin: 0;
  width: 2.57142857em;
  background-color: rgba(0, 0, 0, 0.05);
  color: "";
  box-shadow: -1px 0 0 0 transparent inset;
}
/* Right Labeled */
.ui[class*="right labeled"].icon.button {
  padding-right: 4.07142857em !important;
  padding-left: 1.5em !important;
}
.ui[class*="right labeled"].icon.button > .icon {
  left: auto;
  right: 0;
  border-radius: 0;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  box-shadow: 1px 0 0 0 transparent inset;
}
.ui.labeled.icon.buttons > .button > .icon::before,
.ui.labeled.icon.button > .icon::before,
.ui.labeled.icon.buttons > .button > .icon::after,
.ui.labeled.icon.button > .icon::after {
  display: block;
  position: relative;
  width: 100%;
  top: 0;
  text-align: center;
}
.ui.labeled.icon.buttons .button > .icon {
  border-radius: 0;
}
.ui.labeled.icon.buttons .button:first-child > .icon {
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}
.ui.labeled.icon.buttons .button:last-child > .icon {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
  border-radius: 0;
  border-top-left-radius: 0.28571429rem;
}
.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
  border-radius: 0;
  border-bottom-left-radius: 0.28571429rem;
}
/* Loading Icon in Labeled Button */
.ui.labeled.icon.button > .loading.icon::before {
  animation: loader 2s linear infinite;
}
/* --------------
         Toggle
    --------------- */
/* Toggle (Modifies active state to give affordances) */
.ui.toggle.buttons .active.button,
.ui.buttons .button.toggle.active,
.ui.button.toggle.active {
  background-color: #21ba45;
  box-shadow: none;
  text-shadow: none;
  color: #FFFFFF;
}
.ui.button.toggle.active:hover {
  background-color: #16ab39;
  text-shadow: none;
  color: #FFFFFF;
}
/* --------------
        Circular
    --------------- */
.ui.ui.circular.buttons .button,
.ui.ui.ui.ui.circular.button {
  border-radius: 10em;
  min-width: 2.5em;
}
.ui.circular.buttons .button > .icon,
.ui.circular.button > .icon {
  width: 1em;
  vertical-align: baseline;
}
.ui.circular.buttons:not(.vertical):not(.spaced) .button {
  margin-right: 0.25em;
}
.ui.vertical.circular.buttons .button {
  margin-bottom: 0.25em;
}
.ui.circular.basic.buttons {
  border: none;
}
.ui.circular.basic.buttons .button {
  border: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.circular.basic.buttons .button.basic {
  border: none;
}
/* -------------------
          Or Buttons
    -------------------- */
.ui.buttons .or {
  position: relative;
  width: 0.3em;
  height: 2.57142857em;
  z-index: 3;
}
.ui.buttons .or::before {
  position: absolute;
  text-align: center;
  border-radius: 500rem;
  content: "or";
  top: 50%;
  left: 50%;
  background-color: #FFFFFF;
  text-shadow: none;
  margin-top: -0.89285714em;
  margin-left: -0.89285714em;
  width: 1.78571429em;
  height: 1.78571429em;
  line-height: 1.78571429em;
  color: rgba(0, 0, 0, 0.4);
  font-style: normal;
  font-weight: bold;
  box-shadow: 0 0 0 1px transparent inset;
}
.ui.buttons .or[data-text]::before {
  content: attr(data-text);
}
/* Fluid Or */
.ui.fluid.buttons .or {
  width: 0 !important;
}
.ui.fluid.buttons .or::after {
  display: none;
}
/* -------------------
           Attached
    -------------------- */
/* Singular */
.ui.attached.button {
  position: relative;
  display: block;
  margin: 0;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15);
}
/* Top / Bottom */
.ui.attached.top.button {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.attached.bottom.button {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* Left / Right */
.ui.left.attached.button {
  display: inline-block;
  border-left: none;
  text-align: right;
  padding-right: 0.75em;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui.right.attached.button {
  display: inline-block;
  text-align: left;
  padding-left: 0.75em;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
/* Plural */
.ui.attached.buttons {
  position: relative;
  display: flex;
  border-radius: 0;
  width: auto !important;
  z-index: auto;
  margin-left: -1px;
  margin-right: -1px;
}
.ui.attached.buttons .button {
  margin: 0;
}
.ui.attached.buttons .button:first-child {
  border-radius: 0;
}
.ui.attached.buttons .button:last-child {
  border-radius: 0;
}
/* Top / Bottom */
.ui[class*="top attached"].buttons {
  margin-bottom: 0;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui[class*="top attached"].buttons .button:first-child {
  border-radius: 0.28571429rem 0 0 0;
}
.ui[class*="top attached"].buttons .button:last-child {
  border-radius: 0 0.28571429rem 0 0;
}
.ui[class*="bottom attached"].buttons {
  margin-top: -1px;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui[class*="bottom attached"].buttons .button:first-child {
  border-radius: 0 0 0 0.28571429rem;
}
.ui[class*="bottom attached"].buttons .button:last-child {
  border-radius: 0 0 0.28571429rem 0;
}
/* Left / Right */
.ui[class*="left attached"].buttons {
  display: inline-flex;
  margin-right: 0;
  margin-left: -1px;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui[class*="left attached"].buttons .button:first-child {
  margin-left: -1px;
  border-radius: 0 0.28571429rem 0 0;
}
.ui[class*="left attached"].buttons .button:last-child {
  margin-left: -1px;
  border-radius: 0 0 0.28571429rem 0;
}
.ui[class*="right attached"].buttons {
  display: inline-flex;
  margin-left: 0;
  margin-right: -1px;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui[class*="right attached"].buttons .button:first-child {
  margin-left: -1px;
  border-radius: 0.28571429rem 0 0 0;
}
.ui[class*="right attached"].buttons .button:last-child {
  margin-left: -1px;
  border-radius: 0 0 0 0.28571429rem;
}
/* -------------------
            Fluid
    -------------------- */
.ui.fluid.buttons,
.ui.fluid.button {
  width: 100%;
}
.ui.fluid.button {
  display: block;
}
.ui.two.buttons {
  width: 100%;
}
.ui.two.buttons > .button {
  width: 50%;
}
.ui.three.buttons {
  width: 100%;
}
.ui.three.buttons > .button {
  width: 33.333%;
}
.ui.four.buttons {
  width: 100%;
}
.ui.four.buttons > .button {
  width: 25%;
}
.ui.five.buttons {
  width: 100%;
}
.ui.five.buttons > .button {
  width: 20%;
}
.ui.six.buttons {
  width: 100%;
}
.ui.six.buttons > .button {
  width: 16.666%;
}
.ui.seven.buttons {
  width: 100%;
}
.ui.seven.buttons > .button {
  width: 14.285%;
}
.ui.eight.buttons {
  width: 100%;
}
.ui.eight.buttons > .button {
  width: 12.5%;
}
.ui.nine.buttons {
  width: 100%;
}
.ui.nine.buttons > .button {
  width: 11.11%;
}
.ui.ten.buttons {
  width: 100%;
}
.ui.ten.buttons > .button {
  width: 10%;
}
.ui.eleven.buttons {
  width: 100%;
}
.ui.eleven.buttons > .button {
  width: 9.09%;
}
.ui.twelve.buttons {
  width: 100%;
}
.ui.twelve.buttons > .button {
  width: 8.3333%;
}
/* Fluid Vertical Buttons */
.ui.fluid.vertical.buttons,
.ui.fluid.vertical.buttons > .button {
  display: flex;
  width: auto;
  justify-content: center;
}
.ui.two.vertical.buttons > .button {
  height: 50%;
}
.ui.three.vertical.buttons > .button {
  height: 33.333%;
}
.ui.four.vertical.buttons > .button {
  height: 25%;
}
.ui.five.vertical.buttons > .button {
  height: 20%;
}
.ui.six.vertical.buttons > .button {
  height: 16.666%;
}
.ui.seven.vertical.buttons > .button {
  height: 14.285%;
}
.ui.eight.vertical.buttons > .button {
  height: 12.5%;
}
.ui.nine.vertical.buttons > .button {
  height: 11.11%;
}
.ui.ten.vertical.buttons > .button {
  height: 10%;
}
.ui.eleven.vertical.buttons > .button {
  height: 9.09%;
}
.ui.twelve.vertical.buttons > .button {
  height: 8.3333%;
}
/* -------------------
       Colors
-------------------- */
.ui.primary.buttons .button,
.ui.primary.button {
  background-color: #6C3667;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.primary.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.primary.buttons .button:hover,
.ui.primary.button:hover {
  background-color: #5d2b59;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.primary.buttons .button:focus,
.ui.primary.button:focus {
  background-color: #552450;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.primary.buttons .button:active,
.ui.primary.button:active {
  background-color: #4a2547;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.primary.buttons .active.button,
.ui.primary.buttons .active.button:active,
.ui.primary.active.button,
.ui.primary.button .active.button:active {
  background-color: #5e2a5a;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.primary.buttons .button,
.ui.basic.primary.button {
  background: transparent;
  box-shadow: 0 0 0 1px #6C3667 inset;
  color: #6C3667;
}
.ui.basic.primary.buttons .button:hover,
.ui.basic.primary.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #5d2b59 inset;
  color: #5d2b59;
}
.ui.basic.primary.buttons .button:focus,
.ui.basic.primary.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #552450 inset;
  color: #5d2b59;
}
.ui.basic.primary.buttons .active.button,
.ui.basic.primary.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #5e2a5a inset;
  color: #4a2547;
}
.ui.basic.primary.buttons .button:active,
.ui.basic.primary.button:active {
  box-shadow: 0 0 0 1px #4a2547 inset;
  color: #4a2547;
}
/* Inverted */
.ui.inverted.primary.buttons .button,
.ui.inverted.primary.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #54c8ff inset;
  color: #54c8ff;
}
.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover,
.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus,
.ui.inverted.primary.buttons .button.active,
.ui.inverted.primary.button.active,
.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.primary.buttons .button:hover,
.ui.inverted.primary.button:hover {
  background-color: #21b8ff;
}
.ui.inverted.primary.buttons .button:focus,
.ui.inverted.primary.button:focus {
  background-color: #2bbbff;
}
.ui.inverted.primary.buttons .active.button,
.ui.inverted.primary.active.button {
  background-color: #3ac0ff;
}
.ui.inverted.primary.buttons .button:active,
.ui.inverted.primary.button:active {
  background-color: #21b8ff;
}
/* Inverted Basic */
.ui.inverted.primary.basic.buttons .button,
.ui.inverted.primary.buttons .basic.button,
.ui.inverted.primary.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.primary.basic.buttons .button:hover,
.ui.inverted.primary.buttons .basic.button:hover,
.ui.inverted.primary.basic.button:hover {
  box-shadow: 0 0 0 2px #21b8ff inset;
  color: #54c8ff;
}
.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.buttons .button:focus,
.ui.inverted.primary.basic.button:focus {
  box-shadow: 0 0 0 2px #2bbbff inset;
  color: #54c8ff;
}
.ui.inverted.primary.basic.buttons .active.button,
.ui.inverted.primary.buttons .basic.active.button,
.ui.inverted.primary.basic.active.button {
  box-shadow: 0 0 0 2px #3ac0ff inset;
  color: #54c8ff;
}
.ui.inverted.primary.basic.buttons .button:active,
.ui.inverted.primary.buttons .basic.button:active,
.ui.inverted.primary.basic.button:active {
  box-shadow: 0 0 0 2px #21b8ff inset;
  color: #54c8ff;
}
/* Tertiary */
.ui.tertiary.primary.buttons .button,
.ui.tertiary.primary.buttons .tertiary.button,
.ui.tertiary.primary.button {
  background: transparent;
  box-shadow: none;
  color: #6C3667;
}
.ui.tertiary.primary.buttons .button:hover,
.ui.tertiary.primary.buttons button:hover,
.ui.tertiary.primary.button:hover {
  box-shadow: inset 0 -0.2em 0 #50394e;
  color: #50394e;
}
.ui.tertiary.primary.buttons .button:focus,
.ui.tertiary.primary.buttons .tertiary.button:focus,
.ui.tertiary.primary.button:focus {
  box-shadow: inset 0 -0.2em 0 #493046;
  color: #493046;
}
.ui.tertiary.primary.buttons .active.button,
.ui.tertiary.primary.buttons .tertiary.active.button,
.ui.tertiary.primary.active.button,
.ui.tertiary.primary.buttons .button:active,
.ui.tertiary.primary.buttons .tertiary.button:active,
.ui.tertiary.primary.button:active {
  box-shadow: inset 0 -0.2em 0 #6c1c65;
  color: #5e2a5a;
}
.ui.secondary.buttons .button,
.ui.secondary.button {
  background-color: #88d317;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.secondary.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.secondary.buttons .button:hover,
.ui.secondary.button:hover {
  background-color: #98f013;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.secondary.buttons .button:focus,
.ui.secondary.button:focus {
  background-color: #a0fb18;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.secondary.buttons .button:active,
.ui.secondary.button:active {
  background-color: #a1e934;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.secondary.buttons .active.button,
.ui.secondary.buttons .active.button:active,
.ui.secondary.active.button,
.ui.secondary.button .active.button:active {
  background-color: #99f50e;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.secondary.buttons .button,
.ui.basic.secondary.button {
  background: transparent;
  box-shadow: 0 0 0 1px #88d317 inset;
  color: #88d317;
}
.ui.basic.secondary.buttons .button:hover,
.ui.basic.secondary.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #98f013 inset;
  color: #98f013;
}
.ui.basic.secondary.buttons .button:focus,
.ui.basic.secondary.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #a0fb18 inset;
  color: #98f013;
}
.ui.basic.secondary.buttons .active.button,
.ui.basic.secondary.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #99f50e inset;
  color: #a1e934;
}
.ui.basic.secondary.buttons .button:active,
.ui.basic.secondary.button:active {
  box-shadow: 0 0 0 1px #a1e934 inset;
  color: #a1e934;
}
/* Inverted */
.ui.inverted.secondary.buttons .button,
.ui.inverted.secondary.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #545454 inset;
  color: #545454;
}
.ui.inverted.secondary.buttons .button:hover,
.ui.inverted.secondary.button:hover,
.ui.inverted.secondary.buttons .button:focus,
.ui.inverted.secondary.button:focus,
.ui.inverted.secondary.buttons .button.active,
.ui.inverted.secondary.button.active,
.ui.inverted.secondary.buttons .button:active,
.ui.inverted.secondary.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.secondary.buttons .button:hover,
.ui.inverted.secondary.button:hover {
  background-color: #6e6e6e;
}
.ui.inverted.secondary.buttons .button:focus,
.ui.inverted.secondary.button:focus {
  background-color: #686868;
}
.ui.inverted.secondary.buttons .active.button,
.ui.inverted.secondary.active.button {
  background-color: #616161;
}
.ui.inverted.secondary.buttons .button:active,
.ui.inverted.secondary.button:active {
  background-color: #6e6e6e;
}
/* Inverted Basic */
.ui.inverted.secondary.basic.buttons .button,
.ui.inverted.secondary.buttons .basic.button,
.ui.inverted.secondary.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.secondary.basic.buttons .button:hover,
.ui.inverted.secondary.buttons .basic.button:hover,
.ui.inverted.secondary.basic.button:hover {
  box-shadow: 0 0 0 2px #6e6e6e inset;
  color: #545454;
}
.ui.inverted.secondary.basic.buttons .button:focus,
.ui.inverted.secondary.basic.buttons .button:focus,
.ui.inverted.secondary.basic.button:focus {
  box-shadow: 0 0 0 2px #686868 inset;
  color: #545454;
}
.ui.inverted.secondary.basic.buttons .active.button,
.ui.inverted.secondary.buttons .basic.active.button,
.ui.inverted.secondary.basic.active.button {
  box-shadow: 0 0 0 2px #616161 inset;
  color: #545454;
}
.ui.inverted.secondary.basic.buttons .button:active,
.ui.inverted.secondary.buttons .basic.button:active,
.ui.inverted.secondary.basic.button:active {
  box-shadow: 0 0 0 2px #6e6e6e inset;
  color: #545454;
}
/* Tertiary */
.ui.tertiary.secondary.buttons .button,
.ui.tertiary.secondary.buttons .tertiary.button,
.ui.tertiary.secondary.button {
  background: transparent;
  box-shadow: none;
  color: #88d317;
}
.ui.tertiary.secondary.buttons .button:hover,
.ui.tertiary.secondary.buttons button:hover,
.ui.tertiary.secondary.button:hover {
  box-shadow: inset 0 -0.2em 0 #93d72c;
  color: #93d72c;
}
.ui.tertiary.secondary.buttons .button:focus,
.ui.tertiary.secondary.buttons .tertiary.button:focus,
.ui.tertiary.secondary.button:focus {
  box-shadow: inset 0 -0.2em 0 #9ce330;
  color: #9ce330;
}
.ui.tertiary.secondary.buttons .active.button,
.ui.tertiary.secondary.buttons .tertiary.active.button,
.ui.tertiary.secondary.active.button,
.ui.tertiary.secondary.buttons .button:active,
.ui.tertiary.secondary.buttons .tertiary.button:active,
.ui.tertiary.secondary.button:active {
  box-shadow: inset 0 -0.2em 0 #9bff04;
  color: #99f50e;
}
.ui.red.buttons .button,
.ui.red.button {
  background-color: #db2828;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.red.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.red.buttons .button:hover,
.ui.red.button:hover {
  background-color: #d01919;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.red.buttons .button:focus,
.ui.red.button:focus {
  background-color: #ca1010;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.red.buttons .button:active,
.ui.red.button:active {
  background-color: #b21e1e;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.red.buttons .active.button,
.ui.red.buttons .active.button:active,
.ui.red.active.button,
.ui.red.button .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.red.buttons .button,
.ui.basic.red.button {
  background: transparent;
  box-shadow: 0 0 0 1px #db2828 inset;
  color: #db2828;
}
.ui.basic.red.buttons .button:hover,
.ui.basic.red.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #d01919 inset;
  color: #d01919;
}
.ui.basic.red.buttons .button:focus,
.ui.basic.red.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #ca1010 inset;
  color: #d01919;
}
.ui.basic.red.buttons .active.button,
.ui.basic.red.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #d41515 inset;
  color: #b21e1e;
}
.ui.basic.red.buttons .button:active,
.ui.basic.red.button:active {
  box-shadow: 0 0 0 1px #b21e1e inset;
  color: #b21e1e;
}
/* Inverted */
.ui.inverted.red.buttons .button,
.ui.inverted.red.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #ff695e inset;
  color: #ff695e;
}
.ui.inverted.red.buttons .button:hover,
.ui.inverted.red.button:hover,
.ui.inverted.red.buttons .button:focus,
.ui.inverted.red.button:focus,
.ui.inverted.red.buttons .button.active,
.ui.inverted.red.button.active,
.ui.inverted.red.buttons .button:active,
.ui.inverted.red.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.red.buttons .button:hover,
.ui.inverted.red.button:hover {
  background-color: #ff392b;
}
.ui.inverted.red.buttons .button:focus,
.ui.inverted.red.button:focus {
  background-color: #ff4335;
}
.ui.inverted.red.buttons .active.button,
.ui.inverted.red.active.button {
  background-color: #ff5144;
}
.ui.inverted.red.buttons .button:active,
.ui.inverted.red.button:active {
  background-color: #ff392b;
}
/* Inverted Basic */
.ui.inverted.red.basic.buttons .button,
.ui.inverted.red.buttons .basic.button,
.ui.inverted.red.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.red.basic.buttons .button:hover,
.ui.inverted.red.buttons .basic.button:hover,
.ui.inverted.red.basic.button:hover {
  box-shadow: 0 0 0 2px #ff392b inset;
  color: #ff695e;
}
.ui.inverted.red.basic.buttons .button:focus,
.ui.inverted.red.basic.buttons .button:focus,
.ui.inverted.red.basic.button:focus {
  box-shadow: 0 0 0 2px #ff4335 inset;
  color: #ff695e;
}
.ui.inverted.red.basic.buttons .active.button,
.ui.inverted.red.buttons .basic.active.button,
.ui.inverted.red.basic.active.button {
  box-shadow: 0 0 0 2px #ff5144 inset;
  color: #ff695e;
}
.ui.inverted.red.basic.buttons .button:active,
.ui.inverted.red.buttons .basic.button:active,
.ui.inverted.red.basic.button:active {
  box-shadow: 0 0 0 2px #ff392b inset;
  color: #ff695e;
}
/* Tertiary */
.ui.tertiary.red.buttons .button,
.ui.tertiary.red.buttons .tertiary.button,
.ui.tertiary.red.button {
  background: transparent;
  box-shadow: none;
  color: #db2828;
}
.ui.tertiary.red.buttons .button:hover,
.ui.tertiary.red.buttons button:hover,
.ui.tertiary.red.button:hover {
  box-shadow: inset 0 -0.2em 0 #b93131;
  color: #b93131;
}
.ui.tertiary.red.buttons .button:focus,
.ui.tertiary.red.buttons .tertiary.button:focus,
.ui.tertiary.red.button:focus {
  box-shadow: inset 0 -0.2em 0 #b52626;
  color: #b52626;
}
.ui.tertiary.red.buttons .active.button,
.ui.tertiary.red.buttons .tertiary.active.button,
.ui.tertiary.red.active.button,
.ui.tertiary.red.buttons .button:active,
.ui.tertiary.red.buttons .tertiary.button:active,
.ui.tertiary.red.button:active {
  box-shadow: inset 0 -0.2em 0 #ea0000;
  color: #d41515;
}
.ui.orange.buttons .button,
.ui.orange.button {
  background-color: #f2711c;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.orange.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.orange.buttons .button:hover,
.ui.orange.button:hover {
  background-color: #f26202;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.orange.buttons .button:focus,
.ui.orange.button:focus {
  background-color: #e55b00;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.orange.buttons .button:active,
.ui.orange.button:active {
  background-color: #cf590c;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.orange.buttons .active.button,
.ui.orange.buttons .active.button:active,
.ui.orange.active.button,
.ui.orange.button .active.button:active {
  background-color: #f56100;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.orange.buttons .button,
.ui.basic.orange.button {
  background: transparent;
  box-shadow: 0 0 0 1px #f2711c inset;
  color: #f2711c;
}
.ui.basic.orange.buttons .button:hover,
.ui.basic.orange.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #f26202 inset;
  color: #f26202;
}
.ui.basic.orange.buttons .button:focus,
.ui.basic.orange.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #e55b00 inset;
  color: #f26202;
}
.ui.basic.orange.buttons .active.button,
.ui.basic.orange.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #f56100 inset;
  color: #cf590c;
}
.ui.basic.orange.buttons .button:active,
.ui.basic.orange.button:active {
  box-shadow: 0 0 0 1px #cf590c inset;
  color: #cf590c;
}
/* Inverted */
.ui.inverted.orange.buttons .button,
.ui.inverted.orange.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #ff851b inset;
  color: #ff851b;
}
.ui.inverted.orange.buttons .button:hover,
.ui.inverted.orange.button:hover,
.ui.inverted.orange.buttons .button:focus,
.ui.inverted.orange.button:focus,
.ui.inverted.orange.buttons .button.active,
.ui.inverted.orange.button.active,
.ui.inverted.orange.buttons .button:active,
.ui.inverted.orange.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.orange.buttons .button:hover,
.ui.inverted.orange.button:hover {
  background-color: #e76b00;
}
.ui.inverted.orange.buttons .button:focus,
.ui.inverted.orange.button:focus {
  background-color: #f17000;
}
.ui.inverted.orange.buttons .active.button,
.ui.inverted.orange.active.button {
  background-color: #ff7701;
}
.ui.inverted.orange.buttons .button:active,
.ui.inverted.orange.button:active {
  background-color: #e76b00;
}
/* Inverted Basic */
.ui.inverted.orange.basic.buttons .button,
.ui.inverted.orange.buttons .basic.button,
.ui.inverted.orange.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.orange.basic.buttons .button:hover,
.ui.inverted.orange.buttons .basic.button:hover,
.ui.inverted.orange.basic.button:hover {
  box-shadow: 0 0 0 2px #e76b00 inset;
  color: #ff851b;
}
.ui.inverted.orange.basic.buttons .button:focus,
.ui.inverted.orange.basic.buttons .button:focus,
.ui.inverted.orange.basic.button:focus {
  box-shadow: 0 0 0 2px #f17000 inset;
  color: #ff851b;
}
.ui.inverted.orange.basic.buttons .active.button,
.ui.inverted.orange.buttons .basic.active.button,
.ui.inverted.orange.basic.active.button {
  box-shadow: 0 0 0 2px #ff7701 inset;
  color: #ff851b;
}
.ui.inverted.orange.basic.buttons .button:active,
.ui.inverted.orange.buttons .basic.button:active,
.ui.inverted.orange.basic.button:active {
  box-shadow: 0 0 0 2px #e76b00 inset;
  color: #ff851b;
}
/* Tertiary */
.ui.tertiary.orange.buttons .button,
.ui.tertiary.orange.buttons .tertiary.button,
.ui.tertiary.orange.button {
  background: transparent;
  box-shadow: none;
  color: #f2711c;
}
.ui.tertiary.orange.buttons .button:hover,
.ui.tertiary.orange.buttons button:hover,
.ui.tertiary.orange.button:hover {
  box-shadow: inset 0 -0.2em 0 #da671b;
  color: #da671b;
}
.ui.tertiary.orange.buttons .button:focus,
.ui.tertiary.orange.buttons .tertiary.button:focus,
.ui.tertiary.orange.button:focus {
  box-shadow: inset 0 -0.2em 0 #ce6017;
  color: #ce6017;
}
.ui.tertiary.orange.buttons .active.button,
.ui.tertiary.orange.buttons .tertiary.active.button,
.ui.tertiary.orange.active.button,
.ui.tertiary.orange.buttons .button:active,
.ui.tertiary.orange.buttons .tertiary.button:active,
.ui.tertiary.orange.button:active {
  box-shadow: inset 0 -0.2em 0 #f56100;
  color: #f56100;
}
.ui.yellow.buttons .button,
.ui.yellow.button {
  background-color: #fbbd08;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.yellow.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.yellow.buttons .button:hover,
.ui.yellow.button:hover {
  background-color: #eaae00;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.yellow.buttons .button:focus,
.ui.yellow.button:focus {
  background-color: #daa300;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.yellow.buttons .button:active,
.ui.yellow.button:active {
  background-color: #cd9903;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.yellow.buttons .active.button,
.ui.yellow.buttons .active.button:active,
.ui.yellow.active.button,
.ui.yellow.button .active.button:active {
  background-color: #eaae00;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.yellow.buttons .button,
.ui.basic.yellow.button {
  background: transparent;
  box-shadow: 0 0 0 1px #fbbd08 inset;
  color: #fbbd08;
}
.ui.basic.yellow.buttons .button:hover,
.ui.basic.yellow.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #eaae00 inset;
  color: #eaae00;
}
.ui.basic.yellow.buttons .button:focus,
.ui.basic.yellow.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #daa300 inset;
  color: #eaae00;
}
.ui.basic.yellow.buttons .active.button,
.ui.basic.yellow.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #eaae00 inset;
  color: #cd9903;
}
.ui.basic.yellow.buttons .button:active,
.ui.basic.yellow.button:active {
  box-shadow: 0 0 0 1px #cd9903 inset;
  color: #cd9903;
}
/* Inverted */
.ui.inverted.yellow.buttons .button,
.ui.inverted.yellow.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #ffe21f inset;
  color: #ffe21f;
}
.ui.inverted.yellow.buttons .button:hover,
.ui.inverted.yellow.button:hover,
.ui.inverted.yellow.buttons .button:focus,
.ui.inverted.yellow.button:focus,
.ui.inverted.yellow.buttons .button.active,
.ui.inverted.yellow.button.active,
.ui.inverted.yellow.buttons .button:active,
.ui.inverted.yellow.button:active {
  box-shadow: none;
  color: rgba(0, 0, 0, 0.6);
}
.ui.inverted.yellow.buttons .button:hover,
.ui.inverted.yellow.button:hover {
  background-color: #ebcd00;
}
.ui.inverted.yellow.buttons .button:focus,
.ui.inverted.yellow.button:focus {
  background-color: #f5d500;
}
.ui.inverted.yellow.buttons .active.button,
.ui.inverted.yellow.active.button {
  background-color: #ffdf05;
}
.ui.inverted.yellow.buttons .button:active,
.ui.inverted.yellow.button:active {
  background-color: #ebcd00;
}
/* Inverted Basic */
.ui.inverted.yellow.basic.buttons .button,
.ui.inverted.yellow.buttons .basic.button,
.ui.inverted.yellow.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.yellow.basic.buttons .button:hover,
.ui.inverted.yellow.buttons .basic.button:hover,
.ui.inverted.yellow.basic.button:hover {
  box-shadow: 0 0 0 2px #ebcd00 inset;
  color: #ffe21f;
}
.ui.inverted.yellow.basic.buttons .button:focus,
.ui.inverted.yellow.basic.buttons .button:focus,
.ui.inverted.yellow.basic.button:focus {
  box-shadow: 0 0 0 2px #f5d500 inset;
  color: #ffe21f;
}
.ui.inverted.yellow.basic.buttons .active.button,
.ui.inverted.yellow.buttons .basic.active.button,
.ui.inverted.yellow.basic.active.button {
  box-shadow: 0 0 0 2px #ffdf05 inset;
  color: #ffe21f;
}
.ui.inverted.yellow.basic.buttons .button:active,
.ui.inverted.yellow.buttons .basic.button:active,
.ui.inverted.yellow.basic.button:active {
  box-shadow: 0 0 0 2px #ebcd00 inset;
  color: #ffe21f;
}
/* Tertiary */
.ui.tertiary.yellow.buttons .button,
.ui.tertiary.yellow.buttons .tertiary.button,
.ui.tertiary.yellow.button {
  background: transparent;
  box-shadow: none;
  color: #fbbd08;
}
.ui.tertiary.yellow.buttons .button:hover,
.ui.tertiary.yellow.buttons button:hover,
.ui.tertiary.yellow.button:hover {
  box-shadow: inset 0 -0.2em 0 #d2a217;
  color: #d2a217;
}
.ui.tertiary.yellow.buttons .button:focus,
.ui.tertiary.yellow.buttons .tertiary.button:focus,
.ui.tertiary.yellow.button:focus {
  box-shadow: inset 0 -0.2em 0 #c49816;
  color: #c49816;
}
.ui.tertiary.yellow.buttons .active.button,
.ui.tertiary.yellow.buttons .tertiary.active.button,
.ui.tertiary.yellow.active.button,
.ui.tertiary.yellow.buttons .button:active,
.ui.tertiary.yellow.buttons .tertiary.button:active,
.ui.tertiary.yellow.button:active {
  box-shadow: inset 0 -0.2em 0 #eaae00;
  color: #eaae00;
}
.ui.olive.buttons .button,
.ui.olive.button {
  background-color: #b5cc18;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.olive.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.olive.buttons .button:hover,
.ui.olive.button:hover {
  background-color: #a7bd0d;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.olive.buttons .button:focus,
.ui.olive.button:focus {
  background-color: #a0b605;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.olive.buttons .button:active,
.ui.olive.button:active {
  background-color: #8d9e13;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.olive.buttons .active.button,
.ui.olive.buttons .active.button:active,
.ui.olive.active.button,
.ui.olive.button .active.button:active {
  background-color: #aac109;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.olive.buttons .button,
.ui.basic.olive.button {
  background: transparent;
  box-shadow: 0 0 0 1px #b5cc18 inset;
  color: #b5cc18;
}
.ui.basic.olive.buttons .button:hover,
.ui.basic.olive.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #a7bd0d inset;
  color: #a7bd0d;
}
.ui.basic.olive.buttons .button:focus,
.ui.basic.olive.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #a0b605 inset;
  color: #a7bd0d;
}
.ui.basic.olive.buttons .active.button,
.ui.basic.olive.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #aac109 inset;
  color: #8d9e13;
}
.ui.basic.olive.buttons .button:active,
.ui.basic.olive.button:active {
  box-shadow: 0 0 0 1px #8d9e13 inset;
  color: #8d9e13;
}
/* Inverted */
.ui.inverted.olive.buttons .button,
.ui.inverted.olive.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #d9e778 inset;
  color: #d9e778;
}
.ui.inverted.olive.buttons .button:hover,
.ui.inverted.olive.button:hover,
.ui.inverted.olive.buttons .button:focus,
.ui.inverted.olive.button:focus,
.ui.inverted.olive.buttons .button.active,
.ui.inverted.olive.button.active,
.ui.inverted.olive.buttons .button:active,
.ui.inverted.olive.button:active {
  box-shadow: none;
  color: rgba(0, 0, 0, 0.6);
}
.ui.inverted.olive.buttons .button:hover,
.ui.inverted.olive.button:hover {
  background-color: #d2e745;
}
.ui.inverted.olive.buttons .button:focus,
.ui.inverted.olive.button:focus {
  background-color: #daef47;
}
.ui.inverted.olive.buttons .active.button,
.ui.inverted.olive.active.button {
  background-color: #daed59;
}
.ui.inverted.olive.buttons .button:active,
.ui.inverted.olive.button:active {
  background-color: #cddf4d;
}
/* Inverted Basic */
.ui.inverted.olive.basic.buttons .button,
.ui.inverted.olive.buttons .basic.button,
.ui.inverted.olive.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.olive.basic.buttons .button:hover,
.ui.inverted.olive.buttons .basic.button:hover,
.ui.inverted.olive.basic.button:hover {
  box-shadow: 0 0 0 2px #d2e745 inset;
  color: #d9e778;
}
.ui.inverted.olive.basic.buttons .button:focus,
.ui.inverted.olive.basic.buttons .button:focus,
.ui.inverted.olive.basic.button:focus {
  box-shadow: 0 0 0 2px #daef47 inset;
  color: #d9e778;
}
.ui.inverted.olive.basic.buttons .active.button,
.ui.inverted.olive.buttons .basic.active.button,
.ui.inverted.olive.basic.active.button {
  box-shadow: 0 0 0 2px #daed59 inset;
  color: #d9e778;
}
.ui.inverted.olive.basic.buttons .button:active,
.ui.inverted.olive.buttons .basic.button:active,
.ui.inverted.olive.basic.button:active {
  box-shadow: 0 0 0 2px #cddf4d inset;
  color: #d9e778;
}
/* Tertiary */
.ui.tertiary.olive.buttons .button,
.ui.tertiary.olive.buttons .tertiary.button,
.ui.tertiary.olive.button {
  background: transparent;
  box-shadow: none;
  color: #b5cc18;
}
.ui.tertiary.olive.buttons .button:hover,
.ui.tertiary.olive.buttons button:hover,
.ui.tertiary.olive.button:hover {
  box-shadow: inset 0 -0.2em 0 #98a922;
  color: #98a922;
}
.ui.tertiary.olive.buttons .button:focus,
.ui.tertiary.olive.buttons .tertiary.button:focus,
.ui.tertiary.olive.button:focus {
  box-shadow: inset 0 -0.2em 0 #92a418;
  color: #92a418;
}
.ui.tertiary.olive.buttons .active.button,
.ui.tertiary.olive.buttons .tertiary.active.button,
.ui.tertiary.olive.active.button,
.ui.tertiary.olive.buttons .button:active,
.ui.tertiary.olive.buttons .tertiary.button:active,
.ui.tertiary.olive.button:active {
  box-shadow: inset 0 -0.2em 0 #b1cb00;
  color: #aac109;
}
.ui.green.buttons .button,
.ui.green.button {
  background-color: #21ba45;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.green.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.green.buttons .button:hover,
.ui.green.button:hover {
  background-color: #16ab39;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.green.buttons .button:focus,
.ui.green.button:focus {
  background-color: #0ea432;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.green.buttons .button:active,
.ui.green.button:active {
  background-color: #198f35;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.green.buttons .active.button,
.ui.green.buttons .active.button:active,
.ui.green.active.button,
.ui.green.button .active.button:active {
  background-color: #13ae38;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.green.buttons .button,
.ui.basic.green.button {
  background: transparent;
  box-shadow: 0 0 0 1px #21ba45 inset;
  color: #21ba45;
}
.ui.basic.green.buttons .button:hover,
.ui.basic.green.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #16ab39 inset;
  color: #16ab39;
}
.ui.basic.green.buttons .button:focus,
.ui.basic.green.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #0ea432 inset;
  color: #16ab39;
}
.ui.basic.green.buttons .active.button,
.ui.basic.green.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #13ae38 inset;
  color: #198f35;
}
.ui.basic.green.buttons .button:active,
.ui.basic.green.button:active {
  box-shadow: 0 0 0 1px #198f35 inset;
  color: #198f35;
}
/* Inverted */
.ui.inverted.green.buttons .button,
.ui.inverted.green.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #2ecc40 inset;
  color: #2ecc40;
}
.ui.inverted.green.buttons .button:hover,
.ui.inverted.green.button:hover,
.ui.inverted.green.buttons .button:focus,
.ui.inverted.green.button:focus,
.ui.inverted.green.buttons .button.active,
.ui.inverted.green.button.active,
.ui.inverted.green.buttons .button:active,
.ui.inverted.green.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.green.buttons .button:hover,
.ui.inverted.green.button:hover {
  background-color: #1ea92e;
}
.ui.inverted.green.buttons .button:focus,
.ui.inverted.green.button:focus {
  background-color: #19b82b;
}
.ui.inverted.green.buttons .active.button,
.ui.inverted.green.active.button {
  background-color: #1fc231;
}
.ui.inverted.green.buttons .button:active,
.ui.inverted.green.button:active {
  background-color: #25a233;
}
/* Inverted Basic */
.ui.inverted.green.basic.buttons .button,
.ui.inverted.green.buttons .basic.button,
.ui.inverted.green.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.green.basic.buttons .button:hover,
.ui.inverted.green.buttons .basic.button:hover,
.ui.inverted.green.basic.button:hover {
  box-shadow: 0 0 0 2px #1ea92e inset;
  color: #2ecc40;
}
.ui.inverted.green.basic.buttons .button:focus,
.ui.inverted.green.basic.buttons .button:focus,
.ui.inverted.green.basic.button:focus {
  box-shadow: 0 0 0 2px #19b82b inset;
  color: #2ecc40;
}
.ui.inverted.green.basic.buttons .active.button,
.ui.inverted.green.buttons .basic.active.button,
.ui.inverted.green.basic.active.button {
  box-shadow: 0 0 0 2px #1fc231 inset;
  color: #2ecc40;
}
.ui.inverted.green.basic.buttons .button:active,
.ui.inverted.green.buttons .basic.button:active,
.ui.inverted.green.basic.button:active {
  box-shadow: 0 0 0 2px #25a233 inset;
  color: #2ecc40;
}
/* Tertiary */
.ui.tertiary.green.buttons .button,
.ui.tertiary.green.buttons .tertiary.button,
.ui.tertiary.green.button {
  background: transparent;
  box-shadow: none;
  color: #21ba45;
}
.ui.tertiary.green.buttons .button:hover,
.ui.tertiary.green.buttons button:hover,
.ui.tertiary.green.button:hover {
  box-shadow: inset 0 -0.2em 0 #2a9844;
  color: #2a9844;
}
.ui.tertiary.green.buttons .button:focus,
.ui.tertiary.green.buttons .tertiary.button:focus,
.ui.tertiary.green.button:focus {
  box-shadow: inset 0 -0.2em 0 #20923b;
  color: #20923b;
}
.ui.tertiary.green.buttons .active.button,
.ui.tertiary.green.buttons .tertiary.active.button,
.ui.tertiary.green.active.button,
.ui.tertiary.green.buttons .button:active,
.ui.tertiary.green.buttons .tertiary.button:active,
.ui.tertiary.green.button:active {
  box-shadow: inset 0 -0.2em 0 #00c22e;
  color: #13ae38;
}
.ui.teal.buttons .button,
.ui.teal.button {
  background-color: #00b5ad;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.teal.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.teal.buttons .button:hover,
.ui.teal.button:hover {
  background-color: #009c95;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.teal.buttons .button:focus,
.ui.teal.button:focus {
  background-color: #008c86;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.teal.buttons .button:active,
.ui.teal.button:active {
  background-color: #00827c;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.teal.buttons .active.button,
.ui.teal.buttons .active.button:active,
.ui.teal.active.button,
.ui.teal.button .active.button:active {
  background-color: #009c95;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.teal.buttons .button,
.ui.basic.teal.button {
  background: transparent;
  box-shadow: 0 0 0 1px #00b5ad inset;
  color: #00b5ad;
}
.ui.basic.teal.buttons .button:hover,
.ui.basic.teal.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #009c95 inset;
  color: #009c95;
}
.ui.basic.teal.buttons .button:focus,
.ui.basic.teal.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #008c86 inset;
  color: #009c95;
}
.ui.basic.teal.buttons .active.button,
.ui.basic.teal.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #009c95 inset;
  color: #00827c;
}
.ui.basic.teal.buttons .button:active,
.ui.basic.teal.button:active {
  box-shadow: 0 0 0 1px #00827c inset;
  color: #00827c;
}
/* Inverted */
.ui.inverted.teal.buttons .button,
.ui.inverted.teal.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #6dffff inset;
  color: #6dffff;
}
.ui.inverted.teal.buttons .button:hover,
.ui.inverted.teal.button:hover,
.ui.inverted.teal.buttons .button:focus,
.ui.inverted.teal.button:focus,
.ui.inverted.teal.buttons .button.active,
.ui.inverted.teal.button.active,
.ui.inverted.teal.buttons .button:active,
.ui.inverted.teal.button:active {
  box-shadow: none;
  color: rgba(0, 0, 0, 0.6);
}
.ui.inverted.teal.buttons .button:hover,
.ui.inverted.teal.button:hover {
  background-color: #3affff;
}
.ui.inverted.teal.buttons .button:focus,
.ui.inverted.teal.button:focus {
  background-color: #44ffff;
}
.ui.inverted.teal.buttons .active.button,
.ui.inverted.teal.active.button {
  background-color: #54ffff;
}
.ui.inverted.teal.buttons .button:active,
.ui.inverted.teal.button:active {
  background-color: #3affff;
}
/* Inverted Basic */
.ui.inverted.teal.basic.buttons .button,
.ui.inverted.teal.buttons .basic.button,
.ui.inverted.teal.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.teal.basic.buttons .button:hover,
.ui.inverted.teal.buttons .basic.button:hover,
.ui.inverted.teal.basic.button:hover {
  box-shadow: 0 0 0 2px #3affff inset;
  color: #6dffff;
}
.ui.inverted.teal.basic.buttons .button:focus,
.ui.inverted.teal.basic.buttons .button:focus,
.ui.inverted.teal.basic.button:focus {
  box-shadow: 0 0 0 2px #44ffff inset;
  color: #6dffff;
}
.ui.inverted.teal.basic.buttons .active.button,
.ui.inverted.teal.buttons .basic.active.button,
.ui.inverted.teal.basic.active.button {
  box-shadow: 0 0 0 2px #54ffff inset;
  color: #6dffff;
}
.ui.inverted.teal.basic.buttons .button:active,
.ui.inverted.teal.buttons .basic.button:active,
.ui.inverted.teal.basic.button:active {
  box-shadow: 0 0 0 2px #3affff inset;
  color: #6dffff;
}
/* Tertiary */
.ui.tertiary.teal.buttons .button,
.ui.tertiary.teal.buttons .tertiary.button,
.ui.tertiary.teal.button {
  background: transparent;
  box-shadow: none;
  color: #00b5ad;
}
.ui.tertiary.teal.buttons .button:hover,
.ui.tertiary.teal.buttons button:hover,
.ui.tertiary.teal.button:hover {
  box-shadow: inset 0 -0.2em 0 #108c86;
  color: #108c86;
}
.ui.tertiary.teal.buttons .button:focus,
.ui.tertiary.teal.buttons .tertiary.button:focus,
.ui.tertiary.teal.button:focus {
  box-shadow: inset 0 -0.2em 0 #0e7e79;
  color: #0e7e79;
}
.ui.tertiary.teal.buttons .active.button,
.ui.tertiary.teal.buttons .tertiary.active.button,
.ui.tertiary.teal.active.button,
.ui.tertiary.teal.buttons .button:active,
.ui.tertiary.teal.buttons .tertiary.button:active,
.ui.tertiary.teal.button:active {
  box-shadow: inset 0 -0.2em 0 #009c95;
  color: #009c95;
}
.ui.blue.buttons .button,
.ui.blue.button {
  background-color: #2185d0;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.blue.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.blue.buttons .button:hover,
.ui.blue.button:hover {
  background-color: #1678c2;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.blue.buttons .button:focus,
.ui.blue.button:focus {
  background-color: #0d71bb;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.blue.buttons .button:active,
.ui.blue.button:active {
  background-color: #1a69a4;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.blue.buttons .active.button,
.ui.blue.buttons .active.button:active,
.ui.blue.active.button,
.ui.blue.button .active.button:active {
  background-color: #1279c6;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.blue.buttons .button,
.ui.basic.blue.button {
  background: transparent;
  box-shadow: 0 0 0 1px #2185d0 inset;
  color: #2185d0;
}
.ui.basic.blue.buttons .button:hover,
.ui.basic.blue.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #1678c2 inset;
  color: #1678c2;
}
.ui.basic.blue.buttons .button:focus,
.ui.basic.blue.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #0d71bb inset;
  color: #1678c2;
}
.ui.basic.blue.buttons .active.button,
.ui.basic.blue.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #1279c6 inset;
  color: #1a69a4;
}
.ui.basic.blue.buttons .button:active,
.ui.basic.blue.button:active {
  box-shadow: 0 0 0 1px #1a69a4 inset;
  color: #1a69a4;
}
/* Inverted */
.ui.inverted.blue.buttons .button,
.ui.inverted.blue.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #54c8ff inset;
  color: #54c8ff;
}
.ui.inverted.blue.buttons .button:hover,
.ui.inverted.blue.button:hover,
.ui.inverted.blue.buttons .button:focus,
.ui.inverted.blue.button:focus,
.ui.inverted.blue.buttons .button.active,
.ui.inverted.blue.button.active,
.ui.inverted.blue.buttons .button:active,
.ui.inverted.blue.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.blue.buttons .button:hover,
.ui.inverted.blue.button:hover {
  background-color: #21b8ff;
}
.ui.inverted.blue.buttons .button:focus,
.ui.inverted.blue.button:focus {
  background-color: #2bbbff;
}
.ui.inverted.blue.buttons .active.button,
.ui.inverted.blue.active.button {
  background-color: #3ac0ff;
}
.ui.inverted.blue.buttons .button:active,
.ui.inverted.blue.button:active {
  background-color: #21b8ff;
}
/* Inverted Basic */
.ui.inverted.blue.basic.buttons .button,
.ui.inverted.blue.buttons .basic.button,
.ui.inverted.blue.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.blue.basic.buttons .button:hover,
.ui.inverted.blue.buttons .basic.button:hover,
.ui.inverted.blue.basic.button:hover {
  box-shadow: 0 0 0 2px #21b8ff inset;
  color: #54c8ff;
}
.ui.inverted.blue.basic.buttons .button:focus,
.ui.inverted.blue.basic.buttons .button:focus,
.ui.inverted.blue.basic.button:focus {
  box-shadow: 0 0 0 2px #2bbbff inset;
  color: #54c8ff;
}
.ui.inverted.blue.basic.buttons .active.button,
.ui.inverted.blue.buttons .basic.active.button,
.ui.inverted.blue.basic.active.button {
  box-shadow: 0 0 0 2px #3ac0ff inset;
  color: #54c8ff;
}
.ui.inverted.blue.basic.buttons .button:active,
.ui.inverted.blue.buttons .basic.button:active,
.ui.inverted.blue.basic.button:active {
  box-shadow: 0 0 0 2px #21b8ff inset;
  color: #54c8ff;
}
/* Tertiary */
.ui.tertiary.blue.buttons .button,
.ui.tertiary.blue.buttons .tertiary.button,
.ui.tertiary.blue.button {
  background: transparent;
  box-shadow: none;
  color: #2185d0;
}
.ui.tertiary.blue.buttons .button:hover,
.ui.tertiary.blue.buttons button:hover,
.ui.tertiary.blue.button:hover {
  box-shadow: inset 0 -0.2em 0 #2b75ac;
  color: #2b75ac;
}
.ui.tertiary.blue.buttons .button:focus,
.ui.tertiary.blue.buttons .tertiary.button:focus,
.ui.tertiary.blue.button:focus {
  box-shadow: inset 0 -0.2em 0 #216ea7;
  color: #216ea7;
}
.ui.tertiary.blue.buttons .active.button,
.ui.tertiary.blue.buttons .tertiary.active.button,
.ui.tertiary.blue.active.button,
.ui.tertiary.blue.buttons .button:active,
.ui.tertiary.blue.buttons .tertiary.button:active,
.ui.tertiary.blue.button:active {
  box-shadow: inset 0 -0.2em 0 #007bd8;
  color: #1279c6;
}
.ui.violet.buttons .button,
.ui.violet.button {
  background-color: #6435c9;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.violet.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.violet.buttons .button:hover,
.ui.violet.button:hover {
  background-color: #5829bb;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.violet.buttons .button:focus,
.ui.violet.button:focus {
  background-color: #4f20b5;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.violet.buttons .button:active,
.ui.violet.button:active {
  background-color: #502aa1;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.violet.buttons .active.button,
.ui.violet.buttons .active.button:active,
.ui.violet.active.button,
.ui.violet.button .active.button:active {
  background-color: #5626bf;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.violet.buttons .button,
.ui.basic.violet.button {
  background: transparent;
  box-shadow: 0 0 0 1px #6435c9 inset;
  color: #6435c9;
}
.ui.basic.violet.buttons .button:hover,
.ui.basic.violet.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #5829bb inset;
  color: #5829bb;
}
.ui.basic.violet.buttons .button:focus,
.ui.basic.violet.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #4f20b5 inset;
  color: #5829bb;
}
.ui.basic.violet.buttons .active.button,
.ui.basic.violet.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #5626bf inset;
  color: #502aa1;
}
.ui.basic.violet.buttons .button:active,
.ui.basic.violet.button:active {
  box-shadow: 0 0 0 1px #502aa1 inset;
  color: #502aa1;
}
/* Inverted */
.ui.inverted.violet.buttons .button,
.ui.inverted.violet.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #a291fb inset;
  color: #a291fb;
}
.ui.inverted.violet.buttons .button:hover,
.ui.inverted.violet.button:hover,
.ui.inverted.violet.buttons .button:focus,
.ui.inverted.violet.button:focus,
.ui.inverted.violet.buttons .button.active,
.ui.inverted.violet.button.active,
.ui.inverted.violet.buttons .button:active,
.ui.inverted.violet.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.violet.buttons .button:hover,
.ui.inverted.violet.button:hover {
  background-color: #745aff;
}
.ui.inverted.violet.buttons .button:focus,
.ui.inverted.violet.button:focus {
  background-color: #7d64ff;
}
.ui.inverted.violet.buttons .active.button,
.ui.inverted.violet.active.button {
  background-color: #8a73ff;
}
.ui.inverted.violet.buttons .button:active,
.ui.inverted.violet.button:active {
  background-color: #7860f9;
}
/* Inverted Basic */
.ui.inverted.violet.basic.buttons .button,
.ui.inverted.violet.buttons .basic.button,
.ui.inverted.violet.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.violet.basic.buttons .button:hover,
.ui.inverted.violet.buttons .basic.button:hover,
.ui.inverted.violet.basic.button:hover {
  box-shadow: 0 0 0 2px #745aff inset;
  color: #a291fb;
}
.ui.inverted.violet.basic.buttons .button:focus,
.ui.inverted.violet.basic.buttons .button:focus,
.ui.inverted.violet.basic.button:focus {
  box-shadow: 0 0 0 2px #7d64ff inset;
  color: #a291fb;
}
.ui.inverted.violet.basic.buttons .active.button,
.ui.inverted.violet.buttons .basic.active.button,
.ui.inverted.violet.basic.active.button {
  box-shadow: 0 0 0 2px #8a73ff inset;
  color: #a291fb;
}
.ui.inverted.violet.basic.buttons .button:active,
.ui.inverted.violet.buttons .basic.button:active,
.ui.inverted.violet.basic.button:active {
  box-shadow: 0 0 0 2px #7860f9 inset;
  color: #a291fb;
}
/* Tertiary */
.ui.tertiary.violet.buttons .button,
.ui.tertiary.violet.buttons .tertiary.button,
.ui.tertiary.violet.button {
  background: transparent;
  box-shadow: none;
  color: #6435c9;
}
.ui.tertiary.violet.buttons .button:hover,
.ui.tertiary.violet.buttons button:hover,
.ui.tertiary.violet.button:hover {
  box-shadow: inset 0 -0.2em 0 #6040a5;
  color: #6040a5;
}
.ui.tertiary.violet.buttons .button:focus,
.ui.tertiary.violet.buttons .tertiary.button:focus,
.ui.tertiary.violet.button:focus {
  box-shadow: inset 0 -0.2em 0 #5735a0;
  color: #5735a0;
}
.ui.tertiary.violet.buttons .active.button,
.ui.tertiary.violet.buttons .tertiary.active.button,
.ui.tertiary.violet.active.button,
.ui.tertiary.violet.buttons .button:active,
.ui.tertiary.violet.buttons .tertiary.button:active,
.ui.tertiary.violet.button:active {
  box-shadow: inset 0 -0.2em 0 #4e0fd6;
  color: #5626bf;
}
.ui.purple.buttons .button,
.ui.purple.button {
  background-color: #a333c8;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.purple.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.purple.buttons .button:hover,
.ui.purple.button:hover {
  background-color: #9627ba;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.purple.buttons .button:focus,
.ui.purple.button:focus {
  background-color: #8f1eb4;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.purple.buttons .button:active,
.ui.purple.button:active {
  background-color: #82299f;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.purple.buttons .active.button,
.ui.purple.buttons .active.button:active,
.ui.purple.active.button,
.ui.purple.button .active.button:active {
  background-color: #9724be;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.purple.buttons .button,
.ui.basic.purple.button {
  background: transparent;
  box-shadow: 0 0 0 1px #a333c8 inset;
  color: #a333c8;
}
.ui.basic.purple.buttons .button:hover,
.ui.basic.purple.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #9627ba inset;
  color: #9627ba;
}
.ui.basic.purple.buttons .button:focus,
.ui.basic.purple.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #8f1eb4 inset;
  color: #9627ba;
}
.ui.basic.purple.buttons .active.button,
.ui.basic.purple.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #9724be inset;
  color: #82299f;
}
.ui.basic.purple.buttons .button:active,
.ui.basic.purple.button:active {
  box-shadow: 0 0 0 1px #82299f inset;
  color: #82299f;
}
/* Inverted */
.ui.inverted.purple.buttons .button,
.ui.inverted.purple.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #dc73ff inset;
  color: #dc73ff;
}
.ui.inverted.purple.buttons .button:hover,
.ui.inverted.purple.button:hover,
.ui.inverted.purple.buttons .button:focus,
.ui.inverted.purple.button:focus,
.ui.inverted.purple.buttons .button.active,
.ui.inverted.purple.button.active,
.ui.inverted.purple.buttons .button:active,
.ui.inverted.purple.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.purple.buttons .button:hover,
.ui.inverted.purple.button:hover {
  background-color: #cf40ff;
}
.ui.inverted.purple.buttons .button:focus,
.ui.inverted.purple.button:focus {
  background-color: #d24aff;
}
.ui.inverted.purple.buttons .active.button,
.ui.inverted.purple.active.button {
  background-color: #d65aff;
}
.ui.inverted.purple.buttons .button:active,
.ui.inverted.purple.button:active {
  background-color: #cf40ff;
}
/* Inverted Basic */
.ui.inverted.purple.basic.buttons .button,
.ui.inverted.purple.buttons .basic.button,
.ui.inverted.purple.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.purple.basic.buttons .button:hover,
.ui.inverted.purple.buttons .basic.button:hover,
.ui.inverted.purple.basic.button:hover {
  box-shadow: 0 0 0 2px #cf40ff inset;
  color: #dc73ff;
}
.ui.inverted.purple.basic.buttons .button:focus,
.ui.inverted.purple.basic.buttons .button:focus,
.ui.inverted.purple.basic.button:focus {
  box-shadow: 0 0 0 2px #d24aff inset;
  color: #dc73ff;
}
.ui.inverted.purple.basic.buttons .active.button,
.ui.inverted.purple.buttons .basic.active.button,
.ui.inverted.purple.basic.active.button {
  box-shadow: 0 0 0 2px #d65aff inset;
  color: #dc73ff;
}
.ui.inverted.purple.basic.buttons .button:active,
.ui.inverted.purple.buttons .basic.button:active,
.ui.inverted.purple.basic.button:active {
  box-shadow: 0 0 0 2px #cf40ff inset;
  color: #dc73ff;
}
/* Tertiary */
.ui.tertiary.purple.buttons .button,
.ui.tertiary.purple.buttons .tertiary.button,
.ui.tertiary.purple.button {
  background: transparent;
  box-shadow: none;
  color: #a333c8;
}
.ui.tertiary.purple.buttons .button:hover,
.ui.tertiary.purple.buttons button:hover,
.ui.tertiary.purple.button:hover {
  box-shadow: inset 0 -0.2em 0 #8a3ea4;
  color: #8a3ea4;
}
.ui.tertiary.purple.buttons .button:focus,
.ui.tertiary.purple.buttons .tertiary.button:focus,
.ui.tertiary.purple.button:focus {
  box-shadow: inset 0 -0.2em 0 #84339f;
  color: #84339f;
}
.ui.tertiary.purple.buttons .active.button,
.ui.tertiary.purple.buttons .tertiary.active.button,
.ui.tertiary.purple.active.button,
.ui.tertiary.purple.buttons .button:active,
.ui.tertiary.purple.buttons .tertiary.button:active,
.ui.tertiary.purple.button:active {
  box-shadow: inset 0 -0.2em 0 #a30dd4;
  color: #9724be;
}
.ui.pink.buttons .button,
.ui.pink.button {
  background-color: #e03997;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.pink.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.pink.buttons .button:hover,
.ui.pink.button:hover {
  background-color: #e61a8d;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.pink.buttons .button:focus,
.ui.pink.button:focus {
  background-color: #e10f85;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.pink.buttons .button:active,
.ui.pink.button:active {
  background-color: #c71f7e;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.pink.buttons .active.button,
.ui.pink.buttons .active.button:active,
.ui.pink.active.button,
.ui.pink.button .active.button:active {
  background-color: #ea158d;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.pink.buttons .button,
.ui.basic.pink.button {
  background: transparent;
  box-shadow: 0 0 0 1px #e03997 inset;
  color: #e03997;
}
.ui.basic.pink.buttons .button:hover,
.ui.basic.pink.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #e61a8d inset;
  color: #e61a8d;
}
.ui.basic.pink.buttons .button:focus,
.ui.basic.pink.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #e10f85 inset;
  color: #e61a8d;
}
.ui.basic.pink.buttons .active.button,
.ui.basic.pink.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #ea158d inset;
  color: #c71f7e;
}
.ui.basic.pink.buttons .button:active,
.ui.basic.pink.button:active {
  box-shadow: 0 0 0 1px #c71f7e inset;
  color: #c71f7e;
}
/* Inverted */
.ui.inverted.pink.buttons .button,
.ui.inverted.pink.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #ff8edf inset;
  color: #ff8edf;
}
.ui.inverted.pink.buttons .button:hover,
.ui.inverted.pink.button:hover,
.ui.inverted.pink.buttons .button:focus,
.ui.inverted.pink.button:focus,
.ui.inverted.pink.buttons .button.active,
.ui.inverted.pink.button.active,
.ui.inverted.pink.buttons .button:active,
.ui.inverted.pink.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.pink.buttons .button:hover,
.ui.inverted.pink.button:hover {
  background-color: #ff5bd1;
}
.ui.inverted.pink.buttons .button:focus,
.ui.inverted.pink.button:focus {
  background-color: #ff65d3;
}
.ui.inverted.pink.buttons .active.button,
.ui.inverted.pink.active.button {
  background-color: #ff74d8;
}
.ui.inverted.pink.buttons .button:active,
.ui.inverted.pink.button:active {
  background-color: #ff5bd1;
}
/* Inverted Basic */
.ui.inverted.pink.basic.buttons .button,
.ui.inverted.pink.buttons .basic.button,
.ui.inverted.pink.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.pink.basic.buttons .button:hover,
.ui.inverted.pink.buttons .basic.button:hover,
.ui.inverted.pink.basic.button:hover {
  box-shadow: 0 0 0 2px #ff5bd1 inset;
  color: #ff8edf;
}
.ui.inverted.pink.basic.buttons .button:focus,
.ui.inverted.pink.basic.buttons .button:focus,
.ui.inverted.pink.basic.button:focus {
  box-shadow: 0 0 0 2px #ff65d3 inset;
  color: #ff8edf;
}
.ui.inverted.pink.basic.buttons .active.button,
.ui.inverted.pink.buttons .basic.active.button,
.ui.inverted.pink.basic.active.button {
  box-shadow: 0 0 0 2px #ff74d8 inset;
  color: #ff8edf;
}
.ui.inverted.pink.basic.buttons .button:active,
.ui.inverted.pink.buttons .basic.button:active,
.ui.inverted.pink.basic.button:active {
  box-shadow: 0 0 0 2px #ff5bd1 inset;
  color: #ff8edf;
}
/* Tertiary */
.ui.tertiary.pink.buttons .button,
.ui.tertiary.pink.buttons .tertiary.button,
.ui.tertiary.pink.button {
  background: transparent;
  box-shadow: none;
  color: #e03997;
}
.ui.tertiary.pink.buttons .button:hover,
.ui.tertiary.pink.buttons button:hover,
.ui.tertiary.pink.button:hover {
  box-shadow: inset 0 -0.2em 0 #cc3389;
  color: #cc3389;
}
.ui.tertiary.pink.buttons .button:focus,
.ui.tertiary.pink.buttons .tertiary.button:focus,
.ui.tertiary.pink.button:focus {
  box-shadow: inset 0 -0.2em 0 #c92782;
  color: #c92782;
}
.ui.tertiary.pink.buttons .active.button,
.ui.tertiary.pink.buttons .tertiary.active.button,
.ui.tertiary.pink.active.button,
.ui.tertiary.pink.buttons .button:active,
.ui.tertiary.pink.buttons .tertiary.button:active,
.ui.tertiary.pink.button:active {
  box-shadow: inset 0 -0.2em 0 #ff0090;
  color: #ea158d;
}
.ui.brown.buttons .button,
.ui.brown.button {
  background-color: #a5673f;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.brown.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.brown.buttons .button:hover,
.ui.brown.button:hover {
  background-color: #975b33;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.brown.buttons .button:focus,
.ui.brown.button:focus {
  background-color: #90532b;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.brown.buttons .button:active,
.ui.brown.button:active {
  background-color: #805031;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.brown.buttons .active.button,
.ui.brown.buttons .active.button:active,
.ui.brown.active.button,
.ui.brown.button .active.button:active {
  background-color: #995a31;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.brown.buttons .button,
.ui.basic.brown.button {
  background: transparent;
  box-shadow: 0 0 0 1px #a5673f inset;
  color: #a5673f;
}
.ui.basic.brown.buttons .button:hover,
.ui.basic.brown.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #975b33 inset;
  color: #975b33;
}
.ui.basic.brown.buttons .button:focus,
.ui.basic.brown.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #90532b inset;
  color: #975b33;
}
.ui.basic.brown.buttons .active.button,
.ui.basic.brown.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #995a31 inset;
  color: #805031;
}
.ui.basic.brown.buttons .button:active,
.ui.basic.brown.button:active {
  box-shadow: 0 0 0 1px #805031 inset;
  color: #805031;
}
/* Inverted */
.ui.inverted.brown.buttons .button,
.ui.inverted.brown.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #d67c1c inset;
  color: #d67c1c;
}
.ui.inverted.brown.buttons .button:hover,
.ui.inverted.brown.button:hover,
.ui.inverted.brown.buttons .button:focus,
.ui.inverted.brown.button:focus,
.ui.inverted.brown.buttons .button.active,
.ui.inverted.brown.button.active,
.ui.inverted.brown.buttons .button:active,
.ui.inverted.brown.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.brown.buttons .button:hover,
.ui.inverted.brown.button:hover {
  background-color: #b0620f;
}
.ui.inverted.brown.buttons .button:focus,
.ui.inverted.brown.button:focus {
  background-color: #c16808;
}
.ui.inverted.brown.buttons .active.button,
.ui.inverted.brown.active.button {
  background-color: #cc6f0d;
}
.ui.inverted.brown.buttons .button:active,
.ui.inverted.brown.button:active {
  background-color: #a96216;
}
/* Inverted Basic */
.ui.inverted.brown.basic.buttons .button,
.ui.inverted.brown.buttons .basic.button,
.ui.inverted.brown.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.brown.basic.buttons .button:hover,
.ui.inverted.brown.buttons .basic.button:hover,
.ui.inverted.brown.basic.button:hover {
  box-shadow: 0 0 0 2px #b0620f inset;
  color: #d67c1c;
}
.ui.inverted.brown.basic.buttons .button:focus,
.ui.inverted.brown.basic.buttons .button:focus,
.ui.inverted.brown.basic.button:focus {
  box-shadow: 0 0 0 2px #c16808 inset;
  color: #d67c1c;
}
.ui.inverted.brown.basic.buttons .active.button,
.ui.inverted.brown.buttons .basic.active.button,
.ui.inverted.brown.basic.active.button {
  box-shadow: 0 0 0 2px #cc6f0d inset;
  color: #d67c1c;
}
.ui.inverted.brown.basic.buttons .button:active,
.ui.inverted.brown.buttons .basic.button:active,
.ui.inverted.brown.basic.button:active {
  box-shadow: 0 0 0 2px #a96216 inset;
  color: #d67c1c;
}
/* Tertiary */
.ui.tertiary.brown.buttons .button,
.ui.tertiary.brown.buttons .tertiary.button,
.ui.tertiary.brown.button {
  background: transparent;
  box-shadow: none;
  color: #a5673f;
}
.ui.tertiary.brown.buttons .button:hover,
.ui.tertiary.brown.buttons button:hover,
.ui.tertiary.brown.button:hover {
  box-shadow: inset 0 -0.2em 0 #835f48;
  color: #835f48;
}
.ui.tertiary.brown.buttons .button:focus,
.ui.tertiary.brown.buttons .tertiary.button:focus,
.ui.tertiary.brown.button:focus {
  box-shadow: inset 0 -0.2em 0 #7d573e;
  color: #7d573e;
}
.ui.tertiary.brown.buttons .active.button,
.ui.tertiary.brown.buttons .tertiary.active.button,
.ui.tertiary.brown.active.button,
.ui.tertiary.brown.buttons .button:active,
.ui.tertiary.brown.buttons .tertiary.button:active,
.ui.tertiary.brown.button:active {
  box-shadow: inset 0 -0.2em 0 #ae561d;
  color: #995a31;
}
.ui.grey.buttons .button,
.ui.grey.button {
  background-color: #767676;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.grey.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.grey.buttons .button:hover,
.ui.grey.button:hover {
  background-color: #838383;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.grey.buttons .button:focus,
.ui.grey.button:focus {
  background-color: #8a8a8a;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.grey.buttons .button:active,
.ui.grey.button:active {
  background-color: #909090;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.grey.buttons .active.button,
.ui.grey.buttons .active.button:active,
.ui.grey.active.button,
.ui.grey.button .active.button:active {
  background-color: #696969;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.grey.buttons .button,
.ui.basic.grey.button {
  background: transparent;
  box-shadow: 0 0 0 1px #767676 inset;
  color: #767676;
}
.ui.basic.grey.buttons .button:hover,
.ui.basic.grey.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #838383 inset;
  color: #838383;
}
.ui.basic.grey.buttons .button:focus,
.ui.basic.grey.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #8a8a8a inset;
  color: #838383;
}
.ui.basic.grey.buttons .active.button,
.ui.basic.grey.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #696969 inset;
  color: #909090;
}
.ui.basic.grey.buttons .button:active,
.ui.basic.grey.button:active {
  box-shadow: 0 0 0 1px #909090 inset;
  color: #909090;
}
/* Inverted */
.ui.inverted.grey.buttons .button,
.ui.inverted.grey.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #d4d4d5 inset;
  color: #FFFFFF;
}
.ui.inverted.grey.buttons .button:hover,
.ui.inverted.grey.button:hover,
.ui.inverted.grey.buttons .button:focus,
.ui.inverted.grey.button:focus,
.ui.inverted.grey.buttons .button.active,
.ui.inverted.grey.button.active,
.ui.inverted.grey.buttons .button:active,
.ui.inverted.grey.button:active {
  box-shadow: none;
  color: rgba(0, 0, 0, 0.6);
}
.ui.inverted.grey.buttons .button:hover,
.ui.inverted.grey.button:hover {
  background-color: #c2c4c5;
}
.ui.inverted.grey.buttons .button:focus,
.ui.inverted.grey.button:focus {
  background-color: #c7c9cb;
}
.ui.inverted.grey.buttons .active.button,
.ui.inverted.grey.active.button {
  background-color: #cfd0d2;
}
.ui.inverted.grey.buttons .button:active,
.ui.inverted.grey.button:active {
  background-color: #c2c4c5;
}
/* Inverted Basic */
.ui.inverted.grey.basic.buttons .button,
.ui.inverted.grey.buttons .basic.button,
.ui.inverted.grey.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.grey.basic.buttons .button:hover,
.ui.inverted.grey.buttons .basic.button:hover,
.ui.inverted.grey.basic.button:hover {
  box-shadow: 0 0 0 2px #c2c4c5 inset;
  color: #FFFFFF;
}
.ui.inverted.grey.basic.buttons .button:focus,
.ui.inverted.grey.basic.buttons .button:focus,
.ui.inverted.grey.basic.button:focus {
  box-shadow: 0 0 0 2px #c7c9cb inset;
  color: #dcddde;
}
.ui.inverted.grey.basic.buttons .active.button,
.ui.inverted.grey.buttons .basic.active.button,
.ui.inverted.grey.basic.active.button {
  box-shadow: 0 0 0 2px #cfd0d2 inset;
  color: #FFFFFF;
}
.ui.inverted.grey.basic.buttons .button:active,
.ui.inverted.grey.buttons .basic.button:active,
.ui.inverted.grey.basic.button:active {
  box-shadow: 0 0 0 2px #c2c4c5 inset;
  color: #FFFFFF;
}
/* Tertiary */
.ui.tertiary.grey.buttons .button,
.ui.tertiary.grey.buttons .tertiary.button,
.ui.tertiary.grey.button {
  background: transparent;
  box-shadow: none;
  color: #767676;
}
.ui.tertiary.grey.buttons .button:hover,
.ui.tertiary.grey.buttons button:hover,
.ui.tertiary.grey.button:hover {
  box-shadow: inset 0 -0.2em 0 #909090;
  color: #909090;
}
.ui.tertiary.grey.buttons .button:focus,
.ui.tertiary.grey.buttons .tertiary.button:focus,
.ui.tertiary.grey.button:focus {
  box-shadow: inset 0 -0.2em 0 #9f9f9f;
  color: #9f9f9f;
}
.ui.tertiary.grey.buttons .active.button,
.ui.tertiary.grey.buttons .tertiary.active.button,
.ui.tertiary.grey.active.button,
.ui.tertiary.grey.buttons .button:active,
.ui.tertiary.grey.buttons .tertiary.button:active,
.ui.tertiary.grey.button:active {
  box-shadow: inset 0 -0.2em 0 #5d5d5d;
  color: #696969;
}
.ui.black.buttons .button,
.ui.black.button {
  background-color: #1b1c1d;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.black.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.black.buttons .button:hover,
.ui.black.button:hover {
  background-color: #27292a;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.black.buttons .button:focus,
.ui.black.button:focus {
  background-color: #2f3032;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.black.buttons .button:active,
.ui.black.button:active {
  background-color: #343637;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.black.buttons .active.button,
.ui.black.buttons .active.button:active,
.ui.black.active.button,
.ui.black.button .active.button:active {
  background-color: #0f0f10;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.black.buttons .button,
.ui.basic.black.button {
  background: transparent;
  box-shadow: 0 0 0 1px #1b1c1d inset;
  color: #1b1c1d;
}
.ui.basic.black.buttons .button:hover,
.ui.basic.black.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #27292a inset;
  color: #27292a;
}
.ui.basic.black.buttons .button:focus,
.ui.basic.black.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #2f3032 inset;
  color: #27292a;
}
.ui.basic.black.buttons .active.button,
.ui.basic.black.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #0f0f10 inset;
  color: #343637;
}
.ui.basic.black.buttons .button:active,
.ui.basic.black.button:active {
  box-shadow: 0 0 0 1px #343637 inset;
  color: #343637;
}
/* Inverted */
.ui.inverted.black.buttons .button,
.ui.inverted.black.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px #d4d4d5 inset;
  color: #FFFFFF;
}
.ui.inverted.black.buttons .button:hover,
.ui.inverted.black.button:hover,
.ui.inverted.black.buttons .button:focus,
.ui.inverted.black.button:focus,
.ui.inverted.black.buttons .button.active,
.ui.inverted.black.button.active,
.ui.inverted.black.buttons .button:active,
.ui.inverted.black.button:active {
  box-shadow: none;
  color: #FFFFFF;
}
.ui.inverted.black.buttons .button:hover,
.ui.inverted.black.button:hover {
  background-color: #000000;
}
.ui.inverted.black.buttons .button:focus,
.ui.inverted.black.button:focus {
  background-color: #000000;
}
.ui.inverted.black.buttons .active.button,
.ui.inverted.black.active.button {
  background-color: #000000;
}
.ui.inverted.black.buttons .button:active,
.ui.inverted.black.button:active {
  background-color: #000000;
}
/* Inverted Basic */
.ui.inverted.black.basic.buttons .button,
.ui.inverted.black.buttons .basic.button,
.ui.inverted.black.basic.button {
  background-color: transparent;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset;
  color: #FFFFFF;
}
.ui.inverted.black.basic.buttons .button:hover,
.ui.inverted.black.buttons .basic.button:hover,
.ui.inverted.black.basic.button:hover {
  box-shadow: 0 0 0 2px #000000 inset;
  color: #FFFFFF;
}
.ui.inverted.black.basic.buttons .button:focus,
.ui.inverted.black.basic.buttons .button:focus,
.ui.inverted.black.basic.button:focus {
  box-shadow: 0 0 0 2px #000000 inset;
  color: #545454;
}
.ui.inverted.black.basic.buttons .active.button,
.ui.inverted.black.buttons .basic.active.button,
.ui.inverted.black.basic.active.button {
  box-shadow: 0 0 0 2px #000000 inset;
  color: #FFFFFF;
}
.ui.inverted.black.basic.buttons .button:active,
.ui.inverted.black.buttons .basic.button:active,
.ui.inverted.black.basic.button:active {
  box-shadow: 0 0 0 2px #000000 inset;
  color: #FFFFFF;
}
/* Tertiary */
.ui.tertiary.black.buttons .button,
.ui.tertiary.black.buttons .tertiary.button,
.ui.tertiary.black.button {
  background: transparent;
  box-shadow: none;
  color: #1b1c1d;
}
.ui.tertiary.black.buttons .button:hover,
.ui.tertiary.black.buttons button:hover,
.ui.tertiary.black.button:hover {
  box-shadow: inset 0 -0.2em 0 #8b8f93;
  color: #8b8f93;
}
.ui.tertiary.black.buttons .button:focus,
.ui.tertiary.black.buttons .tertiary.button:focus,
.ui.tertiary.black.button:focus {
  box-shadow: inset 0 -0.2em 0 #93969a;
  color: #93969a;
}
.ui.tertiary.black.buttons .active.button,
.ui.tertiary.black.buttons .tertiary.active.button,
.ui.tertiary.black.active.button,
.ui.tertiary.black.buttons .button:active,
.ui.tertiary.black.buttons .tertiary.button:active,
.ui.tertiary.black.button:active {
  box-shadow: inset 0 -0.2em 0 #404245;
  color: #0f0f10;
}
/* Standard */
.ui.positive.buttons .button,
.ui.positive.button {
  background-color: #21ba45;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.positive.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.positive.buttons .button:hover,
.ui.positive.button:hover {
  background-color: #16ab39;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.positive.buttons .button:focus,
.ui.positive.button:focus {
  background-color: #0ea432;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.positive.buttons .button:active,
.ui.positive.button:active {
  background-color: #198f35;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.positive.buttons .active.button,
.ui.positive.buttons .active.button:active,
.ui.positive.active.button,
.ui.positive.button .active.button:active {
  background-color: #13ae38;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.positive.buttons .button,
.ui.basic.positive.button {
  background: transparent;
  box-shadow: 0 0 0 1px #21ba45 inset;
  color: #21ba45;
}
.ui.basic.positive.buttons .button:hover,
.ui.basic.positive.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #16ab39 inset;
  color: #16ab39;
}
.ui.basic.positive.buttons .button:focus,
.ui.basic.positive.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #0ea432 inset;
  color: #16ab39;
}
.ui.basic.positive.buttons .active.button,
.ui.basic.positive.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #13ae38 inset;
  color: #198f35;
}
.ui.basic.positive.buttons .button:active,
.ui.basic.positive.button:active {
  box-shadow: 0 0 0 1px #198f35 inset;
  color: #198f35;
}
.ui.buttons:not(.vertical) > .basic.positive.button:not(:first-child) {
  margin-left: -1px;
}
/* Standard */
.ui.negative.buttons .button,
.ui.negative.button {
  background-color: #db2828;
  color: #FFFFFF;
  text-shadow: none;
  background-image: none;
}
.ui.negative.button {
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.negative.buttons .button:hover,
.ui.negative.button:hover {
  background-color: #d01919;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.negative.buttons .button:focus,
.ui.negative.button:focus {
  background-color: #ca1010;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.negative.buttons .button:active,
.ui.negative.button:active {
  background-color: #b21e1e;
  color: #FFFFFF;
  text-shadow: none;
}
.ui.negative.buttons .active.button,
.ui.negative.buttons .active.button:active,
.ui.negative.active.button,
.ui.negative.button .active.button:active {
  background-color: #d41515;
  color: #FFFFFF;
  text-shadow: none;
}
/* Basic */
.ui.basic.negative.buttons .button,
.ui.basic.negative.button {
  background: transparent;
  box-shadow: 0 0 0 1px #db2828 inset;
  color: #db2828;
}
.ui.basic.negative.buttons .button:hover,
.ui.basic.negative.button:hover {
  background: transparent;
  box-shadow: 0 0 0 1px #d01919 inset;
  color: #d01919;
}
.ui.basic.negative.buttons .button:focus,
.ui.basic.negative.button:focus {
  background: transparent;
  box-shadow: 0 0 0 1px #ca1010 inset;
  color: #d01919;
}
.ui.basic.negative.buttons .active.button,
.ui.basic.negative.active.button {
  background: transparent;
  box-shadow: 0 0 0 1px #d41515 inset;
  color: #b21e1e;
}
.ui.basic.negative.buttons .button:active,
.ui.basic.negative.button:active {
  box-shadow: 0 0 0 1px #b21e1e inset;
  color: #b21e1e;
}
.ui.buttons:not(.vertical) > .basic.negative.button:not(:first-child) {
  margin-left: -1px;
}
/*******************************
                Groups
    *******************************/
.ui.buttons {
  display: inline-flex;
  flex-direction: row;
  font-size: 0;
  vertical-align: baseline;
  margin: 0 0.25em 0 0;
}
.ui.buttons:not(.basic):not(.inverted) {
  box-shadow: none;
}
/* Clearfix */
.ui.buttons::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/* Standard Group */
.ui.buttons .button {
  flex: 1 0 auto;
  border-radius: 0;
  margin: 0;
}
.ui.buttons:not(.basic):not(.inverted) > .button:not(.basic):not(.inverted) {
  box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
}
.ui.buttons .button:first-child {
  border-left: none;
  margin-left: 0;
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}
.ui.buttons .button:last-child {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
/* Vertical Style */
.ui.vertical.buttons {
  display: inline-flex;
  flex-direction: column;
}
.ui.vertical.buttons .button {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  border-radius: 0;
}
.ui.vertical.buttons .button:not(.basic) {
  box-shadow: none;
}
.ui.vertical.buttons .button:first-child {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem;
}
.ui.vertical.buttons .button:last-child {
  margin-bottom: 0;
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.vertical.buttons .button:only-child {
  border-radius: 0.28571429rem;
}
.ui.vertical.buttons .basic.button:not(:first-child) {
  border-top: none;
}
.ui.wrapping.buttons {
  flex-wrap: wrap;
}
.ui.wrapping.basic.buttons {
  border-bottom: none;
}
.ui.wrapping.basic.buttons .button {
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.wrapping.basic.buttons .button:hover {
  background: transparent !important;
}
.ui.compact.wrapping.buttons .button {
  flex: none;
}
.ui.wrapped.buttons:not(.spaced) {
  border-top-right-radius: 0;
}
.ui.wrapped.buttons:not(.spaced) .button:first-child {
  border-radius: 0.28571429rem 0 0 0;
}
.ui.wrapped.buttons:not(.spaced) .button:last-child {
  border-radius: 0 0 0.28571429rem 0;
}
.ui.wrapped[class*="top attached"].buttons {
  border-radius: 0.28571429rem 0 0 0;
}
.ui.wrapped[class*="top attached"].buttons .button:last-child {
  border-radius: 0;
}
.ui.wrapped[class*="bottom attached"].buttons {
  border-radius: 0 0 0 0.28571429rem;
}
.ui.wrapped[class*="bottom attached"].buttons .button:first-child {
  border-radius: 0;
}
.ui.spaced.buttons .ui.button {
  margin-bottom: 1em;
  margin-right: 1em;
  border-radius: 0.28571429rem;
}
.ui.spaced.basic.buttons {
  border: none;
}
.ui.spaced.basic.buttons .button {
  border: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.spaced.basic.buttons .button.basic {
  border: none;
}
.ui.spaced.basic.vertical.buttons .button:first-child {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.spaced.basic.wrapping.buttons .button:not(.basic) {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.spaced.basic.wrapping.buttons .button:not(.basic):first-child {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.spaced.basic.inverted.buttons .basic.button {
  margin-bottom: calc(1em + 1px);
  margin-top: 1px;
}
.ui.basic.buttons:not(.vertical).inverted .button,
.ui.basic.buttons:not(.vertical) .basic.button {
  margin-left: -1px;
  border-right: none;
}
.ui.basic.buttons:not(.vertical):not(.spaced):not(.inverted) .basic.button {
  margin-top: -1px;
  border-bottom: none;
}
.ui.inverted.basic.buttons:not(.spaced) .button,
.ui.attached.basic.buttons:not(.wrapping):not(.inverted) .basic.button {
  margin-bottom: -1px;
}
.ui.basic.buttons:not(.vertical):not(.attached):not(.spaced):not(.wrapping):not(.inverted) .basic.button {
  margin-bottom: -1px;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Container
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Container
*******************************/
/* -------------------
       Element
-------------------- */
/* Minimum Gutter is used to determine the maximum container width for a given device */
/* Devices */
/* Coupling (Add Negative Margin to container size) */
/* -------------------
       Types
-------------------- */
/* Text */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Container
*******************************/
/* All Sizes */
.ui.container {
  display: block;
  max-width: 100%;
}
/* Mobile */
@media only screen and (max-width: 767.98px) {
  .ui.ui.ui.container:not(.fluid) {
    width: auto;
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.ui.ui.grid.container {
    width: auto;
  }
  .ui.ui.ui.relaxed.grid.container {
    width: auto;
  }
  .ui.ui.ui.very.relaxed.grid.container {
    width: auto;
  }
}
/* Tablet */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.ui.ui.container:not(.fluid) {
    width: 723px;
    margin-left: auto;
    margin-right: auto;
  }
  .ui.ui.ui.grid.container {
    width: calc(723px + 2rem);
  }
  .ui.ui.ui.relaxed.grid.container {
    width: calc(723px + 3rem);
  }
  .ui.ui.ui.very.relaxed.grid.container {
    width: calc(723px + 5rem);
  }
}
/* Small Monitor */
@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
  .ui.ui.ui.container:not(.fluid) {
    width: 933px;
    margin-left: auto;
    margin-right: auto;
  }
  .ui.ui.ui.grid.container {
    width: calc(933px + 2rem);
  }
  .ui.ui.ui.relaxed.grid.container {
    width: calc(933px + 3rem);
  }
  .ui.ui.ui.very.relaxed.grid.container {
    width: calc(933px + 5rem);
  }
}
/* Large Monitor */
@media only screen and (min-width: 1200px) {
  .ui.ui.ui.container:not(.fluid) {
    width: 1127px;
    margin-left: auto;
    margin-right: auto;
  }
  .ui.ui.ui.grid.container {
    width: calc(1127px + 2rem);
  }
  .ui.ui.ui.relaxed.grid.container {
    width: calc(1127px + 3rem);
  }
  .ui.ui.ui.very.relaxed.grid.container {
    width: calc(1127px + 5rem);
  }
}
/*******************************
             Types
*******************************/
/* Text Container */
.ui.text.container {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  max-width: 700px;
  line-height: 1.5;
  font-size: 1.14285714rem;
}
/* Wide Container */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.ui.ui.wide.container {
    width: 867.6px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
  .ui.ui.ui.wide.container {
    width: 1119.6px;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.ui.ui.wide.container {
    width: 1352.4px;
  }
}
/* Fluid */
.ui.fluid.container {
  width: 100%;
}
/*******************************
           Variations
*******************************/
.ui[class*="left aligned"].container {
  text-align: left;
}
.ui[class*="center aligned"].container {
  text-align: center;
}
.ui[class*="right aligned"].container {
  text-align: right;
}
.ui.justified.container {
  text-align: justify;
  -webkit-hyphens: auto;
          hyphens: auto;
}
/* --------------
      Scrolling
    --------------- */
.ui.scrolling.container {
  overflow: auto;
  overscroll-behavior: none;
}
@media only screen and (max-width: 767.98px) {
  .ui.scrolling.container.short {
    max-height: 11.25em;
  }
  .ui.scrolling.container.short.resizable {
    height: 11.25em;
  }
  .ui.scrolling.container[class*="very short"] {
    max-height: 7.5em;
  }
  .ui.scrolling.container[class*="very short"].resizable {
    height: 7.5em;
  }
  .ui.scrolling.container {
    max-height: 15em;
  }
  .ui.scrolling.container.long {
    max-height: 30em;
  }
  .ui.scrolling.container.long.resizable {
    height: 30em;
  }
  .ui.scrolling.container[class*="very long"] {
    max-height: 45em;
  }
  .ui.scrolling.container[class*="very long"].resizable {
    height: 45em;
  }
}
@media only screen and (min-width: 768px) {
  .ui.scrolling.container.short {
    max-height: 13.5em;
  }
  .ui.scrolling.container.short.resizable {
    height: 13.5em;
  }
  .ui.scrolling.container[class*="very short"] {
    max-height: 9em;
  }
  .ui.scrolling.container[class*="very short"].resizable {
    height: 9em;
  }
  .ui.scrolling.container {
    max-height: 18em;
  }
  .ui.scrolling.container.resizable {
    height: 18em;
  }
  .ui.scrolling.container.long {
    max-height: 36em;
  }
  .ui.scrolling.container.long.resizable {
    height: 36em;
  }
  .ui.scrolling.container[class*="very long"] {
    max-height: 54em;
  }
  .ui.scrolling.container[class*="very long"].resizable {
    height: 54em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.scrolling.container.short {
    max-height: 18em;
  }
  .ui.scrolling.container.short.resizable {
    height: 18em;
  }
  .ui.scrolling.container[class*="very short"] {
    max-height: 12em;
  }
  .ui.scrolling.container[class*="very short"].resizable {
    height: 12em;
  }
  .ui.scrolling.container {
    max-height: 24em;
  }
  .ui.scrolling.container.resizable {
    height: 24em;
  }
  .ui.scrolling.container.long {
    max-height: 48em;
  }
  .ui.scrolling.container.long.resizable {
    height: 48em;
  }
  .ui.scrolling.container[class*="very long"] {
    max-height: 72em;
  }
  .ui.scrolling.container[class*="very long"].resizable {
    height: 72em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.scrolling.container.short {
    max-height: 22.5em;
  }
  .ui.scrolling.container.short.resizable {
    height: 22.5em;
  }
  .ui.scrolling.container[class*="very short"] {
    max-height: 15em;
  }
  .ui.scrolling.container[class*="very short"].resizable {
    height: 15em;
  }
  .ui.scrolling.container {
    max-height: 30em;
  }
  .ui.scrolling.container.resizable {
    height: 30em;
  }
  .ui.scrolling.container.long {
    max-height: 60em;
  }
  .ui.scrolling.container.long.resizable {
    height: 60em;
  }
  .ui.scrolling.container[class*="very long"] {
    max-height: 90em;
  }
  .ui.scrolling.container[class*="very long"].resizable {
    height: 90em;
  }
}
.ui.resizable.scrolling.container {
  resize: vertical;
  max-height: none;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Divider
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Divider
*******************************/
/* -------------------
       Element
-------------------- */
/* Text */
/* -------------------
       Coupling
-------------------- */
/* Icon */
/*******************************
         Variations
*******************************/
/* Horizontal / Vertical */
/* Inverted */
/* Section */
/* Sizes */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Divider
*******************************/
.ui.divider {
  margin: 1rem 0;
  line-height: 1;
  height: 0;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(0, 0, 0, 0.85);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* --------------
      Basic
--------------- */
.ui.divider:not(.vertical):not(.horizontal) {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* --------------
    Coupling
--------------- */
/* Allow divider between each column row */
.ui.grid > .column + .divider:not(.vertical),
.ui.grid > .row > .column + .divider:not(.vertical) {
  left: auto;
}
/* --------------
       Horizontal
    --------------- */
.ui.horizontal.divider {
  display: table;
  white-space: nowrap;
  height: auto;
  margin: "";
  line-height: 1;
  text-align: center;
}
.ui.horizontal.divider::before,
.ui.horizontal.divider::after {
  content: "";
  display: table-cell;
  position: relative;
  top: 50%;
  width: 50%;
  background-repeat: no-repeat;
}
.ui.horizontal.divider::before {
  background-position: right 1em top 50%;
}
.ui.horizontal.divider::after {
  background-position: left 1em top 50%;
}
/* --------------
        Vertical
    --------------- */
.ui.vertical.divider {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  margin: 0;
  padding: 0;
  width: auto;
  height: 50%;
  line-height: 0;
  text-align: center;
  transform: translateX(-50%);
}
.ui.vertical.divider::before,
.ui.vertical.divider::after {
  position: absolute;
  left: 50%;
  content: "";
  z-index: 3;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  width: 0;
  height: calc(100% - 1rem);
}
.ui.vertical.divider::before {
  top: -100%;
}
.ui.vertical.divider::after {
  top: auto;
  bottom: 0;
}
/* Inside grid */
.ui.stackable.grid .ui.vertical.divider,
.ui.grid .stackable.row .ui.vertical.divider {
  flex: 1;
}
@media only screen and (max-width: 767.98px) {
  .ui.stackable.grid .column + .ui.vertical.divider,
  .ui.grid .stackable.row .column + .ui.vertical.divider {
    margin: 1rem;
  }
  .ui.stackable.grid .ui.vertical.divider,
  .ui.grid .stackable.row .ui.vertical.divider {
    display: table;
    white-space: nowrap;
    height: auto;
    margin: "";
    overflow: hidden;
    line-height: 1;
    text-align: center;
    position: static;
    top: 0;
    left: 0;
    transform: none;
  }
  .ui.stackable.grid .ui.vertical.divider::before,
  .ui.grid .stackable.row .ui.vertical.divider::before,
  .ui.stackable.grid .ui.vertical.divider::after,
  .ui.grid .stackable.row .ui.vertical.divider::after {
    left: 0;
    border-left: none;
    border-right: none;
    content: "";
    display: table-cell;
    position: relative;
    top: 50%;
    width: 50%;
    background-repeat: no-repeat;
  }
  .ui.stackable.grid .ui.vertical.divider::before,
  .ui.grid .stackable.row .ui.vertical.divider::before {
    background-position: right 1em top 50%;
  }
  .ui.stackable.grid .ui.vertical.divider::after,
  .ui.grid .stackable.row .ui.vertical.divider::after {
    background-position: left 1em top 50%;
  }
}
/* --------------
          Icon
    --------------- */
.ui.divider > .icon {
  margin: 0;
  font-size: 1rem;
  height: 1em;
  vertical-align: middle;
}
/* --------------
         Header
    --------------- */
.ui.horizontal.divider[class*="left aligned"]::before {
  display: none;
}
.ui.horizontal.divider[class*="left aligned"]::after {
  width: 100%;
}
.ui.horizontal.divider[class*="right aligned"]::before {
  width: 100%;
}
.ui.horizontal.divider[class*="right aligned"]::after {
  display: none;
}
/*******************************
          Variations
*******************************/
/* --------------
        Hidden
    --------------- */
.ui.hidden.divider {
  border-color: transparent !important;
}
.ui.hidden.divider::before,
.ui.hidden.divider::after {
  display: none;
}
/* --------------
    Inverted
--------------- */
.ui.divider.inverted,
.ui.vertical.inverted.divider,
.ui.horizontal.inverted.divider {
  color: #FFFFFF;
}
.ui.divider.inverted,
.ui.divider.inverted::after,
.ui.divider.inverted::before {
  border-color: rgba(34, 36, 38, 0.15) rgba(255, 255, 255, 0.15) rgba(255, 255, 255, 0.15) rgba(34, 36, 38, 0.15) !important;
}
/* --------------
    Fitted
--------------- */
.ui.fitted.divider {
  margin: 0;
}
/* --------------
        Clearing
    --------------- */
.ui.clearing.divider {
  clear: both;
}
/* --------------
        Section
    --------------- */
.ui.section.divider {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
/* --------------
     Sizes
--------------- */
.ui.divider {
  font-size: 1rem;
}
.ui.mini.divider {
  font-size: 0.78571429rem;
}
.ui.tiny.divider {
  font-size: 0.85714286rem;
}
.ui.small.divider {
  font-size: 0.92857143rem;
}
.ui.large.divider {
  font-size: 1.14285714rem;
}
.ui.big.divider {
  font-size: 1.28571429rem;
}
.ui.huge.divider {
  font-size: 1.42857143rem;
}
.ui.massive.divider {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
.ui.horizontal.divider::before,
.ui.horizontal.divider::after {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC);
}
@media only screen and (max-width: 767px) {
  .ui.stackable.grid .ui.vertical.divider::before,
  .ui.grid .stackable.row .ui.vertical.divider::before,
  .ui.stackable.grid .ui.vertical.divider::after,
  .ui.grid .stackable.row .ui.vertical.divider::after {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC);
  }
}
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Emoji
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*
* Twemoji v15.1 by @jdecked - https://github.com/jdecked/twemoji
* License - MIT, CC-BY 4.0 - https://creativecommons.org/licenses/by/4.0/
*/
/*******************************
             Emoji
*******************************/
/* --------------
    Path
--------------- */
/* --------------
   Definition
--------------- */
/* Emoji Variables */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Emoji
*******************************/
em[data-emoji] {
  opacity: 1;
  speak: none;
  backface-visibility: hidden;
}
em[data-emoji]::before {
  content: "\00A0\00A0\00A0\00A0\00A0\00A0\00A0";
  display: inline-block;
  line-height: 1em;
  background-repeat: no-repeat;
  background-position: center center;
}
/*******************************
             States
*******************************/
em[data-emoji].disabled {
  opacity: 0.45;
}
/*******************************
           Variations
*******************************/
em[data-emoji].loading::before {
  animation: loader 2s linear infinite;
}
/* -------------------
             Link
    -------------------- */
em[data-emoji].link:not(.disabled) {
  cursor: pointer;
}
/* rtl:begin:ignore */
em[data-emoji].small {
  font-size: 1.5em;
  vertical-align: middle;
}
em[data-emoji].medium {
  font-size: 3em;
  vertical-align: middle;
}
em[data-emoji].large {
  font-size: 6em;
  vertical-align: middle;
}
em[data-emoji].big {
  font-size: 7.5em;
  vertical-align: middle;
}
em[data-emoji=":interrobang:"]::before,
em[data-emoji="interrobang"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2049.svg");
}
em[data-emoji=":tm:"]::before,
em[data-emoji="tm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2122.svg");
}
em[data-emoji=":information_source:"]::before,
em[data-emoji="information_source"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2139.svg");
}
em[data-emoji=":left_right_arrow:"]::before,
em[data-emoji="left_right_arrow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2194.svg");
}
em[data-emoji=":arrow_up_down:"]::before,
em[data-emoji="arrow_up_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2195.svg");
}
em[data-emoji=":arrow_upper_left:"]::before,
em[data-emoji="arrow_upper_left"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2196.svg");
}
em[data-emoji=":arrow_upper_right:"]::before,
em[data-emoji="arrow_upper_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2197.svg");
}
em[data-emoji=":arrow_lower_right:"]::before,
em[data-emoji="arrow_lower_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2198.svg");
}
em[data-emoji=":arrow_lower_left:"]::before,
em[data-emoji="arrow_lower_left"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2199.svg");
}
em[data-emoji=":keyboard:"]::before,
em[data-emoji="keyboard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2328.svg");
}
em[data-emoji=":sunny:"]::before,
em[data-emoji="sunny"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2600.svg");
}
em[data-emoji=":cloud:"]::before,
em[data-emoji="cloud"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2601.svg");
}
em[data-emoji=":umbrella2:"]::before,
em[data-emoji="umbrella2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2602.svg");
}
em[data-emoji=":snowman2:"]::before,
em[data-emoji="snowman2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2603.svg");
}
em[data-emoji=":comet:"]::before,
em[data-emoji="comet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2604.svg");
}
em[data-emoji=":ballot_box_with_check:"]::before,
em[data-emoji="ballot_box_with_check"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2611.svg");
}
em[data-emoji=":umbrella:"]::before,
em[data-emoji="umbrella"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2614.svg");
}
em[data-emoji=":coffee:"]::before,
em[data-emoji="coffee"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2615.svg");
}
em[data-emoji=":shamrock:"]::before,
em[data-emoji="shamrock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2618.svg");
}
em[data-emoji=":skull_crossbones:"]::before,
em[data-emoji="skull_crossbones"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2620.svg");
}
em[data-emoji=":radioactive:"]::before,
em[data-emoji="radioactive"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2622.svg");
}
em[data-emoji=":biohazard:"]::before,
em[data-emoji="biohazard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2623.svg");
}
em[data-emoji=":orthodox_cross:"]::before,
em[data-emoji="orthodox_cross"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2626.svg");
}
em[data-emoji=":wheel_of_dharma:"]::before,
em[data-emoji="wheel_of_dharma"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2638.svg");
}
em[data-emoji=":frowning2:"]::before,
em[data-emoji="frowning2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2639.svg");
}
em[data-emoji=":female_sign:"]::before,
em[data-emoji="female_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2640.svg");
}
em[data-emoji=":male_sign:"]::before,
em[data-emoji="male_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2642.svg");
}
em[data-emoji=":aries:"]::before,
em[data-emoji="aries"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2648.svg");
}
em[data-emoji=":taurus:"]::before,
em[data-emoji="taurus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2649.svg");
}
em[data-emoji=":sagittarius:"]::before,
em[data-emoji="sagittarius"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2650.svg");
}
em[data-emoji=":capricorn:"]::before,
em[data-emoji="capricorn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2651.svg");
}
em[data-emoji=":aquarius:"]::before,
em[data-emoji="aquarius"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2652.svg");
}
em[data-emoji=":pisces:"]::before,
em[data-emoji="pisces"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2653.svg");
}
em[data-emoji=":spades:"]::before,
em[data-emoji="spades"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2660.svg");
}
em[data-emoji=":clubs:"]::before,
em[data-emoji="clubs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2663.svg");
}
em[data-emoji=":hearts:"]::before,
em[data-emoji="hearts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2665.svg");
}
em[data-emoji=":diamonds:"]::before,
em[data-emoji="diamonds"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2666.svg");
}
em[data-emoji=":hotsprings:"]::before,
em[data-emoji="hotsprings"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2668.svg");
}
em[data-emoji=":hammer_pick:"]::before,
em[data-emoji="hammer_pick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2692.svg");
}
em[data-emoji=":anchor:"]::before,
em[data-emoji="anchor"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2693.svg");
}
em[data-emoji=":crossed_swords:"]::before,
em[data-emoji="crossed_swords"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2694.svg");
}
em[data-emoji=":medical_symbol:"]::before,
em[data-emoji="medical_symbol"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2695.svg");
}
em[data-emoji=":scales:"]::before,
em[data-emoji="scales"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2696.svg");
}
em[data-emoji=":alembic:"]::before,
em[data-emoji="alembic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2697.svg");
}
em[data-emoji=":gear:"]::before,
em[data-emoji="gear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2699.svg");
}
em[data-emoji=":scissors:"]::before,
em[data-emoji="scissors"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2702.svg");
}
em[data-emoji=":white_check_mark:"]::before,
em[data-emoji="white_check_mark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2705.svg");
}
em[data-emoji=":airplane:"]::before,
em[data-emoji="airplane"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2708.svg");
}
em[data-emoji=":envelope:"]::before,
em[data-emoji="envelope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2709.svg");
}
em[data-emoji=":black_nib:"]::before,
em[data-emoji="black_nib"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2712.svg");
}
em[data-emoji=":heavy_check_mark:"]::before,
em[data-emoji="heavy_check_mark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2714.svg");
}
em[data-emoji=":heavy_multiplication_x:"]::before,
em[data-emoji="heavy_multiplication_x"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2716.svg");
}
em[data-emoji=":star_of_david:"]::before,
em[data-emoji="star_of_david"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2721.svg");
}
em[data-emoji=":sparkles:"]::before,
em[data-emoji="sparkles"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2728.svg");
}
em[data-emoji=":eight_spoked_asterisk:"]::before,
em[data-emoji="eight_spoked_asterisk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2733.svg");
}
em[data-emoji=":eight_pointed_black_star:"]::before,
em[data-emoji="eight_pointed_black_star"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2734.svg");
}
em[data-emoji=":snowflake:"]::before,
em[data-emoji="snowflake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2744.svg");
}
em[data-emoji=":sparkle:"]::before,
em[data-emoji="sparkle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2747.svg");
}
em[data-emoji=":question:"]::before,
em[data-emoji="question"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2753.svg");
}
em[data-emoji=":grey_question:"]::before,
em[data-emoji="grey_question"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2754.svg");
}
em[data-emoji=":grey_exclamation:"]::before,
em[data-emoji="grey_exclamation"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2755.svg");
}
em[data-emoji=":exclamation:"]::before,
em[data-emoji="exclamation"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2757.svg");
}
em[data-emoji=":heart_exclamation:"]::before,
em[data-emoji="heart_exclamation"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2763.svg");
}
em[data-emoji=":heart:"]::before,
em[data-emoji="heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2764.svg");
}
em[data-emoji=":heavy_plus_sign:"]::before,
em[data-emoji="heavy_plus_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2795.svg");
}
em[data-emoji=":heavy_minus_sign:"]::before,
em[data-emoji="heavy_minus_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2796.svg");
}
em[data-emoji=":heavy_division_sign:"]::before,
em[data-emoji="heavy_division_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2797.svg");
}
em[data-emoji=":arrow_heading_up:"]::before,
em[data-emoji="arrow_heading_up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2934.svg");
}
em[data-emoji=":arrow_heading_down:"]::before,
em[data-emoji="arrow_heading_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2935.svg");
}
em[data-emoji=":wavy_dash:"]::before,
em[data-emoji="wavy_dash"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/3030.svg");
}
em[data-emoji=":congratulations:"]::before,
em[data-emoji="congratulations"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/3297.svg");
}
em[data-emoji=":secret:"]::before,
em[data-emoji="secret"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/3299.svg");
}
em[data-emoji=":grinning:"]::before,
em[data-emoji="grinning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f600.svg");
}
em[data-emoji=":smiley:"]::before,
em[data-emoji="smiley"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f603.svg");
}
em[data-emoji=":smile:"]::before,
em[data-emoji="smile"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f604.svg");
}
em[data-emoji=":grin:"]::before,
em[data-emoji="grin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f601.svg");
}
em[data-emoji=":laughing:"]::before,
em[data-emoji="laughing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f606.svg");
}
em[data-emoji=":face_holding_back_tears:"]::before,
em[data-emoji="face_holding_back_tears"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f979.svg");
}
em[data-emoji=":sweat_smile:"]::before,
em[data-emoji="sweat_smile"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f605.svg");
}
em[data-emoji=":joy:"]::before,
em[data-emoji="joy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f602.svg");
}
em[data-emoji=":rofl:"]::before,
em[data-emoji="rofl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f923.svg");
}
em[data-emoji=":smiling_face_with_tear:"]::before,
em[data-emoji="smiling_face_with_tear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f972.svg");
}
em[data-emoji=":relaxed:"]::before,
em[data-emoji="relaxed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/263a.svg");
}
em[data-emoji=":blush:"]::before,
em[data-emoji="blush"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60a.svg");
}
em[data-emoji=":innocent:"]::before,
em[data-emoji="innocent"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f607.svg");
}
em[data-emoji=":slight_smile:"]::before,
em[data-emoji="slight_smile"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f642.svg");
}
em[data-emoji=":upside_down:"]::before,
em[data-emoji="upside_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f643.svg");
}
em[data-emoji=":wink:"]::before,
em[data-emoji="wink"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f609.svg");
}
em[data-emoji=":relieved:"]::before,
em[data-emoji="relieved"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60c.svg");
}
em[data-emoji=":heart_eyes:"]::before,
em[data-emoji="heart_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60d.svg");
}
em[data-emoji=":smiling_face_with_3_hearts:"]::before,
em[data-emoji="smiling_face_with_3_hearts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f970.svg");
}
em[data-emoji=":kissing_heart:"]::before,
em[data-emoji="kissing_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f618.svg");
}
em[data-emoji=":kissing:"]::before,
em[data-emoji="kissing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f617.svg");
}
em[data-emoji=":kissing_smiling_eyes:"]::before,
em[data-emoji="kissing_smiling_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f619.svg");
}
em[data-emoji=":kissing_closed_eyes:"]::before,
em[data-emoji="kissing_closed_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61a.svg");
}
em[data-emoji=":yum:"]::before,
em[data-emoji="yum"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60b.svg");
}
em[data-emoji=":stuck_out_tongue:"]::before,
em[data-emoji="stuck_out_tongue"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61b.svg");
}
em[data-emoji=":stuck_out_tongue_closed_eyes:"]::before,
em[data-emoji="stuck_out_tongue_closed_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61d.svg");
}
em[data-emoji=":stuck_out_tongue_winking_eye:"]::before,
em[data-emoji="stuck_out_tongue_winking_eye"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61c.svg");
}
em[data-emoji=":zany_face:"]::before,
em[data-emoji="zany_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92a.svg");
}
em[data-emoji=":face_with_raised_eyebrow:"]::before,
em[data-emoji="face_with_raised_eyebrow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f928.svg");
}
em[data-emoji=":face_with_monocle:"]::before,
em[data-emoji="face_with_monocle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d0.svg");
}
em[data-emoji=":nerd:"]::before,
em[data-emoji="nerd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f913.svg");
}
em[data-emoji=":sunglasses:"]::before,
em[data-emoji="sunglasses"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg");
}
em[data-emoji=":disguised_face:"]::before,
em[data-emoji="disguised_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f978.svg");
}
em[data-emoji=":star_struck:"]::before,
em[data-emoji="star_struck"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f929.svg");
}
em[data-emoji=":partying_face:"]::before,
em[data-emoji="partying_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f973.svg");
}
em[data-emoji=":smirk:"]::before,
em[data-emoji="smirk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60f.svg");
}
em[data-emoji=":unamused:"]::before,
em[data-emoji="unamused"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f612.svg");
}
em[data-emoji=":disappointed:"]::before,
em[data-emoji="disappointed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61e.svg");
}
em[data-emoji=":pensive:"]::before,
em[data-emoji="pensive"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f614.svg");
}
em[data-emoji=":worried:"]::before,
em[data-emoji="worried"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f61f.svg");
}
em[data-emoji=":confused:"]::before,
em[data-emoji="confused"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f615.svg");
}
em[data-emoji=":slight_frown:"]::before,
em[data-emoji="slight_frown"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f641.svg");
}
em[data-emoji=":persevere:"]::before,
em[data-emoji="persevere"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f623.svg");
}
em[data-emoji=":confounded:"]::before,
em[data-emoji="confounded"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f616.svg");
}
em[data-emoji=":tired_face:"]::before,
em[data-emoji="tired_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62b.svg");
}
em[data-emoji=":weary:"]::before,
em[data-emoji="weary"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f629.svg");
}
em[data-emoji=":pleading_face:"]::before,
em[data-emoji="pleading_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97a.svg");
}
em[data-emoji=":cry:"]::before,
em[data-emoji="cry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f622.svg");
}
em[data-emoji=":sob:"]::before,
em[data-emoji="sob"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62d.svg");
}
em[data-emoji=":triumph:"]::before,
em[data-emoji="triumph"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f624.svg");
}
em[data-emoji=":angry:"]::before,
em[data-emoji="angry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f620.svg");
}
em[data-emoji=":rage:"]::before,
em[data-emoji="rage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f621.svg");
}
em[data-emoji=":face_with_symbols_over_mouth:"]::before,
em[data-emoji="face_with_symbols_over_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92c.svg");
}
em[data-emoji=":exploding_head:"]::before,
em[data-emoji="exploding_head"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92f.svg");
}
em[data-emoji=":flushed:"]::before,
em[data-emoji="flushed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f633.svg");
}
em[data-emoji=":hot_face:"]::before,
em[data-emoji="hot_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f975.svg");
}
em[data-emoji=":cold_face:"]::before,
em[data-emoji="cold_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f976.svg");
}
em[data-emoji=":face_in_clouds:"]::before,
em[data-emoji="face_in_clouds"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f636-200d-1f32b-fe0f.svg");
}
em[data-emoji=":scream:"]::before,
em[data-emoji="scream"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f631.svg");
}
em[data-emoji=":fearful:"]::before,
em[data-emoji="fearful"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f628.svg");
}
em[data-emoji=":cold_sweat:"]::before,
em[data-emoji="cold_sweat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f630.svg");
}
em[data-emoji=":disappointed_relieved:"]::before,
em[data-emoji="disappointed_relieved"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f625.svg");
}
em[data-emoji=":sweat:"]::before,
em[data-emoji="sweat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f613.svg");
}
em[data-emoji=":hugging:"]::before,
em[data-emoji="hugging"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f917.svg");
}
em[data-emoji=":thinking:"]::before,
em[data-emoji="thinking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f914.svg");
}
em[data-emoji=":face_with_peeking_eye:"]::before,
em[data-emoji="face_with_peeking_eye"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae3.svg");
}
em[data-emoji=":face_with_hand_over_mouth:"]::before,
em[data-emoji="face_with_hand_over_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92d.svg");
}
em[data-emoji=":face_with_open_eyes_and_hand_over_mouth:"]::before,
em[data-emoji="face_with_open_eyes_and_hand_over_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae2.svg");
}
em[data-emoji=":saluting_face:"]::before,
em[data-emoji="saluting_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae1.svg");
}
em[data-emoji=":shushing_face:"]::before,
em[data-emoji="shushing_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92b.svg");
}
em[data-emoji=":melting_face:"]::before,
em[data-emoji="melting_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae0.svg");
}
em[data-emoji=":lying_face:"]::before,
em[data-emoji="lying_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f925.svg");
}
em[data-emoji=":no_mouth:"]::before,
em[data-emoji="no_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f636.svg");
}
em[data-emoji=":dotted_line_face:"]::before,
em[data-emoji="dotted_line_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae5.svg");
}
em[data-emoji=":neutral_face:"]::before,
em[data-emoji="neutral_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f610.svg");
}
em[data-emoji=":face_with_diagonal_mouth:"]::before,
em[data-emoji="face_with_diagonal_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae4.svg");
}
em[data-emoji=":expressionless:"]::before,
em[data-emoji="expressionless"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f611.svg");
}
em[data-emoji=":shaking_face:"]::before,
em[data-emoji="shaking_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae8.svg");
}
em[data-emoji=":head_shaking_horizontally:"]::before,
em[data-emoji="head_shaking_horizontally"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f642-200d-2194-fe0f.svg");
}
em[data-emoji=":head_shaking_vertically:"]::before,
em[data-emoji="head_shaking_vertically"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f642-200d-2195-fe0f.svg");
}
em[data-emoji=":grimacing:"]::before,
em[data-emoji="grimacing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62c.svg");
}
em[data-emoji=":rolling_eyes:"]::before,
em[data-emoji="rolling_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f644.svg");
}
em[data-emoji=":hushed:"]::before,
em[data-emoji="hushed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62f.svg");
}
em[data-emoji=":frowning:"]::before,
em[data-emoji="frowning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f626.svg");
}
em[data-emoji=":anguished:"]::before,
em[data-emoji="anguished"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f627.svg");
}
em[data-emoji=":open_mouth:"]::before,
em[data-emoji="open_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62e.svg");
}
em[data-emoji=":astonished:"]::before,
em[data-emoji="astonished"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f632.svg");
}
em[data-emoji=":yawning_face:"]::before,
em[data-emoji="yawning_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f971.svg");
}
em[data-emoji=":sleeping:"]::before,
em[data-emoji="sleeping"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f634.svg");
}
em[data-emoji=":drooling_face:"]::before,
em[data-emoji="drooling_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f924.svg");
}
em[data-emoji=":sleepy:"]::before,
em[data-emoji="sleepy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62a.svg");
}
em[data-emoji=":face_exhaling:"]::before,
em[data-emoji="face_exhaling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f62e-200d-1f4a8.svg");
}
em[data-emoji=":dizzy_face:"]::before,
em[data-emoji="dizzy_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f635.svg");
}
em[data-emoji=":face_with_spiral_eyes:"]::before,
em[data-emoji="face_with_spiral_eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f635-200d-1f4ab.svg");
}
em[data-emoji=":zipper_mouth:"]::before,
em[data-emoji="zipper_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f910.svg");
}
em[data-emoji=":woozy_face:"]::before,
em[data-emoji="woozy_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f974.svg");
}
em[data-emoji=":nauseated_face:"]::before,
em[data-emoji="nauseated_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f922.svg");
}
em[data-emoji=":face_vomiting:"]::before,
em[data-emoji="face_vomiting"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f92e.svg");
}
em[data-emoji=":sneezing_face:"]::before,
em[data-emoji="sneezing_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f927.svg");
}
em[data-emoji=":mask:"]::before,
em[data-emoji="mask"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f637.svg");
}
em[data-emoji=":thermometer_face:"]::before,
em[data-emoji="thermometer_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f912.svg");
}
em[data-emoji=":head_bandage:"]::before,
em[data-emoji="head_bandage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f915.svg");
}
em[data-emoji=":money_mouth:"]::before,
em[data-emoji="money_mouth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f911.svg");
}
em[data-emoji=":cowboy:"]::before,
em[data-emoji="cowboy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f920.svg");
}
em[data-emoji=":smiling_imp:"]::before,
em[data-emoji="smiling_imp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f608.svg");
}
em[data-emoji=":imp:"]::before,
em[data-emoji="imp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47f.svg");
}
em[data-emoji=":japanese_ogre:"]::before,
em[data-emoji="japanese_ogre"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f479.svg");
}
em[data-emoji=":japanese_goblin:"]::before,
em[data-emoji="japanese_goblin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47a.svg");
}
em[data-emoji=":clown:"]::before,
em[data-emoji="clown"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f921.svg");
}
em[data-emoji=":poop:"]::before,
em[data-emoji="poop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a9.svg");
}
em[data-emoji=":ghost:"]::before,
em[data-emoji="ghost"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47b.svg");
}
em[data-emoji=":skull:"]::before,
em[data-emoji="skull"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f480.svg");
}
em[data-emoji=":alien:"]::before,
em[data-emoji="alien"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47d.svg");
}
em[data-emoji=":space_invader:"]::before,
em[data-emoji="space_invader"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47e.svg");
}
em[data-emoji=":robot:"]::before,
em[data-emoji="robot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f916.svg");
}
em[data-emoji=":jack_o_lantern:"]::before,
em[data-emoji="jack_o_lantern"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f383.svg");
}
em[data-emoji=":smiley_cat:"]::before,
em[data-emoji="smiley_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63a.svg");
}
em[data-emoji=":smile_cat:"]::before,
em[data-emoji="smile_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f638.svg");
}
em[data-emoji=":joy_cat:"]::before,
em[data-emoji="joy_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f639.svg");
}
em[data-emoji=":heart_eyes_cat:"]::before,
em[data-emoji="heart_eyes_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63b.svg");
}
em[data-emoji=":smirk_cat:"]::before,
em[data-emoji="smirk_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63c.svg");
}
em[data-emoji=":kissing_cat:"]::before,
em[data-emoji="kissing_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63d.svg");
}
em[data-emoji=":scream_cat:"]::before,
em[data-emoji="scream_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f640.svg");
}
em[data-emoji=":crying_cat_face:"]::before,
em[data-emoji="crying_cat_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63f.svg");
}
em[data-emoji=":pouting_cat:"]::before,
em[data-emoji="pouting_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f63e.svg");
}
em[data-emoji=":heart_hands:"]::before,
em[data-emoji="heart_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6.svg");
}
em[data-emoji=":heart_hands_tone1:"]::before,
em[data-emoji="heart_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6-1f3fb.svg");
}
em[data-emoji=":heart_hands_tone2:"]::before,
em[data-emoji="heart_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6-1f3fc.svg");
}
em[data-emoji=":heart_hands_tone3:"]::before,
em[data-emoji="heart_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6-1f3fd.svg");
}
em[data-emoji=":heart_hands_tone4:"]::before,
em[data-emoji="heart_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6-1f3fe.svg");
}
em[data-emoji=":heart_hands_tone5:"]::before,
em[data-emoji="heart_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf6-1f3ff.svg");
}
em[data-emoji=":palms_up_together:"]::before,
em[data-emoji="palms_up_together"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932.svg");
}
em[data-emoji=":palms_up_together_tone1:"]::before,
em[data-emoji="palms_up_together_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932-1f3fb.svg");
}
em[data-emoji=":palms_up_together_tone2:"]::before,
em[data-emoji="palms_up_together_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932-1f3fc.svg");
}
em[data-emoji=":palms_up_together_tone3:"]::before,
em[data-emoji="palms_up_together_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932-1f3fd.svg");
}
em[data-emoji=":palms_up_together_tone4:"]::before,
em[data-emoji="palms_up_together_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932-1f3fe.svg");
}
em[data-emoji=":palms_up_together_tone5:"]::before,
em[data-emoji="palms_up_together_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f932-1f3ff.svg");
}
em[data-emoji=":open_hands:"]::before,
em[data-emoji="open_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450.svg");
}
em[data-emoji=":open_hands_tone1:"]::before,
em[data-emoji="open_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450-1f3fb.svg");
}
em[data-emoji=":open_hands_tone2:"]::before,
em[data-emoji="open_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450-1f3fc.svg");
}
em[data-emoji=":open_hands_tone3:"]::before,
em[data-emoji="open_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450-1f3fd.svg");
}
em[data-emoji=":open_hands_tone4:"]::before,
em[data-emoji="open_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450-1f3fe.svg");
}
em[data-emoji=":open_hands_tone5:"]::before,
em[data-emoji="open_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f450-1f3ff.svg");
}
em[data-emoji=":raised_hands:"]::before,
em[data-emoji="raised_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c.svg");
}
em[data-emoji=":raised_hands_tone1:"]::before,
em[data-emoji="raised_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c-1f3fb.svg");
}
em[data-emoji=":raised_hands_tone2:"]::before,
em[data-emoji="raised_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c-1f3fc.svg");
}
em[data-emoji=":raised_hands_tone3:"]::before,
em[data-emoji="raised_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c-1f3fd.svg");
}
em[data-emoji=":raised_hands_tone4:"]::before,
em[data-emoji="raised_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c-1f3fe.svg");
}
em[data-emoji=":raised_hands_tone5:"]::before,
em[data-emoji="raised_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64c-1f3ff.svg");
}
em[data-emoji=":clap:"]::before,
em[data-emoji="clap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f.svg");
}
em[data-emoji=":clap_tone1:"]::before,
em[data-emoji="clap_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f-1f3fb.svg");
}
em[data-emoji=":clap_tone2:"]::before,
em[data-emoji="clap_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f-1f3fc.svg");
}
em[data-emoji=":clap_tone3:"]::before,
em[data-emoji="clap_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f-1f3fd.svg");
}
em[data-emoji=":clap_tone4:"]::before,
em[data-emoji="clap_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f-1f3fe.svg");
}
em[data-emoji=":clap_tone5:"]::before,
em[data-emoji="clap_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44f-1f3ff.svg");
}
em[data-emoji=":handshake:"]::before,
em[data-emoji="handshake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d.svg");
}
em[data-emoji=":handshake_tone1:"]::before,
em[data-emoji="handshake_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d-1f3fb.svg");
}
em[data-emoji=":handshake_tone1_tone2:"]::before,
em[data-emoji="handshake_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fb-200d-1faf2-1f3fc.svg");
}
em[data-emoji=":handshake_tone1_tone3:"]::before,
em[data-emoji="handshake_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fb-200d-1faf2-1f3fd.svg");
}
em[data-emoji=":handshake_tone1_tone4:"]::before,
em[data-emoji="handshake_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fb-200d-1faf2-1f3fe.svg");
}
em[data-emoji=":handshake_tone1_tone5:"]::before,
em[data-emoji="handshake_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fb-200d-1faf2-1f3ff.svg");
}
em[data-emoji=":handshake_tone2_tone1:"]::before,
em[data-emoji="handshake_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fc-200d-1faf2-1f3fb.svg");
}
em[data-emoji=":handshake_tone2:"]::before,
em[data-emoji="handshake_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d-1f3fc.svg");
}
em[data-emoji=":handshake_tone2_tone3:"]::before,
em[data-emoji="handshake_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fc-200d-1faf2-1f3fd.svg");
}
em[data-emoji=":handshake_tone2_tone4:"]::before,
em[data-emoji="handshake_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fc-200d-1faf2-1f3fe.svg");
}
em[data-emoji=":handshake_tone2_tone5:"]::before,
em[data-emoji="handshake_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fc-200d-1faf2-1f3ff.svg");
}
em[data-emoji=":handshake_tone3_tone1:"]::before,
em[data-emoji="handshake_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fd-200d-1faf2-1f3fb.svg");
}
em[data-emoji=":handshake_tone3_tone2:"]::before,
em[data-emoji="handshake_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fd-200d-1faf2-1f3fc.svg");
}
em[data-emoji=":handshake_tone3:"]::before,
em[data-emoji="handshake_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d-1f3fd.svg");
}
em[data-emoji=":handshake_tone3_tone4:"]::before,
em[data-emoji="handshake_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fd-200d-1faf2-1f3fe.svg");
}
em[data-emoji=":handshake_tone3_tone5:"]::before,
em[data-emoji="handshake_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fd-200d-1faf2-1f3ff.svg");
}
em[data-emoji=":handshake_tone4_tone1:"]::before,
em[data-emoji="handshake_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fe-200d-1faf2-1f3fb.svg");
}
em[data-emoji=":handshake_tone4_tone2:"]::before,
em[data-emoji="handshake_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fe-200d-1faf2-1f3fc.svg");
}
em[data-emoji=":handshake_tone4_tone3:"]::before,
em[data-emoji="handshake_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fe-200d-1faf2-1f3fd.svg");
}
em[data-emoji=":handshake_tone4:"]::before,
em[data-emoji="handshake_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d-1f3fe.svg");
}
em[data-emoji=":handshake_tone4_tone5:"]::before,
em[data-emoji="handshake_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fe-200d-1faf2-1f3ff.svg");
}
em[data-emoji=":handshake_tone5_tone1:"]::before,
em[data-emoji="handshake_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3ff-200d-1faf2-1f3fb.svg");
}
em[data-emoji=":handshake_tone5_tone2:"]::before,
em[data-emoji="handshake_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3ff-200d-1faf2-1f3fc.svg");
}
em[data-emoji=":handshake_tone5_tone3:"]::before,
em[data-emoji="handshake_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3ff-200d-1faf2-1f3fd.svg");
}
em[data-emoji=":handshake_tone5_tone4:"]::before,
em[data-emoji="handshake_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3ff-200d-1faf2-1f3fe.svg");
}
em[data-emoji=":handshake_tone5:"]::before,
em[data-emoji="handshake_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91d-1f3ff.svg");
}
em[data-emoji=":thumbsup:"]::before,
em[data-emoji="thumbsup"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d.svg");
}
em[data-emoji=":thumbsup_tone1:"]::before,
em[data-emoji="thumbsup_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d-1f3fb.svg");
}
em[data-emoji=":thumbsup_tone2:"]::before,
em[data-emoji="thumbsup_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d-1f3fc.svg");
}
em[data-emoji=":thumbsup_tone3:"]::before,
em[data-emoji="thumbsup_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d-1f3fd.svg");
}
em[data-emoji=":thumbsup_tone4:"]::before,
em[data-emoji="thumbsup_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d-1f3fe.svg");
}
em[data-emoji=":thumbsup_tone5:"]::before,
em[data-emoji="thumbsup_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44d-1f3ff.svg");
}
em[data-emoji=":thumbsdown:"]::before,
em[data-emoji="thumbsdown"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e.svg");
}
em[data-emoji=":thumbsdown_tone1:"]::before,
em[data-emoji="thumbsdown_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e-1f3fb.svg");
}
em[data-emoji=":thumbsdown_tone2:"]::before,
em[data-emoji="thumbsdown_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e-1f3fc.svg");
}
em[data-emoji=":thumbsdown_tone3:"]::before,
em[data-emoji="thumbsdown_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e-1f3fd.svg");
}
em[data-emoji=":thumbsdown_tone4:"]::before,
em[data-emoji="thumbsdown_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e-1f3fe.svg");
}
em[data-emoji=":thumbsdown_tone5:"]::before,
em[data-emoji="thumbsdown_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44e-1f3ff.svg");
}
em[data-emoji=":punch:"]::before,
em[data-emoji="punch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a.svg");
}
em[data-emoji=":punch_tone1:"]::before,
em[data-emoji="punch_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a-1f3fb.svg");
}
em[data-emoji=":punch_tone2:"]::before,
em[data-emoji="punch_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a-1f3fc.svg");
}
em[data-emoji=":punch_tone3:"]::before,
em[data-emoji="punch_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a-1f3fd.svg");
}
em[data-emoji=":punch_tone4:"]::before,
em[data-emoji="punch_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a-1f3fe.svg");
}
em[data-emoji=":punch_tone5:"]::before,
em[data-emoji="punch_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44a-1f3ff.svg");
}
em[data-emoji=":fist:"]::before,
em[data-emoji="fist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a.svg");
}
em[data-emoji=":fist_tone1:"]::before,
em[data-emoji="fist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a-1f3fb.svg");
}
em[data-emoji=":fist_tone2:"]::before,
em[data-emoji="fist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a-1f3fc.svg");
}
em[data-emoji=":fist_tone3:"]::before,
em[data-emoji="fist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a-1f3fd.svg");
}
em[data-emoji=":fist_tone4:"]::before,
em[data-emoji="fist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a-1f3fe.svg");
}
em[data-emoji=":fist_tone5:"]::before,
em[data-emoji="fist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270a-1f3ff.svg");
}
em[data-emoji=":left_facing_fist:"]::before,
em[data-emoji="left_facing_fist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b.svg");
}
em[data-emoji=":left_facing_fist_tone1:"]::before,
em[data-emoji="left_facing_fist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b-1f3fb.svg");
}
em[data-emoji=":left_facing_fist_tone2:"]::before,
em[data-emoji="left_facing_fist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b-1f3fc.svg");
}
em[data-emoji=":left_facing_fist_tone3:"]::before,
em[data-emoji="left_facing_fist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b-1f3fd.svg");
}
em[data-emoji=":left_facing_fist_tone4:"]::before,
em[data-emoji="left_facing_fist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b-1f3fe.svg");
}
em[data-emoji=":left_facing_fist_tone5:"]::before,
em[data-emoji="left_facing_fist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91b-1f3ff.svg");
}
em[data-emoji=":right_facing_fist:"]::before,
em[data-emoji="right_facing_fist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c.svg");
}
em[data-emoji=":right_facing_fist_tone1:"]::before,
em[data-emoji="right_facing_fist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c-1f3fb.svg");
}
em[data-emoji=":right_facing_fist_tone2:"]::before,
em[data-emoji="right_facing_fist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c-1f3fc.svg");
}
em[data-emoji=":right_facing_fist_tone3:"]::before,
em[data-emoji="right_facing_fist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c-1f3fd.svg");
}
em[data-emoji=":right_facing_fist_tone4:"]::before,
em[data-emoji="right_facing_fist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c-1f3fe.svg");
}
em[data-emoji=":right_facing_fist_tone5:"]::before,
em[data-emoji="right_facing_fist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91c-1f3ff.svg");
}
em[data-emoji=":leftwards_pushing_hand:"]::before,
em[data-emoji="leftwards_pushing_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7.svg");
}
em[data-emoji=":leftwards_pushing_hand_tone1:"]::before,
em[data-emoji="leftwards_pushing_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7-1f3fb.svg");
}
em[data-emoji=":leftwards_pushing_hand_tone2:"]::before,
em[data-emoji="leftwards_pushing_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7-1f3fc.svg");
}
em[data-emoji=":leftwards_pushing_hand_tone3:"]::before,
em[data-emoji="leftwards_pushing_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7-1f3fd.svg");
}
em[data-emoji=":leftwards_pushing_hand_tone4:"]::before,
em[data-emoji="leftwards_pushing_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7-1f3fe.svg");
}
em[data-emoji=":leftwards_pushing_hand_tone5:"]::before,
em[data-emoji="leftwards_pushing_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf7-1f3ff.svg");
}
em[data-emoji=":rightwards_pushing_hand:"]::before,
em[data-emoji="rightwards_pushing_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8.svg");
}
em[data-emoji=":rightwards_pushing_hand_tone1:"]::before,
em[data-emoji="rightwards_pushing_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8-1f3fb.svg");
}
em[data-emoji=":rightwards_pushing_hand_tone2:"]::before,
em[data-emoji="rightwards_pushing_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8-1f3fc.svg");
}
em[data-emoji=":rightwards_pushing_hand_tone3:"]::before,
em[data-emoji="rightwards_pushing_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8-1f3fd.svg");
}
em[data-emoji=":rightwards_pushing_hand_tone4:"]::before,
em[data-emoji="rightwards_pushing_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8-1f3fe.svg");
}
em[data-emoji=":rightwards_pushing_hand_tone5:"]::before,
em[data-emoji="rightwards_pushing_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf8-1f3ff.svg");
}
em[data-emoji=":fingers_crossed:"]::before,
em[data-emoji="fingers_crossed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e.svg");
}
em[data-emoji=":fingers_crossed_tone1:"]::before,
em[data-emoji="fingers_crossed_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e-1f3fb.svg");
}
em[data-emoji=":fingers_crossed_tone2:"]::before,
em[data-emoji="fingers_crossed_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e-1f3fc.svg");
}
em[data-emoji=":fingers_crossed_tone3:"]::before,
em[data-emoji="fingers_crossed_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e-1f3fd.svg");
}
em[data-emoji=":fingers_crossed_tone4:"]::before,
em[data-emoji="fingers_crossed_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e-1f3fe.svg");
}
em[data-emoji=":fingers_crossed_tone5:"]::before,
em[data-emoji="fingers_crossed_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91e-1f3ff.svg");
}
em[data-emoji=":v:"]::before,
em[data-emoji="v"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c.svg");
}
em[data-emoji=":v_tone1:"]::before,
em[data-emoji="v_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c-1f3fb.svg");
}
em[data-emoji=":v_tone2:"]::before,
em[data-emoji="v_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c-1f3fc.svg");
}
em[data-emoji=":v_tone3:"]::before,
em[data-emoji="v_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c-1f3fd.svg");
}
em[data-emoji=":v_tone4:"]::before,
em[data-emoji="v_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c-1f3fe.svg");
}
em[data-emoji=":v_tone5:"]::before,
em[data-emoji="v_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270c-1f3ff.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed_tone1:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0-1f3fb.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed_tone2:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0-1f3fc.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed_tone3:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0-1f3fd.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed_tone4:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0-1f3fe.svg");
}
em[data-emoji=":hand_with_index_finger_and_thumb_crossed_tone5:"]::before,
em[data-emoji="hand_with_index_finger_and_thumb_crossed_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf0-1f3ff.svg");
}
em[data-emoji=":love_you_gesture:"]::before,
em[data-emoji="love_you_gesture"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f.svg");
}
em[data-emoji=":love_you_gesture_tone1:"]::before,
em[data-emoji="love_you_gesture_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f-1f3fb.svg");
}
em[data-emoji=":love_you_gesture_tone2:"]::before,
em[data-emoji="love_you_gesture_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f-1f3fc.svg");
}
em[data-emoji=":love_you_gesture_tone3:"]::before,
em[data-emoji="love_you_gesture_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f-1f3fd.svg");
}
em[data-emoji=":love_you_gesture_tone4:"]::before,
em[data-emoji="love_you_gesture_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f-1f3fe.svg");
}
em[data-emoji=":love_you_gesture_tone5:"]::before,
em[data-emoji="love_you_gesture_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91f-1f3ff.svg");
}
em[data-emoji=":metal:"]::before,
em[data-emoji="metal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918.svg");
}
em[data-emoji=":metal_tone1:"]::before,
em[data-emoji="metal_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918-1f3fb.svg");
}
em[data-emoji=":metal_tone2:"]::before,
em[data-emoji="metal_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918-1f3fc.svg");
}
em[data-emoji=":metal_tone3:"]::before,
em[data-emoji="metal_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918-1f3fd.svg");
}
em[data-emoji=":metal_tone4:"]::before,
em[data-emoji="metal_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918-1f3fe.svg");
}
em[data-emoji=":metal_tone5:"]::before,
em[data-emoji="metal_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f918-1f3ff.svg");
}
em[data-emoji=":ok_hand:"]::before,
em[data-emoji="ok_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c.svg");
}
em[data-emoji=":ok_hand_tone1:"]::before,
em[data-emoji="ok_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c-1f3fb.svg");
}
em[data-emoji=":ok_hand_tone2:"]::before,
em[data-emoji="ok_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c-1f3fc.svg");
}
em[data-emoji=":ok_hand_tone3:"]::before,
em[data-emoji="ok_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c-1f3fd.svg");
}
em[data-emoji=":ok_hand_tone4:"]::before,
em[data-emoji="ok_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c-1f3fe.svg");
}
em[data-emoji=":ok_hand_tone5:"]::before,
em[data-emoji="ok_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44c-1f3ff.svg");
}
em[data-emoji=":pinched_fingers:"]::before,
em[data-emoji="pinched_fingers"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c.svg");
}
em[data-emoji=":pinched_fingers_tone2:"]::before,
em[data-emoji="pinched_fingers_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c-1f3fc.svg");
}
em[data-emoji=":pinched_fingers_tone1:"]::before,
em[data-emoji="pinched_fingers_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c-1f3fb.svg");
}
em[data-emoji=":pinched_fingers_tone3:"]::before,
em[data-emoji="pinched_fingers_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c-1f3fd.svg");
}
em[data-emoji=":pinched_fingers_tone4:"]::before,
em[data-emoji="pinched_fingers_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c-1f3fe.svg");
}
em[data-emoji=":pinched_fingers_tone5:"]::before,
em[data-emoji="pinched_fingers_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90c-1f3ff.svg");
}
em[data-emoji=":pinching_hand:"]::before,
em[data-emoji="pinching_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f.svg");
}
em[data-emoji=":pinching_hand_tone1:"]::before,
em[data-emoji="pinching_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f-1f3fb.svg");
}
em[data-emoji=":pinching_hand_tone2:"]::before,
em[data-emoji="pinching_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f-1f3fc.svg");
}
em[data-emoji=":pinching_hand_tone3:"]::before,
em[data-emoji="pinching_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f-1f3fd.svg");
}
em[data-emoji=":pinching_hand_tone4:"]::before,
em[data-emoji="pinching_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f-1f3fe.svg");
}
em[data-emoji=":pinching_hand_tone5:"]::before,
em[data-emoji="pinching_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90f-1f3ff.svg");
}
em[data-emoji=":palm_down_hand:"]::before,
em[data-emoji="palm_down_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3.svg");
}
em[data-emoji=":palm_down_hand_tone1:"]::before,
em[data-emoji="palm_down_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3-1f3fb.svg");
}
em[data-emoji=":palm_down_hand_tone2:"]::before,
em[data-emoji="palm_down_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3-1f3fc.svg");
}
em[data-emoji=":palm_down_hand_tone3:"]::before,
em[data-emoji="palm_down_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3-1f3fd.svg");
}
em[data-emoji=":palm_down_hand_tone4:"]::before,
em[data-emoji="palm_down_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3-1f3fe.svg");
}
em[data-emoji=":palm_down_hand_tone5:"]::before,
em[data-emoji="palm_down_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf3-1f3ff.svg");
}
em[data-emoji=":palm_up_hand:"]::before,
em[data-emoji="palm_up_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4.svg");
}
em[data-emoji=":palm_up_hand_tone1:"]::before,
em[data-emoji="palm_up_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4-1f3fb.svg");
}
em[data-emoji=":palm_up_hand_tone2:"]::before,
em[data-emoji="palm_up_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4-1f3fc.svg");
}
em[data-emoji=":palm_up_hand_tone3:"]::before,
em[data-emoji="palm_up_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4-1f3fd.svg");
}
em[data-emoji=":palm_up_hand_tone4:"]::before,
em[data-emoji="palm_up_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4-1f3fe.svg");
}
em[data-emoji=":palm_up_hand_tone5:"]::before,
em[data-emoji="palm_up_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf4-1f3ff.svg");
}
em[data-emoji=":point_left:"]::before,
em[data-emoji="point_left"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448.svg");
}
em[data-emoji=":point_left_tone1:"]::before,
em[data-emoji="point_left_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448-1f3fb.svg");
}
em[data-emoji=":point_left_tone2:"]::before,
em[data-emoji="point_left_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448-1f3fc.svg");
}
em[data-emoji=":point_left_tone3:"]::before,
em[data-emoji="point_left_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448-1f3fd.svg");
}
em[data-emoji=":point_left_tone4:"]::before,
em[data-emoji="point_left_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448-1f3fe.svg");
}
em[data-emoji=":point_left_tone5:"]::before,
em[data-emoji="point_left_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f448-1f3ff.svg");
}
em[data-emoji=":point_right:"]::before,
em[data-emoji="point_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449.svg");
}
em[data-emoji=":point_right_tone1:"]::before,
em[data-emoji="point_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449-1f3fb.svg");
}
em[data-emoji=":point_right_tone2:"]::before,
em[data-emoji="point_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449-1f3fc.svg");
}
em[data-emoji=":point_right_tone3:"]::before,
em[data-emoji="point_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449-1f3fd.svg");
}
em[data-emoji=":point_right_tone4:"]::before,
em[data-emoji="point_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449-1f3fe.svg");
}
em[data-emoji=":point_right_tone5:"]::before,
em[data-emoji="point_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f449-1f3ff.svg");
}
em[data-emoji=":point_up_2:"]::before,
em[data-emoji="point_up_2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446.svg");
}
em[data-emoji=":point_up_2_tone1:"]::before,
em[data-emoji="point_up_2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446-1f3fb.svg");
}
em[data-emoji=":point_up_2_tone2:"]::before,
em[data-emoji="point_up_2_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446-1f3fc.svg");
}
em[data-emoji=":point_up_2_tone3:"]::before,
em[data-emoji="point_up_2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446-1f3fd.svg");
}
em[data-emoji=":point_up_2_tone4:"]::before,
em[data-emoji="point_up_2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446-1f3fe.svg");
}
em[data-emoji=":point_up_2_tone5:"]::before,
em[data-emoji="point_up_2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f446-1f3ff.svg");
}
em[data-emoji=":point_down:"]::before,
em[data-emoji="point_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447.svg");
}
em[data-emoji=":point_down_tone1:"]::before,
em[data-emoji="point_down_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447-1f3fb.svg");
}
em[data-emoji=":point_down_tone2:"]::before,
em[data-emoji="point_down_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447-1f3fc.svg");
}
em[data-emoji=":point_down_tone3:"]::before,
em[data-emoji="point_down_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447-1f3fd.svg");
}
em[data-emoji=":point_down_tone4:"]::before,
em[data-emoji="point_down_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447-1f3fe.svg");
}
em[data-emoji=":point_down_tone5:"]::before,
em[data-emoji="point_down_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f447-1f3ff.svg");
}
em[data-emoji=":point_up:"]::before,
em[data-emoji="point_up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d.svg");
}
em[data-emoji=":point_up_tone1:"]::before,
em[data-emoji="point_up_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d-1f3fb.svg");
}
em[data-emoji=":point_up_tone2:"]::before,
em[data-emoji="point_up_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d-1f3fc.svg");
}
em[data-emoji=":point_up_tone3:"]::before,
em[data-emoji="point_up_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d-1f3fd.svg");
}
em[data-emoji=":point_up_tone4:"]::before,
em[data-emoji="point_up_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d-1f3fe.svg");
}
em[data-emoji=":point_up_tone5:"]::before,
em[data-emoji="point_up_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/261d-1f3ff.svg");
}
em[data-emoji=":raised_hand:"]::before,
em[data-emoji="raised_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b.svg");
}
em[data-emoji=":raised_hand_tone1:"]::before,
em[data-emoji="raised_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b-1f3fb.svg");
}
em[data-emoji=":raised_hand_tone2:"]::before,
em[data-emoji="raised_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b-1f3fc.svg");
}
em[data-emoji=":raised_hand_tone3:"]::before,
em[data-emoji="raised_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b-1f3fd.svg");
}
em[data-emoji=":raised_hand_tone4:"]::before,
em[data-emoji="raised_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b-1f3fe.svg");
}
em[data-emoji=":raised_hand_tone5:"]::before,
em[data-emoji="raised_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270b-1f3ff.svg");
}
em[data-emoji=":raised_back_of_hand:"]::before,
em[data-emoji="raised_back_of_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a.svg");
}
em[data-emoji=":raised_back_of_hand_tone1:"]::before,
em[data-emoji="raised_back_of_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a-1f3fb.svg");
}
em[data-emoji=":raised_back_of_hand_tone2:"]::before,
em[data-emoji="raised_back_of_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a-1f3fc.svg");
}
em[data-emoji=":raised_back_of_hand_tone3:"]::before,
em[data-emoji="raised_back_of_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a-1f3fd.svg");
}
em[data-emoji=":raised_back_of_hand_tone4:"]::before,
em[data-emoji="raised_back_of_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a-1f3fe.svg");
}
em[data-emoji=":raised_back_of_hand_tone5:"]::before,
em[data-emoji="raised_back_of_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f91a-1f3ff.svg");
}
em[data-emoji=":hand_splayed:"]::before,
em[data-emoji="hand_splayed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590.svg");
}
em[data-emoji=":hand_splayed_tone1:"]::before,
em[data-emoji="hand_splayed_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590-1f3fb.svg");
}
em[data-emoji=":hand_splayed_tone2:"]::before,
em[data-emoji="hand_splayed_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590-1f3fc.svg");
}
em[data-emoji=":hand_splayed_tone3:"]::before,
em[data-emoji="hand_splayed_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590-1f3fd.svg");
}
em[data-emoji=":hand_splayed_tone4:"]::before,
em[data-emoji="hand_splayed_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590-1f3fe.svg");
}
em[data-emoji=":hand_splayed_tone5:"]::before,
em[data-emoji="hand_splayed_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f590-1f3ff.svg");
}
em[data-emoji=":vulcan:"]::before,
em[data-emoji="vulcan"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596.svg");
}
em[data-emoji=":vulcan_tone1:"]::before,
em[data-emoji="vulcan_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596-1f3fb.svg");
}
em[data-emoji=":vulcan_tone2:"]::before,
em[data-emoji="vulcan_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596-1f3fc.svg");
}
em[data-emoji=":vulcan_tone3:"]::before,
em[data-emoji="vulcan_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596-1f3fd.svg");
}
em[data-emoji=":vulcan_tone4:"]::before,
em[data-emoji="vulcan_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596-1f3fe.svg");
}
em[data-emoji=":vulcan_tone5:"]::before,
em[data-emoji="vulcan_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f596-1f3ff.svg");
}
em[data-emoji=":wave:"]::before,
em[data-emoji="wave"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b.svg");
}
em[data-emoji=":wave_tone1:"]::before,
em[data-emoji="wave_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b-1f3fb.svg");
}
em[data-emoji=":wave_tone2:"]::before,
em[data-emoji="wave_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b-1f3fc.svg");
}
em[data-emoji=":wave_tone3:"]::before,
em[data-emoji="wave_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b-1f3fd.svg");
}
em[data-emoji=":wave_tone4:"]::before,
em[data-emoji="wave_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b-1f3fe.svg");
}
em[data-emoji=":wave_tone5:"]::before,
em[data-emoji="wave_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f44b-1f3ff.svg");
}
em[data-emoji=":call_me:"]::before,
em[data-emoji="call_me"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919.svg");
}
em[data-emoji=":call_me_tone1:"]::before,
em[data-emoji="call_me_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919-1f3fb.svg");
}
em[data-emoji=":call_me_tone2:"]::before,
em[data-emoji="call_me_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919-1f3fc.svg");
}
em[data-emoji=":call_me_tone3:"]::before,
em[data-emoji="call_me_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919-1f3fd.svg");
}
em[data-emoji=":call_me_tone4:"]::before,
em[data-emoji="call_me_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919-1f3fe.svg");
}
em[data-emoji=":call_me_tone5:"]::before,
em[data-emoji="call_me_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f919-1f3ff.svg");
}
em[data-emoji=":leftwards_hand:"]::before,
em[data-emoji="leftwards_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2.svg");
}
em[data-emoji=":leftwards_hand_tone1:"]::before,
em[data-emoji="leftwards_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2-1f3fb.svg");
}
em[data-emoji=":leftwards_hand_tone2:"]::before,
em[data-emoji="leftwards_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2-1f3fc.svg");
}
em[data-emoji=":leftwards_hand_tone3:"]::before,
em[data-emoji="leftwards_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2-1f3fd.svg");
}
em[data-emoji=":leftwards_hand_tone4:"]::before,
em[data-emoji="leftwards_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2-1f3fe.svg");
}
em[data-emoji=":leftwards_hand_tone5:"]::before,
em[data-emoji="leftwards_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf2-1f3ff.svg");
}
em[data-emoji=":rightwards_hand:"]::before,
em[data-emoji="rightwards_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1.svg");
}
em[data-emoji=":rightwards_hand_tone1:"]::before,
em[data-emoji="rightwards_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fb.svg");
}
em[data-emoji=":rightwards_hand_tone2:"]::before,
em[data-emoji="rightwards_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fc.svg");
}
em[data-emoji=":rightwards_hand_tone3:"]::before,
em[data-emoji="rightwards_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fd.svg");
}
em[data-emoji=":rightwards_hand_tone4:"]::before,
em[data-emoji="rightwards_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3fe.svg");
}
em[data-emoji=":rightwards_hand_tone5:"]::before,
em[data-emoji="rightwards_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf1-1f3ff.svg");
}
em[data-emoji=":muscle:"]::before,
em[data-emoji="muscle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa.svg");
}
em[data-emoji=":muscle_tone1:"]::before,
em[data-emoji="muscle_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa-1f3fb.svg");
}
em[data-emoji=":muscle_tone2:"]::before,
em[data-emoji="muscle_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa-1f3fc.svg");
}
em[data-emoji=":muscle_tone3:"]::before,
em[data-emoji="muscle_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa-1f3fd.svg");
}
em[data-emoji=":muscle_tone4:"]::before,
em[data-emoji="muscle_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa-1f3fe.svg");
}
em[data-emoji=":muscle_tone5:"]::before,
em[data-emoji="muscle_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4aa-1f3ff.svg");
}
em[data-emoji=":mechanical_arm:"]::before,
em[data-emoji="mechanical_arm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9be.svg");
}
em[data-emoji=":middle_finger:"]::before,
em[data-emoji="middle_finger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595.svg");
}
em[data-emoji=":middle_finger_tone1:"]::before,
em[data-emoji="middle_finger_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595-1f3fb.svg");
}
em[data-emoji=":middle_finger_tone2:"]::before,
em[data-emoji="middle_finger_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595-1f3fc.svg");
}
em[data-emoji=":middle_finger_tone3:"]::before,
em[data-emoji="middle_finger_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595-1f3fd.svg");
}
em[data-emoji=":middle_finger_tone4:"]::before,
em[data-emoji="middle_finger_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595-1f3fe.svg");
}
em[data-emoji=":middle_finger_tone5:"]::before,
em[data-emoji="middle_finger_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f595-1f3ff.svg");
}
em[data-emoji=":writing_hand:"]::before,
em[data-emoji="writing_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d.svg");
}
em[data-emoji=":writing_hand_tone1:"]::before,
em[data-emoji="writing_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d-1f3fb.svg");
}
em[data-emoji=":writing_hand_tone2:"]::before,
em[data-emoji="writing_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d-1f3fc.svg");
}
em[data-emoji=":writing_hand_tone3:"]::before,
em[data-emoji="writing_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d-1f3fd.svg");
}
em[data-emoji=":writing_hand_tone4:"]::before,
em[data-emoji="writing_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d-1f3fe.svg");
}
em[data-emoji=":writing_hand_tone5:"]::before,
em[data-emoji="writing_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270d-1f3ff.svg");
}
em[data-emoji=":pray:"]::before,
em[data-emoji="pray"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f.svg");
}
em[data-emoji=":pray_tone1:"]::before,
em[data-emoji="pray_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f-1f3fb.svg");
}
em[data-emoji=":pray_tone2:"]::before,
em[data-emoji="pray_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f-1f3fc.svg");
}
em[data-emoji=":pray_tone3:"]::before,
em[data-emoji="pray_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f-1f3fd.svg");
}
em[data-emoji=":pray_tone4:"]::before,
em[data-emoji="pray_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f-1f3fe.svg");
}
em[data-emoji=":pray_tone5:"]::before,
em[data-emoji="pray_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64f-1f3ff.svg");
}
em[data-emoji=":index_pointing_at_the_viewer:"]::before,
em[data-emoji="index_pointing_at_the_viewer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5.svg");
}
em[data-emoji=":index_pointing_at_the_viewer_tone1:"]::before,
em[data-emoji="index_pointing_at_the_viewer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5-1f3fb.svg");
}
em[data-emoji=":index_pointing_at_the_viewer_tone2:"]::before,
em[data-emoji="index_pointing_at_the_viewer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5-1f3fc.svg");
}
em[data-emoji=":index_pointing_at_the_viewer_tone3:"]::before,
em[data-emoji="index_pointing_at_the_viewer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5-1f3fd.svg");
}
em[data-emoji=":index_pointing_at_the_viewer_tone4:"]::before,
em[data-emoji="index_pointing_at_the_viewer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5-1f3fe.svg");
}
em[data-emoji=":index_pointing_at_the_viewer_tone5:"]::before,
em[data-emoji="index_pointing_at_the_viewer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faf5-1f3ff.svg");
}
em[data-emoji=":foot:"]::before,
em[data-emoji="foot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6.svg");
}
em[data-emoji=":foot_tone1:"]::before,
em[data-emoji="foot_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6-1f3fb.svg");
}
em[data-emoji=":foot_tone2:"]::before,
em[data-emoji="foot_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6-1f3fc.svg");
}
em[data-emoji=":foot_tone3:"]::before,
em[data-emoji="foot_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6-1f3fd.svg");
}
em[data-emoji=":foot_tone4:"]::before,
em[data-emoji="foot_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6-1f3fe.svg");
}
em[data-emoji=":foot_tone5:"]::before,
em[data-emoji="foot_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b6-1f3ff.svg");
}
em[data-emoji=":leg:"]::before,
em[data-emoji="leg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5.svg");
}
em[data-emoji=":leg_tone1:"]::before,
em[data-emoji="leg_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5-1f3fb.svg");
}
em[data-emoji=":leg_tone2:"]::before,
em[data-emoji="leg_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5-1f3fc.svg");
}
em[data-emoji=":leg_tone3:"]::before,
em[data-emoji="leg_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5-1f3fd.svg");
}
em[data-emoji=":leg_tone4:"]::before,
em[data-emoji="leg_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5-1f3fe.svg");
}
em[data-emoji=":leg_tone5:"]::before,
em[data-emoji="leg_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b5-1f3ff.svg");
}
em[data-emoji=":mechanical_leg:"]::before,
em[data-emoji="mechanical_leg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bf.svg");
}
em[data-emoji=":lipstick:"]::before,
em[data-emoji="lipstick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f484.svg");
}
em[data-emoji=":kiss:"]::before,
em[data-emoji="kiss"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48b.svg");
}
em[data-emoji=":lips:"]::before,
em[data-emoji="lips"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f444.svg");
}
em[data-emoji=":biting_lip:"]::before,
em[data-emoji="biting_lip"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae6.svg");
}
em[data-emoji=":tooth:"]::before,
em[data-emoji="tooth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b7.svg");
}
em[data-emoji=":tongue:"]::before,
em[data-emoji="tongue"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f445.svg");
}
em[data-emoji=":ear:"]::before,
em[data-emoji="ear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442.svg");
}
em[data-emoji=":ear_tone1:"]::before,
em[data-emoji="ear_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442-1f3fb.svg");
}
em[data-emoji=":ear_tone2:"]::before,
em[data-emoji="ear_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442-1f3fc.svg");
}
em[data-emoji=":ear_tone3:"]::before,
em[data-emoji="ear_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442-1f3fd.svg");
}
em[data-emoji=":ear_tone4:"]::before,
em[data-emoji="ear_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442-1f3fe.svg");
}
em[data-emoji=":ear_tone5:"]::before,
em[data-emoji="ear_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f442-1f3ff.svg");
}
em[data-emoji=":ear_with_hearing_aid:"]::before,
em[data-emoji="ear_with_hearing_aid"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb.svg");
}
em[data-emoji=":ear_with_hearing_aid_tone1:"]::before,
em[data-emoji="ear_with_hearing_aid_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb-1f3fb.svg");
}
em[data-emoji=":ear_with_hearing_aid_tone2:"]::before,
em[data-emoji="ear_with_hearing_aid_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb-1f3fc.svg");
}
em[data-emoji=":ear_with_hearing_aid_tone3:"]::before,
em[data-emoji="ear_with_hearing_aid_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb-1f3fd.svg");
}
em[data-emoji=":ear_with_hearing_aid_tone4:"]::before,
em[data-emoji="ear_with_hearing_aid_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb-1f3fe.svg");
}
em[data-emoji=":ear_with_hearing_aid_tone5:"]::before,
em[data-emoji="ear_with_hearing_aid_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bb-1f3ff.svg");
}
em[data-emoji=":nose:"]::before,
em[data-emoji="nose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443.svg");
}
em[data-emoji=":nose_tone1:"]::before,
em[data-emoji="nose_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443-1f3fb.svg");
}
em[data-emoji=":nose_tone2:"]::before,
em[data-emoji="nose_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443-1f3fc.svg");
}
em[data-emoji=":nose_tone3:"]::before,
em[data-emoji="nose_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443-1f3fd.svg");
}
em[data-emoji=":nose_tone4:"]::before,
em[data-emoji="nose_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443-1f3fe.svg");
}
em[data-emoji=":nose_tone5:"]::before,
em[data-emoji="nose_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f443-1f3ff.svg");
}
em[data-emoji=":footprints:"]::before,
em[data-emoji="footprints"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f463.svg");
}
em[data-emoji=":eye:"]::before,
em[data-emoji="eye"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f441.svg");
}
em[data-emoji=":eyes:"]::before,
em[data-emoji="eyes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f440.svg");
}
em[data-emoji=":anatomical_heart:"]::before,
em[data-emoji="anatomical_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac0.svg");
}
em[data-emoji=":lungs:"]::before,
em[data-emoji="lungs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac1.svg");
}
em[data-emoji=":brain:"]::before,
em[data-emoji="brain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e0.svg");
}
em[data-emoji=":speaking_head:"]::before,
em[data-emoji="speaking_head"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5e3.svg");
}
em[data-emoji=":bust_in_silhouette:"]::before,
em[data-emoji="bust_in_silhouette"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f464.svg");
}
em[data-emoji=":busts_in_silhouette:"]::before,
em[data-emoji="busts_in_silhouette"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f465.svg");
}
em[data-emoji=":people_hugging:"]::before,
em[data-emoji="people_hugging"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac2.svg");
}
em[data-emoji=":baby:"]::before,
em[data-emoji="baby"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476.svg");
}
em[data-emoji=":baby_tone1:"]::before,
em[data-emoji="baby_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476-1f3fb.svg");
}
em[data-emoji=":baby_tone2:"]::before,
em[data-emoji="baby_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476-1f3fc.svg");
}
em[data-emoji=":baby_tone3:"]::before,
em[data-emoji="baby_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476-1f3fd.svg");
}
em[data-emoji=":baby_tone4:"]::before,
em[data-emoji="baby_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476-1f3fe.svg");
}
em[data-emoji=":baby_tone5:"]::before,
em[data-emoji="baby_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f476-1f3ff.svg");
}
em[data-emoji=":child:"]::before,
em[data-emoji="child"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2.svg");
}
em[data-emoji=":child_tone1:"]::before,
em[data-emoji="child_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2-1f3fb.svg");
}
em[data-emoji=":child_tone2:"]::before,
em[data-emoji="child_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2-1f3fc.svg");
}
em[data-emoji=":child_tone3:"]::before,
em[data-emoji="child_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2-1f3fd.svg");
}
em[data-emoji=":child_tone4:"]::before,
em[data-emoji="child_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2-1f3fe.svg");
}
em[data-emoji=":child_tone5:"]::before,
em[data-emoji="child_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d2-1f3ff.svg");
}
em[data-emoji=":girl:"]::before,
em[data-emoji="girl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467.svg");
}
em[data-emoji=":girl_tone1:"]::before,
em[data-emoji="girl_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467-1f3fb.svg");
}
em[data-emoji=":girl_tone2:"]::before,
em[data-emoji="girl_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467-1f3fc.svg");
}
em[data-emoji=":girl_tone3:"]::before,
em[data-emoji="girl_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467-1f3fd.svg");
}
em[data-emoji=":girl_tone4:"]::before,
em[data-emoji="girl_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467-1f3fe.svg");
}
em[data-emoji=":girl_tone5:"]::before,
em[data-emoji="girl_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f467-1f3ff.svg");
}
em[data-emoji=":boy:"]::before,
em[data-emoji="boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466.svg");
}
em[data-emoji=":boy_tone1:"]::before,
em[data-emoji="boy_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466-1f3fb.svg");
}
em[data-emoji=":boy_tone2:"]::before,
em[data-emoji="boy_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466-1f3fc.svg");
}
em[data-emoji=":boy_tone3:"]::before,
em[data-emoji="boy_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466-1f3fd.svg");
}
em[data-emoji=":boy_tone4:"]::before,
em[data-emoji="boy_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466-1f3fe.svg");
}
em[data-emoji=":boy_tone5:"]::before,
em[data-emoji="boy_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f466-1f3ff.svg");
}
em[data-emoji=":adult:"]::before,
em[data-emoji="adult"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1.svg");
}
em[data-emoji=":adult_tone1:"]::before,
em[data-emoji="adult_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb.svg");
}
em[data-emoji=":adult_tone2:"]::before,
em[data-emoji="adult_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc.svg");
}
em[data-emoji=":adult_tone3:"]::before,
em[data-emoji="adult_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd.svg");
}
em[data-emoji=":adult_tone4:"]::before,
em[data-emoji="adult_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe.svg");
}
em[data-emoji=":adult_tone5:"]::before,
em[data-emoji="adult_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff.svg");
}
em[data-emoji=":woman:"]::before,
em[data-emoji="woman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469.svg");
}
em[data-emoji=":woman_tone1:"]::before,
em[data-emoji="woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb.svg");
}
em[data-emoji=":woman_tone2:"]::before,
em[data-emoji="woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc.svg");
}
em[data-emoji=":woman_tone3:"]::before,
em[data-emoji="woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd.svg");
}
em[data-emoji=":woman_tone4:"]::before,
em[data-emoji="woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe.svg");
}
em[data-emoji=":woman_tone5:"]::before,
em[data-emoji="woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff.svg");
}
em[data-emoji=":man:"]::before,
em[data-emoji="man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468.svg");
}
em[data-emoji=":man_tone1:"]::before,
em[data-emoji="man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb.svg");
}
em[data-emoji=":man_tone2:"]::before,
em[data-emoji="man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc.svg");
}
em[data-emoji=":man_tone3:"]::before,
em[data-emoji="man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd.svg");
}
em[data-emoji=":man_tone4:"]::before,
em[data-emoji="man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe.svg");
}
em[data-emoji=":man_tone5:"]::before,
em[data-emoji="man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff.svg");
}
em[data-emoji=":person_curly_hair:"]::before,
em[data-emoji="person_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9b1.svg");
}
em[data-emoji=":person_tone1_curly_hair:"]::before,
em[data-emoji="person_tone1_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9b1.svg");
}
em[data-emoji=":person_tone2_curly_hair:"]::before,
em[data-emoji="person_tone2_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9b1.svg");
}
em[data-emoji=":person_tone3_curly_hair:"]::before,
em[data-emoji="person_tone3_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9b1.svg");
}
em[data-emoji=":person_tone4_curly_hair:"]::before,
em[data-emoji="person_tone4_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9b1.svg");
}
em[data-emoji=":person_tone5_curly_hair:"]::before,
em[data-emoji="person_tone5_curly_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired:"]::before,
em[data-emoji="woman_curly_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired_tone1:"]::before,
em[data-emoji="woman_curly_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired_tone2:"]::before,
em[data-emoji="woman_curly_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired_tone3:"]::before,
em[data-emoji="woman_curly_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired_tone4:"]::before,
em[data-emoji="woman_curly_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9b1.svg");
}
em[data-emoji=":woman_curly_haired_tone5:"]::before,
em[data-emoji="woman_curly_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired:"]::before,
em[data-emoji="man_curly_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired_tone1:"]::before,
em[data-emoji="man_curly_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired_tone2:"]::before,
em[data-emoji="man_curly_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired_tone3:"]::before,
em[data-emoji="man_curly_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired_tone4:"]::before,
em[data-emoji="man_curly_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9b1.svg");
}
em[data-emoji=":man_curly_haired_tone5:"]::before,
em[data-emoji="man_curly_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9b1.svg");
}
em[data-emoji=":person_red_hair:"]::before,
em[data-emoji="person_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9b0.svg");
}
em[data-emoji=":person_tone1_red_hair:"]::before,
em[data-emoji="person_tone1_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9b0.svg");
}
em[data-emoji=":person_tone2_red_hair:"]::before,
em[data-emoji="person_tone2_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9b0.svg");
}
em[data-emoji=":person_tone3_red_hair:"]::before,
em[data-emoji="person_tone3_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9b0.svg");
}
em[data-emoji=":person_tone4_red_hair:"]::before,
em[data-emoji="person_tone4_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9b0.svg");
}
em[data-emoji=":person_tone5_red_hair:"]::before,
em[data-emoji="person_tone5_red_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired:"]::before,
em[data-emoji="woman_red_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired_tone1:"]::before,
em[data-emoji="woman_red_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired_tone2:"]::before,
em[data-emoji="woman_red_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired_tone3:"]::before,
em[data-emoji="woman_red_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired_tone4:"]::before,
em[data-emoji="woman_red_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9b0.svg");
}
em[data-emoji=":woman_red_haired_tone5:"]::before,
em[data-emoji="woman_red_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired:"]::before,
em[data-emoji="man_red_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired_tone1:"]::before,
em[data-emoji="man_red_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired_tone2:"]::before,
em[data-emoji="man_red_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired_tone3:"]::before,
em[data-emoji="man_red_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired_tone4:"]::before,
em[data-emoji="man_red_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9b0.svg");
}
em[data-emoji=":man_red_haired_tone5:"]::before,
em[data-emoji="man_red_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9b0.svg");
}
em[data-emoji=":blond_haired_person:"]::before,
em[data-emoji="blond_haired_person"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471.svg");
}
em[data-emoji=":blond_haired_person_tone1:"]::before,
em[data-emoji="blond_haired_person_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fb.svg");
}
em[data-emoji=":blond_haired_person_tone2:"]::before,
em[data-emoji="blond_haired_person_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fc.svg");
}
em[data-emoji=":blond_haired_person_tone3:"]::before,
em[data-emoji="blond_haired_person_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fd.svg");
}
em[data-emoji=":blond_haired_person_tone4:"]::before,
em[data-emoji="blond_haired_person_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fe.svg");
}
em[data-emoji=":blond_haired_person_tone5:"]::before,
em[data-emoji="blond_haired_person_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3ff.svg");
}
em[data-emoji=":blond-haired_woman:"]::before,
em[data-emoji="blond-haired_woman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_woman_tone1:"]::before,
em[data-emoji="blond-haired_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_woman_tone2:"]::before,
em[data-emoji="blond-haired_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_woman_tone3:"]::before,
em[data-emoji="blond-haired_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_woman_tone4:"]::before,
em[data-emoji="blond-haired_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_woman_tone5:"]::before,
em[data-emoji="blond-haired_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":blond-haired_man:"]::before,
em[data-emoji="blond-haired_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-200d-2642-fe0f.svg");
}
em[data-emoji=":blond-haired_man_tone1:"]::before,
em[data-emoji="blond-haired_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":blond-haired_man_tone2:"]::before,
em[data-emoji="blond-haired_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":blond-haired_man_tone3:"]::before,
em[data-emoji="blond-haired_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":blond-haired_man_tone4:"]::before,
em[data-emoji="blond-haired_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":blond-haired_man_tone5:"]::before,
em[data-emoji="blond-haired_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f471-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_white_hair:"]::before,
em[data-emoji="person_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9b3.svg");
}
em[data-emoji=":person_tone1_white_hair:"]::before,
em[data-emoji="person_tone1_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9b3.svg");
}
em[data-emoji=":person_tone2_white_hair:"]::before,
em[data-emoji="person_tone2_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9b3.svg");
}
em[data-emoji=":person_tone3_white_hair:"]::before,
em[data-emoji="person_tone3_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9b3.svg");
}
em[data-emoji=":person_tone4_white_hair:"]::before,
em[data-emoji="person_tone4_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9b3.svg");
}
em[data-emoji=":person_tone5_white_hair:"]::before,
em[data-emoji="person_tone5_white_hair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired:"]::before,
em[data-emoji="woman_white_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired_tone1:"]::before,
em[data-emoji="woman_white_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired_tone2:"]::before,
em[data-emoji="woman_white_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired_tone3:"]::before,
em[data-emoji="woman_white_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired_tone4:"]::before,
em[data-emoji="woman_white_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9b3.svg");
}
em[data-emoji=":woman_white_haired_tone5:"]::before,
em[data-emoji="woman_white_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired:"]::before,
em[data-emoji="man_white_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired_tone1:"]::before,
em[data-emoji="man_white_haired_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired_tone2:"]::before,
em[data-emoji="man_white_haired_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired_tone3:"]::before,
em[data-emoji="man_white_haired_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired_tone4:"]::before,
em[data-emoji="man_white_haired_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9b3.svg");
}
em[data-emoji=":man_white_haired_tone5:"]::before,
em[data-emoji="man_white_haired_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9b3.svg");
}
em[data-emoji=":person_bald:"]::before,
em[data-emoji="person_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9b2.svg");
}
em[data-emoji=":person_tone1_bald:"]::before,
em[data-emoji="person_tone1_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9b2.svg");
}
em[data-emoji=":person_tone2_bald:"]::before,
em[data-emoji="person_tone2_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9b2.svg");
}
em[data-emoji=":person_tone3_bald:"]::before,
em[data-emoji="person_tone3_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9b2.svg");
}
em[data-emoji=":person_tone4_bald:"]::before,
em[data-emoji="person_tone4_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9b2.svg");
}
em[data-emoji=":person_tone5_bald:"]::before,
em[data-emoji="person_tone5_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald:"]::before,
em[data-emoji="woman_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald_tone1:"]::before,
em[data-emoji="woman_bald_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald_tone2:"]::before,
em[data-emoji="woman_bald_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald_tone3:"]::before,
em[data-emoji="woman_bald_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald_tone4:"]::before,
em[data-emoji="woman_bald_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9b2.svg");
}
em[data-emoji=":woman_bald_tone5:"]::before,
em[data-emoji="woman_bald_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9b2.svg");
}
em[data-emoji=":man_bald:"]::before,
em[data-emoji="man_bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9b2.svg");
}
em[data-emoji=":man_bald_tone1:"]::before,
em[data-emoji="man_bald_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9b2.svg");
}
em[data-emoji=":man_bald_tone2:"]::before,
em[data-emoji="man_bald_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9b2.svg");
}
em[data-emoji=":man_bald_tone3:"]::before,
em[data-emoji="man_bald_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9b2.svg");
}
em[data-emoji=":man_bald_tone4:"]::before,
em[data-emoji="man_bald_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9b2.svg");
}
em[data-emoji=":man_bald_tone5:"]::before,
em[data-emoji="man_bald_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9b2.svg");
}
em[data-emoji=":bearded_person:"]::before,
em[data-emoji="bearded_person"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4.svg");
}
em[data-emoji=":bearded_person_tone1:"]::before,
em[data-emoji="bearded_person_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fb.svg");
}
em[data-emoji=":bearded_person_tone2:"]::before,
em[data-emoji="bearded_person_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fc.svg");
}
em[data-emoji=":bearded_person_tone3:"]::before,
em[data-emoji="bearded_person_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fd.svg");
}
em[data-emoji=":bearded_person_tone4:"]::before,
em[data-emoji="bearded_person_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fe.svg");
}
em[data-emoji=":bearded_person_tone5:"]::before,
em[data-emoji="bearded_person_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3ff.svg");
}
em[data-emoji=":woman_beard:"]::before,
em[data-emoji="woman_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tone1_beard:"]::before,
em[data-emoji="woman_tone1_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tone2_beard:"]::before,
em[data-emoji="woman_tone2_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tone3_beard:"]::before,
em[data-emoji="woman_tone3_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tone4_beard:"]::before,
em[data-emoji="woman_tone4_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tone5_beard:"]::before,
em[data-emoji="woman_tone5_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_beard:"]::before,
em[data-emoji="man_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tone1_beard:"]::before,
em[data-emoji="man_tone1_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tone2_beard:"]::before,
em[data-emoji="man_tone2_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tone3_beard:"]::before,
em[data-emoji="man_tone3_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tone4_beard:"]::before,
em[data-emoji="man_tone4_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tone5_beard:"]::before,
em[data-emoji="man_tone5_beard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d4-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":older_adult:"]::before,
em[data-emoji="older_adult"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3.svg");
}
em[data-emoji=":older_adult_tone1:"]::before,
em[data-emoji="older_adult_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3-1f3fb.svg");
}
em[data-emoji=":older_adult_tone2:"]::before,
em[data-emoji="older_adult_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3-1f3fc.svg");
}
em[data-emoji=":older_adult_tone3:"]::before,
em[data-emoji="older_adult_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3-1f3fd.svg");
}
em[data-emoji=":older_adult_tone4:"]::before,
em[data-emoji="older_adult_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3-1f3fe.svg");
}
em[data-emoji=":older_adult_tone5:"]::before,
em[data-emoji="older_adult_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d3-1f3ff.svg");
}
em[data-emoji=":older_woman:"]::before,
em[data-emoji="older_woman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475.svg");
}
em[data-emoji=":older_woman_tone1:"]::before,
em[data-emoji="older_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475-1f3fb.svg");
}
em[data-emoji=":older_woman_tone2:"]::before,
em[data-emoji="older_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475-1f3fc.svg");
}
em[data-emoji=":older_woman_tone3:"]::before,
em[data-emoji="older_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475-1f3fd.svg");
}
em[data-emoji=":older_woman_tone4:"]::before,
em[data-emoji="older_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475-1f3fe.svg");
}
em[data-emoji=":older_woman_tone5:"]::before,
em[data-emoji="older_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f475-1f3ff.svg");
}
em[data-emoji=":older_man:"]::before,
em[data-emoji="older_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474.svg");
}
em[data-emoji=":older_man_tone1:"]::before,
em[data-emoji="older_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474-1f3fb.svg");
}
em[data-emoji=":older_man_tone2:"]::before,
em[data-emoji="older_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474-1f3fc.svg");
}
em[data-emoji=":older_man_tone3:"]::before,
em[data-emoji="older_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474-1f3fd.svg");
}
em[data-emoji=":older_man_tone4:"]::before,
em[data-emoji="older_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474-1f3fe.svg");
}
em[data-emoji=":older_man_tone5:"]::before,
em[data-emoji="older_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f474-1f3ff.svg");
}
em[data-emoji=":man_with_chinese_cap:"]::before,
em[data-emoji="man_with_chinese_cap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472.svg");
}
em[data-emoji=":man_with_chinese_cap_tone1:"]::before,
em[data-emoji="man_with_chinese_cap_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472-1f3fb.svg");
}
em[data-emoji=":man_with_chinese_cap_tone2:"]::before,
em[data-emoji="man_with_chinese_cap_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472-1f3fc.svg");
}
em[data-emoji=":man_with_chinese_cap_tone3:"]::before,
em[data-emoji="man_with_chinese_cap_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472-1f3fd.svg");
}
em[data-emoji=":man_with_chinese_cap_tone4:"]::before,
em[data-emoji="man_with_chinese_cap_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472-1f3fe.svg");
}
em[data-emoji=":man_with_chinese_cap_tone5:"]::before,
em[data-emoji="man_with_chinese_cap_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f472-1f3ff.svg");
}
em[data-emoji=":person_wearing_turban:"]::before,
em[data-emoji="person_wearing_turban"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473.svg");
}
em[data-emoji=":person_wearing_turban_tone1:"]::before,
em[data-emoji="person_wearing_turban_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fb.svg");
}
em[data-emoji=":person_wearing_turban_tone2:"]::before,
em[data-emoji="person_wearing_turban_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fc.svg");
}
em[data-emoji=":person_wearing_turban_tone3:"]::before,
em[data-emoji="person_wearing_turban_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fd.svg");
}
em[data-emoji=":person_wearing_turban_tone4:"]::before,
em[data-emoji="person_wearing_turban_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fe.svg");
}
em[data-emoji=":person_wearing_turban_tone5:"]::before,
em[data-emoji="person_wearing_turban_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3ff.svg");
}
em[data-emoji=":woman_wearing_turban:"]::before,
em[data-emoji="woman_wearing_turban"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_wearing_turban_tone1:"]::before,
em[data-emoji="woman_wearing_turban_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_wearing_turban_tone2:"]::before,
em[data-emoji="woman_wearing_turban_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_wearing_turban_tone3:"]::before,
em[data-emoji="woman_wearing_turban_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_wearing_turban_tone4:"]::before,
em[data-emoji="woman_wearing_turban_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_wearing_turban_tone5:"]::before,
em[data-emoji="woman_wearing_turban_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_wearing_turban:"]::before,
em[data-emoji="man_wearing_turban"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-200d-2642-fe0f.svg");
}
em[data-emoji=":man_wearing_turban_tone1:"]::before,
em[data-emoji="man_wearing_turban_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_wearing_turban_tone2:"]::before,
em[data-emoji="man_wearing_turban_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_wearing_turban_tone3:"]::before,
em[data-emoji="man_wearing_turban_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_wearing_turban_tone4:"]::before,
em[data-emoji="man_wearing_turban_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_wearing_turban_tone5:"]::before,
em[data-emoji="man_wearing_turban_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f473-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":woman_with_headscarf:"]::before,
em[data-emoji="woman_with_headscarf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5.svg");
}
em[data-emoji=":woman_with_headscarf_tone1:"]::before,
em[data-emoji="woman_with_headscarf_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5-1f3fb.svg");
}
em[data-emoji=":woman_with_headscarf_tone2:"]::before,
em[data-emoji="woman_with_headscarf_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5-1f3fc.svg");
}
em[data-emoji=":woman_with_headscarf_tone3:"]::before,
em[data-emoji="woman_with_headscarf_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5-1f3fd.svg");
}
em[data-emoji=":woman_with_headscarf_tone4:"]::before,
em[data-emoji="woman_with_headscarf_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5-1f3fe.svg");
}
em[data-emoji=":woman_with_headscarf_tone5:"]::before,
em[data-emoji="woman_with_headscarf_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d5-1f3ff.svg");
}
em[data-emoji=":police_officer:"]::before,
em[data-emoji="police_officer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e.svg");
}
em[data-emoji=":police_officer_tone1:"]::before,
em[data-emoji="police_officer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fb.svg");
}
em[data-emoji=":police_officer_tone2:"]::before,
em[data-emoji="police_officer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fc.svg");
}
em[data-emoji=":police_officer_tone3:"]::before,
em[data-emoji="police_officer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fd.svg");
}
em[data-emoji=":police_officer_tone4:"]::before,
em[data-emoji="police_officer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fe.svg");
}
em[data-emoji=":police_officer_tone5:"]::before,
em[data-emoji="police_officer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3ff.svg");
}
em[data-emoji=":woman_police_officer:"]::before,
em[data-emoji="woman_police_officer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_police_officer_tone1:"]::before,
em[data-emoji="woman_police_officer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_police_officer_tone2:"]::before,
em[data-emoji="woman_police_officer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_police_officer_tone3:"]::before,
em[data-emoji="woman_police_officer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_police_officer_tone4:"]::before,
em[data-emoji="woman_police_officer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_police_officer_tone5:"]::before,
em[data-emoji="woman_police_officer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_police_officer:"]::before,
em[data-emoji="man_police_officer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-200d-2642-fe0f.svg");
}
em[data-emoji=":man_police_officer_tone1:"]::before,
em[data-emoji="man_police_officer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_police_officer_tone2:"]::before,
em[data-emoji="man_police_officer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_police_officer_tone3:"]::before,
em[data-emoji="man_police_officer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_police_officer_tone4:"]::before,
em[data-emoji="man_police_officer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_police_officer_tone5:"]::before,
em[data-emoji="man_police_officer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46e-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":construction_worker:"]::before,
em[data-emoji="construction_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477.svg");
}
em[data-emoji=":construction_worker_tone1:"]::before,
em[data-emoji="construction_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fb.svg");
}
em[data-emoji=":construction_worker_tone2:"]::before,
em[data-emoji="construction_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fc.svg");
}
em[data-emoji=":construction_worker_tone3:"]::before,
em[data-emoji="construction_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fd.svg");
}
em[data-emoji=":construction_worker_tone4:"]::before,
em[data-emoji="construction_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fe.svg");
}
em[data-emoji=":construction_worker_tone5:"]::before,
em[data-emoji="construction_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3ff.svg");
}
em[data-emoji=":woman_construction_worker:"]::before,
em[data-emoji="woman_construction_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_construction_worker_tone1:"]::before,
em[data-emoji="woman_construction_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_construction_worker_tone2:"]::before,
em[data-emoji="woman_construction_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_construction_worker_tone3:"]::before,
em[data-emoji="woman_construction_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_construction_worker_tone4:"]::before,
em[data-emoji="woman_construction_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_construction_worker_tone5:"]::before,
em[data-emoji="woman_construction_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_construction_worker:"]::before,
em[data-emoji="man_construction_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-200d-2642-fe0f.svg");
}
em[data-emoji=":man_construction_worker_tone1:"]::before,
em[data-emoji="man_construction_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_construction_worker_tone2:"]::before,
em[data-emoji="man_construction_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_construction_worker_tone3:"]::before,
em[data-emoji="man_construction_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_construction_worker_tone4:"]::before,
em[data-emoji="man_construction_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_construction_worker_tone5:"]::before,
em[data-emoji="man_construction_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f477-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":guard:"]::before,
em[data-emoji="guard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482.svg");
}
em[data-emoji=":guard_tone1:"]::before,
em[data-emoji="guard_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fb.svg");
}
em[data-emoji=":guard_tone2:"]::before,
em[data-emoji="guard_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fc.svg");
}
em[data-emoji=":guard_tone3:"]::before,
em[data-emoji="guard_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fd.svg");
}
em[data-emoji=":guard_tone4:"]::before,
em[data-emoji="guard_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fe.svg");
}
em[data-emoji=":guard_tone5:"]::before,
em[data-emoji="guard_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3ff.svg");
}
em[data-emoji=":woman_guard:"]::before,
em[data-emoji="woman_guard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_guard_tone1:"]::before,
em[data-emoji="woman_guard_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_guard_tone2:"]::before,
em[data-emoji="woman_guard_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_guard_tone3:"]::before,
em[data-emoji="woman_guard_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_guard_tone4:"]::before,
em[data-emoji="woman_guard_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_guard_tone5:"]::before,
em[data-emoji="woman_guard_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_guard:"]::before,
em[data-emoji="man_guard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-200d-2642-fe0f.svg");
}
em[data-emoji=":man_guard_tone1:"]::before,
em[data-emoji="man_guard_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_guard_tone2:"]::before,
em[data-emoji="man_guard_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_guard_tone3:"]::before,
em[data-emoji="man_guard_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_guard_tone4:"]::before,
em[data-emoji="man_guard_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_guard_tone5:"]::before,
em[data-emoji="man_guard_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f482-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":detective:"]::before,
em[data-emoji="detective"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575.svg");
}
em[data-emoji=":detective_tone1:"]::before,
em[data-emoji="detective_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fb.svg");
}
em[data-emoji=":detective_tone2:"]::before,
em[data-emoji="detective_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fc.svg");
}
em[data-emoji=":detective_tone3:"]::before,
em[data-emoji="detective_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fd.svg");
}
em[data-emoji=":detective_tone4:"]::before,
em[data-emoji="detective_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fe.svg");
}
em[data-emoji=":detective_tone5:"]::before,
em[data-emoji="detective_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3ff.svg");
}
em[data-emoji=":woman_detective:"]::before,
em[data-emoji="woman_detective"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-fe0f-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_detective_tone1:"]::before,
em[data-emoji="woman_detective_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_detective_tone2:"]::before,
em[data-emoji="woman_detective_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_detective_tone3:"]::before,
em[data-emoji="woman_detective_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_detective_tone4:"]::before,
em[data-emoji="woman_detective_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_detective_tone5:"]::before,
em[data-emoji="woman_detective_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_detective:"]::before,
em[data-emoji="man_detective"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-fe0f-200d-2642-fe0f.svg");
}
em[data-emoji=":man_detective_tone1:"]::before,
em[data-emoji="man_detective_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_detective_tone2:"]::before,
em[data-emoji="man_detective_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_detective_tone3:"]::before,
em[data-emoji="man_detective_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_detective_tone4:"]::before,
em[data-emoji="man_detective_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_detective_tone5:"]::before,
em[data-emoji="man_detective_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f575-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":health_worker:"]::before,
em[data-emoji="health_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-2695-fe0f.svg");
}
em[data-emoji=":health_worker_tone1:"]::before,
em[data-emoji="health_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2695-fe0f.svg");
}
em[data-emoji=":health_worker_tone2:"]::before,
em[data-emoji="health_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2695-fe0f.svg");
}
em[data-emoji=":health_worker_tone3:"]::before,
em[data-emoji="health_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2695-fe0f.svg");
}
em[data-emoji=":health_worker_tone4:"]::before,
em[data-emoji="health_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2695-fe0f.svg");
}
em[data-emoji=":health_worker_tone5:"]::before,
em[data-emoji="health_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker:"]::before,
em[data-emoji="woman_health_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker_tone1:"]::before,
em[data-emoji="woman_health_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker_tone2:"]::before,
em[data-emoji="woman_health_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker_tone3:"]::before,
em[data-emoji="woman_health_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker_tone4:"]::before,
em[data-emoji="woman_health_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2695-fe0f.svg");
}
em[data-emoji=":woman_health_worker_tone5:"]::before,
em[data-emoji="woman_health_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker:"]::before,
em[data-emoji="man_health_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker_tone1:"]::before,
em[data-emoji="man_health_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker_tone2:"]::before,
em[data-emoji="man_health_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker_tone3:"]::before,
em[data-emoji="man_health_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker_tone4:"]::before,
em[data-emoji="man_health_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2695-fe0f.svg");
}
em[data-emoji=":man_health_worker_tone5:"]::before,
em[data-emoji="man_health_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2695-fe0f.svg");
}
em[data-emoji=":farmer:"]::before,
em[data-emoji="farmer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f33e.svg");
}
em[data-emoji=":farmer_tone1:"]::before,
em[data-emoji="farmer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f33e.svg");
}
em[data-emoji=":farmer_tone2:"]::before,
em[data-emoji="farmer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f33e.svg");
}
em[data-emoji=":farmer_tone3:"]::before,
em[data-emoji="farmer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f33e.svg");
}
em[data-emoji=":farmer_tone4:"]::before,
em[data-emoji="farmer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f33e.svg");
}
em[data-emoji=":farmer_tone5:"]::before,
em[data-emoji="farmer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer:"]::before,
em[data-emoji="woman_farmer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer_tone1:"]::before,
em[data-emoji="woman_farmer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer_tone2:"]::before,
em[data-emoji="woman_farmer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer_tone3:"]::before,
em[data-emoji="woman_farmer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer_tone4:"]::before,
em[data-emoji="woman_farmer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f33e.svg");
}
em[data-emoji=":woman_farmer_tone5:"]::before,
em[data-emoji="woman_farmer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f33e.svg");
}
em[data-emoji=":man_farmer:"]::before,
em[data-emoji="man_farmer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f33e.svg");
}
em[data-emoji=":man_farmer_tone1:"]::before,
em[data-emoji="man_farmer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f33e.svg");
}
em[data-emoji=":man_farmer_tone2:"]::before,
em[data-emoji="man_farmer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f33e.svg");
}
em[data-emoji=":man_farmer_tone3:"]::before,
em[data-emoji="man_farmer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f33e.svg");
}
em[data-emoji=":man_farmer_tone4:"]::before,
em[data-emoji="man_farmer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f33e.svg");
}
em[data-emoji=":man_farmer_tone5:"]::before,
em[data-emoji="man_farmer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f33e.svg");
}
em[data-emoji=":cook:"]::before,
em[data-emoji="cook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f373.svg");
}
em[data-emoji=":cook_tone1:"]::before,
em[data-emoji="cook_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f373.svg");
}
em[data-emoji=":cook_tone2:"]::before,
em[data-emoji="cook_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f373.svg");
}
em[data-emoji=":cook_tone3:"]::before,
em[data-emoji="cook_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f373.svg");
}
em[data-emoji=":cook_tone4:"]::before,
em[data-emoji="cook_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f373.svg");
}
em[data-emoji=":cook_tone5:"]::before,
em[data-emoji="cook_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f373.svg");
}
em[data-emoji=":woman_cook:"]::before,
em[data-emoji="woman_cook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f373.svg");
}
em[data-emoji=":woman_cook_tone1:"]::before,
em[data-emoji="woman_cook_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f373.svg");
}
em[data-emoji=":woman_cook_tone2:"]::before,
em[data-emoji="woman_cook_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f373.svg");
}
em[data-emoji=":woman_cook_tone3:"]::before,
em[data-emoji="woman_cook_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f373.svg");
}
em[data-emoji=":woman_cook_tone4:"]::before,
em[data-emoji="woman_cook_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f373.svg");
}
em[data-emoji=":woman_cook_tone5:"]::before,
em[data-emoji="woman_cook_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f373.svg");
}
em[data-emoji=":man_cook:"]::before,
em[data-emoji="man_cook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f373.svg");
}
em[data-emoji=":man_cook_tone1:"]::before,
em[data-emoji="man_cook_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f373.svg");
}
em[data-emoji=":man_cook_tone2:"]::before,
em[data-emoji="man_cook_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f373.svg");
}
em[data-emoji=":man_cook_tone3:"]::before,
em[data-emoji="man_cook_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f373.svg");
}
em[data-emoji=":man_cook_tone4:"]::before,
em[data-emoji="man_cook_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f373.svg");
}
em[data-emoji=":man_cook_tone5:"]::before,
em[data-emoji="man_cook_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f373.svg");
}
em[data-emoji=":student:"]::before,
em[data-emoji="student"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f393.svg");
}
em[data-emoji=":student_tone1:"]::before,
em[data-emoji="student_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f393.svg");
}
em[data-emoji=":student_tone2:"]::before,
em[data-emoji="student_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f393.svg");
}
em[data-emoji=":student_tone3:"]::before,
em[data-emoji="student_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f393.svg");
}
em[data-emoji=":student_tone4:"]::before,
em[data-emoji="student_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f393.svg");
}
em[data-emoji=":student_tone5:"]::before,
em[data-emoji="student_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f393.svg");
}
em[data-emoji=":woman_student:"]::before,
em[data-emoji="woman_student"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f393.svg");
}
em[data-emoji=":woman_student_tone1:"]::before,
em[data-emoji="woman_student_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f393.svg");
}
em[data-emoji=":woman_student_tone2:"]::before,
em[data-emoji="woman_student_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f393.svg");
}
em[data-emoji=":woman_student_tone3:"]::before,
em[data-emoji="woman_student_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f393.svg");
}
em[data-emoji=":woman_student_tone4:"]::before,
em[data-emoji="woman_student_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f393.svg");
}
em[data-emoji=":woman_student_tone5:"]::before,
em[data-emoji="woman_student_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f393.svg");
}
em[data-emoji=":man_student:"]::before,
em[data-emoji="man_student"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f393.svg");
}
em[data-emoji=":man_student_tone1:"]::before,
em[data-emoji="man_student_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f393.svg");
}
em[data-emoji=":man_student_tone2:"]::before,
em[data-emoji="man_student_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f393.svg");
}
em[data-emoji=":man_student_tone3:"]::before,
em[data-emoji="man_student_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f393.svg");
}
em[data-emoji=":man_student_tone4:"]::before,
em[data-emoji="man_student_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f393.svg");
}
em[data-emoji=":man_student_tone5:"]::before,
em[data-emoji="man_student_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f393.svg");
}
em[data-emoji=":singer:"]::before,
em[data-emoji="singer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f3a4.svg");
}
em[data-emoji=":singer_tone1:"]::before,
em[data-emoji="singer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f3a4.svg");
}
em[data-emoji=":singer_tone2:"]::before,
em[data-emoji="singer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f3a4.svg");
}
em[data-emoji=":singer_tone3:"]::before,
em[data-emoji="singer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f3a4.svg");
}
em[data-emoji=":singer_tone4:"]::before,
em[data-emoji="singer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f3a4.svg");
}
em[data-emoji=":singer_tone5:"]::before,
em[data-emoji="singer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer:"]::before,
em[data-emoji="woman_singer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer_tone1:"]::before,
em[data-emoji="woman_singer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer_tone2:"]::before,
em[data-emoji="woman_singer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer_tone3:"]::before,
em[data-emoji="woman_singer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer_tone4:"]::before,
em[data-emoji="woman_singer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f3a4.svg");
}
em[data-emoji=":woman_singer_tone5:"]::before,
em[data-emoji="woman_singer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f3a4.svg");
}
em[data-emoji=":man_singer:"]::before,
em[data-emoji="man_singer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f3a4.svg");
}
em[data-emoji=":man_singer_tone1:"]::before,
em[data-emoji="man_singer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f3a4.svg");
}
em[data-emoji=":man_singer_tone2:"]::before,
em[data-emoji="man_singer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f3a4.svg");
}
em[data-emoji=":man_singer_tone3:"]::before,
em[data-emoji="man_singer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f3a4.svg");
}
em[data-emoji=":man_singer_tone4:"]::before,
em[data-emoji="man_singer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f3a4.svg");
}
em[data-emoji=":man_singer_tone5:"]::before,
em[data-emoji="man_singer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f3a4.svg");
}
em[data-emoji=":teacher:"]::before,
em[data-emoji="teacher"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f3eb.svg");
}
em[data-emoji=":teacher_tone1:"]::before,
em[data-emoji="teacher_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f3eb.svg");
}
em[data-emoji=":teacher_tone2:"]::before,
em[data-emoji="teacher_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f3eb.svg");
}
em[data-emoji=":teacher_tone3:"]::before,
em[data-emoji="teacher_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f3eb.svg");
}
em[data-emoji=":teacher_tone4:"]::before,
em[data-emoji="teacher_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f3eb.svg");
}
em[data-emoji=":teacher_tone5:"]::before,
em[data-emoji="teacher_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher:"]::before,
em[data-emoji="woman_teacher"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher_tone1:"]::before,
em[data-emoji="woman_teacher_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher_tone2:"]::before,
em[data-emoji="woman_teacher_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher_tone3:"]::before,
em[data-emoji="woman_teacher_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher_tone4:"]::before,
em[data-emoji="woman_teacher_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f3eb.svg");
}
em[data-emoji=":woman_teacher_tone5:"]::before,
em[data-emoji="woman_teacher_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher:"]::before,
em[data-emoji="man_teacher"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher_tone1:"]::before,
em[data-emoji="man_teacher_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher_tone2:"]::before,
em[data-emoji="man_teacher_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher_tone3:"]::before,
em[data-emoji="man_teacher_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher_tone4:"]::before,
em[data-emoji="man_teacher_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f3eb.svg");
}
em[data-emoji=":man_teacher_tone5:"]::before,
em[data-emoji="man_teacher_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f3eb.svg");
}
em[data-emoji=":factory_worker:"]::before,
em[data-emoji="factory_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f3ed.svg");
}
em[data-emoji=":factory_worker_tone1:"]::before,
em[data-emoji="factory_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f3ed.svg");
}
em[data-emoji=":factory_worker_tone2:"]::before,
em[data-emoji="factory_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f3ed.svg");
}
em[data-emoji=":factory_worker_tone3:"]::before,
em[data-emoji="factory_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f3ed.svg");
}
em[data-emoji=":factory_worker_tone4:"]::before,
em[data-emoji="factory_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f3ed.svg");
}
em[data-emoji=":factory_worker_tone5:"]::before,
em[data-emoji="factory_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker:"]::before,
em[data-emoji="woman_factory_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker_tone1:"]::before,
em[data-emoji="woman_factory_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker_tone2:"]::before,
em[data-emoji="woman_factory_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker_tone3:"]::before,
em[data-emoji="woman_factory_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker_tone4:"]::before,
em[data-emoji="woman_factory_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f3ed.svg");
}
em[data-emoji=":woman_factory_worker_tone5:"]::before,
em[data-emoji="woman_factory_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker:"]::before,
em[data-emoji="man_factory_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker_tone1:"]::before,
em[data-emoji="man_factory_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker_tone2:"]::before,
em[data-emoji="man_factory_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker_tone3:"]::before,
em[data-emoji="man_factory_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker_tone4:"]::before,
em[data-emoji="man_factory_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f3ed.svg");
}
em[data-emoji=":man_factory_worker_tone5:"]::before,
em[data-emoji="man_factory_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f3ed.svg");
}
em[data-emoji=":technologist:"]::before,
em[data-emoji="technologist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f4bb.svg");
}
em[data-emoji=":technologist_tone1:"]::before,
em[data-emoji="technologist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f4bb.svg");
}
em[data-emoji=":technologist_tone2:"]::before,
em[data-emoji="technologist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f4bb.svg");
}
em[data-emoji=":technologist_tone3:"]::before,
em[data-emoji="technologist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f4bb.svg");
}
em[data-emoji=":technologist_tone4:"]::before,
em[data-emoji="technologist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f4bb.svg");
}
em[data-emoji=":technologist_tone5:"]::before,
em[data-emoji="technologist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist:"]::before,
em[data-emoji="woman_technologist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist_tone1:"]::before,
em[data-emoji="woman_technologist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist_tone2:"]::before,
em[data-emoji="woman_technologist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist_tone3:"]::before,
em[data-emoji="woman_technologist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist_tone4:"]::before,
em[data-emoji="woman_technologist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f4bb.svg");
}
em[data-emoji=":woman_technologist_tone5:"]::before,
em[data-emoji="woman_technologist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist:"]::before,
em[data-emoji="man_technologist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist_tone1:"]::before,
em[data-emoji="man_technologist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist_tone2:"]::before,
em[data-emoji="man_technologist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist_tone3:"]::before,
em[data-emoji="man_technologist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist_tone4:"]::before,
em[data-emoji="man_technologist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f4bb.svg");
}
em[data-emoji=":man_technologist_tone5:"]::before,
em[data-emoji="man_technologist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f4bb.svg");
}
em[data-emoji=":office_worker:"]::before,
em[data-emoji="office_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f4bc.svg");
}
em[data-emoji=":office_worker_tone1:"]::before,
em[data-emoji="office_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f4bc.svg");
}
em[data-emoji=":office_worker_tone2:"]::before,
em[data-emoji="office_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f4bc.svg");
}
em[data-emoji=":office_worker_tone3:"]::before,
em[data-emoji="office_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f4bc.svg");
}
em[data-emoji=":office_worker_tone4:"]::before,
em[data-emoji="office_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f4bc.svg");
}
em[data-emoji=":office_worker_tone5:"]::before,
em[data-emoji="office_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker:"]::before,
em[data-emoji="woman_office_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker_tone1:"]::before,
em[data-emoji="woman_office_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker_tone2:"]::before,
em[data-emoji="woman_office_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker_tone3:"]::before,
em[data-emoji="woman_office_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker_tone4:"]::before,
em[data-emoji="woman_office_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f4bc.svg");
}
em[data-emoji=":woman_office_worker_tone5:"]::before,
em[data-emoji="woman_office_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker:"]::before,
em[data-emoji="man_office_worker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker_tone1:"]::before,
em[data-emoji="man_office_worker_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker_tone2:"]::before,
em[data-emoji="man_office_worker_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker_tone3:"]::before,
em[data-emoji="man_office_worker_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker_tone4:"]::before,
em[data-emoji="man_office_worker_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f4bc.svg");
}
em[data-emoji=":man_office_worker_tone5:"]::before,
em[data-emoji="man_office_worker_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f4bc.svg");
}
em[data-emoji=":mechanic:"]::before,
em[data-emoji="mechanic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f527.svg");
}
em[data-emoji=":mechanic_tone1:"]::before,
em[data-emoji="mechanic_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f527.svg");
}
em[data-emoji=":mechanic_tone2:"]::before,
em[data-emoji="mechanic_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f527.svg");
}
em[data-emoji=":mechanic_tone3:"]::before,
em[data-emoji="mechanic_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f527.svg");
}
em[data-emoji=":mechanic_tone4:"]::before,
em[data-emoji="mechanic_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f527.svg");
}
em[data-emoji=":mechanic_tone5:"]::before,
em[data-emoji="mechanic_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic:"]::before,
em[data-emoji="woman_mechanic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic_tone1:"]::before,
em[data-emoji="woman_mechanic_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic_tone2:"]::before,
em[data-emoji="woman_mechanic_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic_tone3:"]::before,
em[data-emoji="woman_mechanic_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic_tone4:"]::before,
em[data-emoji="woman_mechanic_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f527.svg");
}
em[data-emoji=":woman_mechanic_tone5:"]::before,
em[data-emoji="woman_mechanic_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f527.svg");
}
em[data-emoji=":man_mechanic:"]::before,
em[data-emoji="man_mechanic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f527.svg");
}
em[data-emoji=":man_mechanic_tone1:"]::before,
em[data-emoji="man_mechanic_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f527.svg");
}
em[data-emoji=":man_mechanic_tone2:"]::before,
em[data-emoji="man_mechanic_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f527.svg");
}
em[data-emoji=":man_mechanic_tone3:"]::before,
em[data-emoji="man_mechanic_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f527.svg");
}
em[data-emoji=":man_mechanic_tone4:"]::before,
em[data-emoji="man_mechanic_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f527.svg");
}
em[data-emoji=":man_mechanic_tone5:"]::before,
em[data-emoji="man_mechanic_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f527.svg");
}
em[data-emoji=":scientist:"]::before,
em[data-emoji="scientist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f52c.svg");
}
em[data-emoji=":scientist_tone1:"]::before,
em[data-emoji="scientist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f52c.svg");
}
em[data-emoji=":scientist_tone2:"]::before,
em[data-emoji="scientist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f52c.svg");
}
em[data-emoji=":scientist_tone3:"]::before,
em[data-emoji="scientist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f52c.svg");
}
em[data-emoji=":scientist_tone4:"]::before,
em[data-emoji="scientist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f52c.svg");
}
em[data-emoji=":scientist_tone5:"]::before,
em[data-emoji="scientist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist:"]::before,
em[data-emoji="woman_scientist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist_tone1:"]::before,
em[data-emoji="woman_scientist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist_tone2:"]::before,
em[data-emoji="woman_scientist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist_tone3:"]::before,
em[data-emoji="woman_scientist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist_tone4:"]::before,
em[data-emoji="woman_scientist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f52c.svg");
}
em[data-emoji=":woman_scientist_tone5:"]::before,
em[data-emoji="woman_scientist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f52c.svg");
}
em[data-emoji=":man_scientist:"]::before,
em[data-emoji="man_scientist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f52c.svg");
}
em[data-emoji=":man_scientist_tone1:"]::before,
em[data-emoji="man_scientist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f52c.svg");
}
em[data-emoji=":man_scientist_tone2:"]::before,
em[data-emoji="man_scientist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f52c.svg");
}
em[data-emoji=":man_scientist_tone3:"]::before,
em[data-emoji="man_scientist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f52c.svg");
}
em[data-emoji=":man_scientist_tone4:"]::before,
em[data-emoji="man_scientist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f52c.svg");
}
em[data-emoji=":man_scientist_tone5:"]::before,
em[data-emoji="man_scientist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f52c.svg");
}
em[data-emoji=":artist:"]::before,
em[data-emoji="artist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f3a8.svg");
}
em[data-emoji=":artist_tone1:"]::before,
em[data-emoji="artist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f3a8.svg");
}
em[data-emoji=":artist_tone2:"]::before,
em[data-emoji="artist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f3a8.svg");
}
em[data-emoji=":artist_tone3:"]::before,
em[data-emoji="artist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f3a8.svg");
}
em[data-emoji=":artist_tone4:"]::before,
em[data-emoji="artist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f3a8.svg");
}
em[data-emoji=":artist_tone5:"]::before,
em[data-emoji="artist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist:"]::before,
em[data-emoji="woman_artist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist_tone1:"]::before,
em[data-emoji="woman_artist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist_tone2:"]::before,
em[data-emoji="woman_artist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist_tone3:"]::before,
em[data-emoji="woman_artist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist_tone4:"]::before,
em[data-emoji="woman_artist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f3a8.svg");
}
em[data-emoji=":woman_artist_tone5:"]::before,
em[data-emoji="woman_artist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f3a8.svg");
}
em[data-emoji=":man_artist:"]::before,
em[data-emoji="man_artist"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f3a8.svg");
}
em[data-emoji=":man_artist_tone1:"]::before,
em[data-emoji="man_artist_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f3a8.svg");
}
em[data-emoji=":man_artist_tone2:"]::before,
em[data-emoji="man_artist_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f3a8.svg");
}
em[data-emoji=":man_artist_tone3:"]::before,
em[data-emoji="man_artist_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f3a8.svg");
}
em[data-emoji=":man_artist_tone4:"]::before,
em[data-emoji="man_artist_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f3a8.svg");
}
em[data-emoji=":man_artist_tone5:"]::before,
em[data-emoji="man_artist_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f3a8.svg");
}
em[data-emoji=":firefighter:"]::before,
em[data-emoji="firefighter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f692.svg");
}
em[data-emoji=":firefighter_tone1:"]::before,
em[data-emoji="firefighter_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f692.svg");
}
em[data-emoji=":firefighter_tone2:"]::before,
em[data-emoji="firefighter_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f692.svg");
}
em[data-emoji=":firefighter_tone3:"]::before,
em[data-emoji="firefighter_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f692.svg");
}
em[data-emoji=":firefighter_tone4:"]::before,
em[data-emoji="firefighter_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f692.svg");
}
em[data-emoji=":firefighter_tone5:"]::before,
em[data-emoji="firefighter_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter:"]::before,
em[data-emoji="woman_firefighter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter_tone1:"]::before,
em[data-emoji="woman_firefighter_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter_tone2:"]::before,
em[data-emoji="woman_firefighter_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter_tone3:"]::before,
em[data-emoji="woman_firefighter_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter_tone4:"]::before,
em[data-emoji="woman_firefighter_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f692.svg");
}
em[data-emoji=":woman_firefighter_tone5:"]::before,
em[data-emoji="woman_firefighter_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f692.svg");
}
em[data-emoji=":man_firefighter:"]::before,
em[data-emoji="man_firefighter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f692.svg");
}
em[data-emoji=":man_firefighter_tone1:"]::before,
em[data-emoji="man_firefighter_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f692.svg");
}
em[data-emoji=":man_firefighter_tone2:"]::before,
em[data-emoji="man_firefighter_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f692.svg");
}
em[data-emoji=":man_firefighter_tone3:"]::before,
em[data-emoji="man_firefighter_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f692.svg");
}
em[data-emoji=":man_firefighter_tone4:"]::before,
em[data-emoji="man_firefighter_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f692.svg");
}
em[data-emoji=":man_firefighter_tone5:"]::before,
em[data-emoji="man_firefighter_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f692.svg");
}
em[data-emoji=":pilot:"]::before,
em[data-emoji="pilot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-2708-fe0f.svg");
}
em[data-emoji=":pilot_tone1:"]::before,
em[data-emoji="pilot_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2708-fe0f.svg");
}
em[data-emoji=":pilot_tone2:"]::before,
em[data-emoji="pilot_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2708-fe0f.svg");
}
em[data-emoji=":pilot_tone3:"]::before,
em[data-emoji="pilot_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2708-fe0f.svg");
}
em[data-emoji=":pilot_tone4:"]::before,
em[data-emoji="pilot_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2708-fe0f.svg");
}
em[data-emoji=":pilot_tone5:"]::before,
em[data-emoji="pilot_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot:"]::before,
em[data-emoji="woman_pilot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot_tone1:"]::before,
em[data-emoji="woman_pilot_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot_tone2:"]::before,
em[data-emoji="woman_pilot_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot_tone3:"]::before,
em[data-emoji="woman_pilot_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot_tone4:"]::before,
em[data-emoji="woman_pilot_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2708-fe0f.svg");
}
em[data-emoji=":woman_pilot_tone5:"]::before,
em[data-emoji="woman_pilot_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot:"]::before,
em[data-emoji="man_pilot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot_tone1:"]::before,
em[data-emoji="man_pilot_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot_tone2:"]::before,
em[data-emoji="man_pilot_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot_tone3:"]::before,
em[data-emoji="man_pilot_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot_tone4:"]::before,
em[data-emoji="man_pilot_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2708-fe0f.svg");
}
em[data-emoji=":man_pilot_tone5:"]::before,
em[data-emoji="man_pilot_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2708-fe0f.svg");
}
em[data-emoji=":astronaut:"]::before,
em[data-emoji="astronaut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f680.svg");
}
em[data-emoji=":astronaut_tone1:"]::before,
em[data-emoji="astronaut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f680.svg");
}
em[data-emoji=":astronaut_tone2:"]::before,
em[data-emoji="astronaut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f680.svg");
}
em[data-emoji=":astronaut_tone3:"]::before,
em[data-emoji="astronaut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f680.svg");
}
em[data-emoji=":astronaut_tone4:"]::before,
em[data-emoji="astronaut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f680.svg");
}
em[data-emoji=":astronaut_tone5:"]::before,
em[data-emoji="astronaut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut:"]::before,
em[data-emoji="woman_astronaut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut_tone1:"]::before,
em[data-emoji="woman_astronaut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut_tone2:"]::before,
em[data-emoji="woman_astronaut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut_tone3:"]::before,
em[data-emoji="woman_astronaut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut_tone4:"]::before,
em[data-emoji="woman_astronaut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f680.svg");
}
em[data-emoji=":woman_astronaut_tone5:"]::before,
em[data-emoji="woman_astronaut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f680.svg");
}
em[data-emoji=":man_astronaut:"]::before,
em[data-emoji="man_astronaut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f680.svg");
}
em[data-emoji=":man_astronaut_tone1:"]::before,
em[data-emoji="man_astronaut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f680.svg");
}
em[data-emoji=":man_astronaut_tone2:"]::before,
em[data-emoji="man_astronaut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f680.svg");
}
em[data-emoji=":man_astronaut_tone3:"]::before,
em[data-emoji="man_astronaut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f680.svg");
}
em[data-emoji=":man_astronaut_tone4:"]::before,
em[data-emoji="man_astronaut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f680.svg");
}
em[data-emoji=":man_astronaut_tone5:"]::before,
em[data-emoji="man_astronaut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f680.svg");
}
em[data-emoji=":judge:"]::before,
em[data-emoji="judge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-2696-fe0f.svg");
}
em[data-emoji=":judge_tone1:"]::before,
em[data-emoji="judge_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2696-fe0f.svg");
}
em[data-emoji=":judge_tone2:"]::before,
em[data-emoji="judge_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2696-fe0f.svg");
}
em[data-emoji=":judge_tone3:"]::before,
em[data-emoji="judge_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2696-fe0f.svg");
}
em[data-emoji=":judge_tone4:"]::before,
em[data-emoji="judge_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2696-fe0f.svg");
}
em[data-emoji=":judge_tone5:"]::before,
em[data-emoji="judge_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge:"]::before,
em[data-emoji="woman_judge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge_tone1:"]::before,
em[data-emoji="woman_judge_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge_tone2:"]::before,
em[data-emoji="woman_judge_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge_tone3:"]::before,
em[data-emoji="woman_judge_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge_tone4:"]::before,
em[data-emoji="woman_judge_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2696-fe0f.svg");
}
em[data-emoji=":woman_judge_tone5:"]::before,
em[data-emoji="woman_judge_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge:"]::before,
em[data-emoji="man_judge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge_tone1:"]::before,
em[data-emoji="man_judge_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge_tone2:"]::before,
em[data-emoji="man_judge_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge_tone3:"]::before,
em[data-emoji="man_judge_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge_tone4:"]::before,
em[data-emoji="man_judge_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2696-fe0f.svg");
}
em[data-emoji=":man_judge_tone5:"]::before,
em[data-emoji="man_judge_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2696-fe0f.svg");
}
em[data-emoji=":person_with_veil:"]::before,
em[data-emoji="person_with_veil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470.svg");
}
em[data-emoji=":person_with_veil_tone1:"]::before,
em[data-emoji="person_with_veil_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fb.svg");
}
em[data-emoji=":person_with_veil_tone2:"]::before,
em[data-emoji="person_with_veil_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fc.svg");
}
em[data-emoji=":person_with_veil_tone3:"]::before,
em[data-emoji="person_with_veil_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fd.svg");
}
em[data-emoji=":person_with_veil_tone4:"]::before,
em[data-emoji="person_with_veil_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fe.svg");
}
em[data-emoji=":person_with_veil_tone5:"]::before,
em[data-emoji="person_with_veil_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3ff.svg");
}
em[data-emoji=":woman_with_veil:"]::before,
em[data-emoji="woman_with_veil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_with_veil_tone1:"]::before,
em[data-emoji="woman_with_veil_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_with_veil_tone2:"]::before,
em[data-emoji="woman_with_veil_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_with_veil_tone3:"]::before,
em[data-emoji="woman_with_veil_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_with_veil_tone4:"]::before,
em[data-emoji="woman_with_veil_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_with_veil_tone5:"]::before,
em[data-emoji="woman_with_veil_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_with_veil:"]::before,
em[data-emoji="man_with_veil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-200d-2642-fe0f.svg");
}
em[data-emoji=":man_with_veil_tone1:"]::before,
em[data-emoji="man_with_veil_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_with_veil_tone2:"]::before,
em[data-emoji="man_with_veil_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_with_veil_tone3:"]::before,
em[data-emoji="man_with_veil_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_with_veil_tone4:"]::before,
em[data-emoji="man_with_veil_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_with_veil_tone5:"]::before,
em[data-emoji="man_with_veil_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f470-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_in_tuxedo:"]::before,
em[data-emoji="person_in_tuxedo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935.svg");
}
em[data-emoji=":person_in_tuxedo_tone1:"]::before,
em[data-emoji="person_in_tuxedo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fb.svg");
}
em[data-emoji=":person_in_tuxedo_tone2:"]::before,
em[data-emoji="person_in_tuxedo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fc.svg");
}
em[data-emoji=":person_in_tuxedo_tone3:"]::before,
em[data-emoji="person_in_tuxedo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fd.svg");
}
em[data-emoji=":person_in_tuxedo_tone4:"]::before,
em[data-emoji="person_in_tuxedo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fe.svg");
}
em[data-emoji=":person_in_tuxedo_tone5:"]::before,
em[data-emoji="person_in_tuxedo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3ff.svg");
}
em[data-emoji=":woman_in_tuxedo:"]::before,
em[data-emoji="woman_in_tuxedo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_tuxedo_tone1:"]::before,
em[data-emoji="woman_in_tuxedo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_tuxedo_tone2:"]::before,
em[data-emoji="woman_in_tuxedo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_tuxedo_tone3:"]::before,
em[data-emoji="woman_in_tuxedo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_tuxedo_tone4:"]::before,
em[data-emoji="woman_in_tuxedo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_tuxedo_tone5:"]::before,
em[data-emoji="woman_in_tuxedo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo:"]::before,
em[data-emoji="man_in_tuxedo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo_tone1:"]::before,
em[data-emoji="man_in_tuxedo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo_tone2:"]::before,
em[data-emoji="man_in_tuxedo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo_tone3:"]::before,
em[data-emoji="man_in_tuxedo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo_tone4:"]::before,
em[data-emoji="man_in_tuxedo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_tuxedo_tone5:"]::before,
em[data-emoji="man_in_tuxedo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f935-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_with_crown:"]::before,
em[data-emoji="person_with_crown"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5.svg");
}
em[data-emoji=":person_with_crown_tone1:"]::before,
em[data-emoji="person_with_crown_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5-1f3fb.svg");
}
em[data-emoji=":person_with_crown_tone2:"]::before,
em[data-emoji="person_with_crown_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5-1f3fc.svg");
}
em[data-emoji=":person_with_crown_tone3:"]::before,
em[data-emoji="person_with_crown_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5-1f3fd.svg");
}
em[data-emoji=":person_with_crown_tone4:"]::before,
em[data-emoji="person_with_crown_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5-1f3fe.svg");
}
em[data-emoji=":person_with_crown_tone5:"]::before,
em[data-emoji="person_with_crown_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac5-1f3ff.svg");
}
em[data-emoji=":princess:"]::before,
em[data-emoji="princess"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478.svg");
}
em[data-emoji=":princess_tone1:"]::before,
em[data-emoji="princess_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478-1f3fb.svg");
}
em[data-emoji=":princess_tone2:"]::before,
em[data-emoji="princess_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478-1f3fc.svg");
}
em[data-emoji=":princess_tone3:"]::before,
em[data-emoji="princess_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478-1f3fd.svg");
}
em[data-emoji=":princess_tone4:"]::before,
em[data-emoji="princess_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478-1f3fe.svg");
}
em[data-emoji=":princess_tone5:"]::before,
em[data-emoji="princess_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f478-1f3ff.svg");
}
em[data-emoji=":prince:"]::before,
em[data-emoji="prince"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934.svg");
}
em[data-emoji=":prince_tone1:"]::before,
em[data-emoji="prince_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934-1f3fb.svg");
}
em[data-emoji=":prince_tone2:"]::before,
em[data-emoji="prince_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934-1f3fc.svg");
}
em[data-emoji=":prince_tone3:"]::before,
em[data-emoji="prince_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934-1f3fd.svg");
}
em[data-emoji=":prince_tone4:"]::before,
em[data-emoji="prince_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934-1f3fe.svg");
}
em[data-emoji=":prince_tone5:"]::before,
em[data-emoji="prince_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f934-1f3ff.svg");
}
em[data-emoji=":superhero:"]::before,
em[data-emoji="superhero"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8.svg");
}
em[data-emoji=":superhero_tone1:"]::before,
em[data-emoji="superhero_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fb.svg");
}
em[data-emoji=":superhero_tone2:"]::before,
em[data-emoji="superhero_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fc.svg");
}
em[data-emoji=":superhero_tone3:"]::before,
em[data-emoji="superhero_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fd.svg");
}
em[data-emoji=":superhero_tone4:"]::before,
em[data-emoji="superhero_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fe.svg");
}
em[data-emoji=":superhero_tone5:"]::before,
em[data-emoji="superhero_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3ff.svg");
}
em[data-emoji=":woman_superhero:"]::before,
em[data-emoji="woman_superhero"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_superhero_tone1:"]::before,
em[data-emoji="woman_superhero_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_superhero_tone2:"]::before,
em[data-emoji="woman_superhero_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_superhero_tone3:"]::before,
em[data-emoji="woman_superhero_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_superhero_tone4:"]::before,
em[data-emoji="woman_superhero_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_superhero_tone5:"]::before,
em[data-emoji="woman_superhero_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_superhero:"]::before,
em[data-emoji="man_superhero"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-200d-2642-fe0f.svg");
}
em[data-emoji=":man_superhero_tone1:"]::before,
em[data-emoji="man_superhero_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_superhero_tone2:"]::before,
em[data-emoji="man_superhero_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_superhero_tone3:"]::before,
em[data-emoji="man_superhero_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_superhero_tone4:"]::before,
em[data-emoji="man_superhero_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_superhero_tone5:"]::before,
em[data-emoji="man_superhero_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b8-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":supervillain:"]::before,
em[data-emoji="supervillain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9.svg");
}
em[data-emoji=":supervillain_tone1:"]::before,
em[data-emoji="supervillain_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fb.svg");
}
em[data-emoji=":supervillain_tone2:"]::before,
em[data-emoji="supervillain_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fc.svg");
}
em[data-emoji=":supervillain_tone3:"]::before,
em[data-emoji="supervillain_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fd.svg");
}
em[data-emoji=":supervillain_tone4:"]::before,
em[data-emoji="supervillain_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fe.svg");
}
em[data-emoji=":supervillain_tone5:"]::before,
em[data-emoji="supervillain_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3ff.svg");
}
em[data-emoji=":woman_supervillain:"]::before,
em[data-emoji="woman_supervillain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_supervillain_tone1:"]::before,
em[data-emoji="woman_supervillain_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_supervillain_tone2:"]::before,
em[data-emoji="woman_supervillain_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_supervillain_tone3:"]::before,
em[data-emoji="woman_supervillain_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_supervillain_tone4:"]::before,
em[data-emoji="woman_supervillain_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_supervillain_tone5:"]::before,
em[data-emoji="woman_supervillain_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_supervillain:"]::before,
em[data-emoji="man_supervillain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-200d-2642-fe0f.svg");
}
em[data-emoji=":man_supervillain_tone1:"]::before,
em[data-emoji="man_supervillain_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_supervillain_tone2:"]::before,
em[data-emoji="man_supervillain_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_supervillain_tone3:"]::before,
em[data-emoji="man_supervillain_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_supervillain_tone4:"]::before,
em[data-emoji="man_supervillain_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_supervillain_tone5:"]::before,
em[data-emoji="man_supervillain_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b9-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":ninja:"]::before,
em[data-emoji="ninja"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977.svg");
}
em[data-emoji=":ninja_tone1:"]::before,
em[data-emoji="ninja_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977-1f3fb.svg");
}
em[data-emoji=":ninja_tone2:"]::before,
em[data-emoji="ninja_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977-1f3fc.svg");
}
em[data-emoji=":ninja_tone3:"]::before,
em[data-emoji="ninja_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977-1f3fd.svg");
}
em[data-emoji=":ninja_tone4:"]::before,
em[data-emoji="ninja_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977-1f3fe.svg");
}
em[data-emoji=":ninja_tone5:"]::before,
em[data-emoji="ninja_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f977-1f3ff.svg");
}
em[data-emoji=":mx_claus:"]::before,
em[data-emoji="mx_claus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f384.svg");
}
em[data-emoji=":mx_claus_tone1:"]::before,
em[data-emoji="mx_claus_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f384.svg");
}
em[data-emoji=":mx_claus_tone2:"]::before,
em[data-emoji="mx_claus_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f384.svg");
}
em[data-emoji=":mx_claus_tone3:"]::before,
em[data-emoji="mx_claus_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f384.svg");
}
em[data-emoji=":mx_claus_tone4:"]::before,
em[data-emoji="mx_claus_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f384.svg");
}
em[data-emoji=":mx_claus_tone5:"]::before,
em[data-emoji="mx_claus_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f384.svg");
}
em[data-emoji=":mrs_claus:"]::before,
em[data-emoji="mrs_claus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936.svg");
}
em[data-emoji=":mrs_claus_tone1:"]::before,
em[data-emoji="mrs_claus_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936-1f3fb.svg");
}
em[data-emoji=":mrs_claus_tone2:"]::before,
em[data-emoji="mrs_claus_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936-1f3fc.svg");
}
em[data-emoji=":mrs_claus_tone3:"]::before,
em[data-emoji="mrs_claus_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936-1f3fd.svg");
}
em[data-emoji=":mrs_claus_tone4:"]::before,
em[data-emoji="mrs_claus_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936-1f3fe.svg");
}
em[data-emoji=":mrs_claus_tone5:"]::before,
em[data-emoji="mrs_claus_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f936-1f3ff.svg");
}
em[data-emoji=":santa:"]::before,
em[data-emoji="santa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385.svg");
}
em[data-emoji=":santa_tone1:"]::before,
em[data-emoji="santa_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385-1f3fb.svg");
}
em[data-emoji=":santa_tone2:"]::before,
em[data-emoji="santa_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385-1f3fc.svg");
}
em[data-emoji=":santa_tone3:"]::before,
em[data-emoji="santa_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385-1f3fd.svg");
}
em[data-emoji=":santa_tone4:"]::before,
em[data-emoji="santa_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385-1f3fe.svg");
}
em[data-emoji=":santa_tone5:"]::before,
em[data-emoji="santa_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f385-1f3ff.svg");
}
em[data-emoji=":mage:"]::before,
em[data-emoji="mage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9.svg");
}
em[data-emoji=":mage_tone1:"]::before,
em[data-emoji="mage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fb.svg");
}
em[data-emoji=":mage_tone2:"]::before,
em[data-emoji="mage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fc.svg");
}
em[data-emoji=":mage_tone3:"]::before,
em[data-emoji="mage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fd.svg");
}
em[data-emoji=":mage_tone4:"]::before,
em[data-emoji="mage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fe.svg");
}
em[data-emoji=":mage_tone5:"]::before,
em[data-emoji="mage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3ff.svg");
}
em[data-emoji=":woman_mage:"]::before,
em[data-emoji="woman_mage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mage_tone1:"]::before,
em[data-emoji="woman_mage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mage_tone2:"]::before,
em[data-emoji="woman_mage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mage_tone3:"]::before,
em[data-emoji="woman_mage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mage_tone4:"]::before,
em[data-emoji="woman_mage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mage_tone5:"]::before,
em[data-emoji="woman_mage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_mage:"]::before,
em[data-emoji="man_mage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mage_tone1:"]::before,
em[data-emoji="man_mage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mage_tone2:"]::before,
em[data-emoji="man_mage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mage_tone3:"]::before,
em[data-emoji="man_mage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mage_tone4:"]::before,
em[data-emoji="man_mage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mage_tone5:"]::before,
em[data-emoji="man_mage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d9-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":elf:"]::before,
em[data-emoji="elf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd.svg");
}
em[data-emoji=":elf_tone1:"]::before,
em[data-emoji="elf_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fb.svg");
}
em[data-emoji=":elf_tone2:"]::before,
em[data-emoji="elf_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fc.svg");
}
em[data-emoji=":elf_tone3:"]::before,
em[data-emoji="elf_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fd.svg");
}
em[data-emoji=":elf_tone4:"]::before,
em[data-emoji="elf_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fe.svg");
}
em[data-emoji=":elf_tone5:"]::before,
em[data-emoji="elf_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3ff.svg");
}
em[data-emoji=":woman_elf:"]::before,
em[data-emoji="woman_elf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_elf_tone1:"]::before,
em[data-emoji="woman_elf_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_elf_tone2:"]::before,
em[data-emoji="woman_elf_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_elf_tone3:"]::before,
em[data-emoji="woman_elf_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_elf_tone4:"]::before,
em[data-emoji="woman_elf_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_elf_tone5:"]::before,
em[data-emoji="woman_elf_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_elf:"]::before,
em[data-emoji="man_elf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_elf_tone1:"]::before,
em[data-emoji="man_elf_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_elf_tone2:"]::before,
em[data-emoji="man_elf_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_elf_tone3:"]::before,
em[data-emoji="man_elf_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_elf_tone4:"]::before,
em[data-emoji="man_elf_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_elf_tone5:"]::before,
em[data-emoji="man_elf_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dd-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":troll:"]::before,
em[data-emoji="troll"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cc.svg");
}
em[data-emoji=":vampire:"]::before,
em[data-emoji="vampire"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db.svg");
}
em[data-emoji=":vampire_tone1:"]::before,
em[data-emoji="vampire_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fb.svg");
}
em[data-emoji=":vampire_tone2:"]::before,
em[data-emoji="vampire_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fc.svg");
}
em[data-emoji=":vampire_tone3:"]::before,
em[data-emoji="vampire_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fd.svg");
}
em[data-emoji=":vampire_tone4:"]::before,
em[data-emoji="vampire_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fe.svg");
}
em[data-emoji=":vampire_tone5:"]::before,
em[data-emoji="vampire_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3ff.svg");
}
em[data-emoji=":woman_vampire:"]::before,
em[data-emoji="woman_vampire"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_vampire_tone1:"]::before,
em[data-emoji="woman_vampire_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_vampire_tone2:"]::before,
em[data-emoji="woman_vampire_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_vampire_tone3:"]::before,
em[data-emoji="woman_vampire_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_vampire_tone4:"]::before,
em[data-emoji="woman_vampire_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_vampire_tone5:"]::before,
em[data-emoji="woman_vampire_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_vampire:"]::before,
em[data-emoji="man_vampire"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-200d-2642-fe0f.svg");
}
em[data-emoji=":man_vampire_tone1:"]::before,
em[data-emoji="man_vampire_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_vampire_tone2:"]::before,
em[data-emoji="man_vampire_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_vampire_tone3:"]::before,
em[data-emoji="man_vampire_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_vampire_tone4:"]::before,
em[data-emoji="man_vampire_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_vampire_tone5:"]::before,
em[data-emoji="man_vampire_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9db-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":zombie:"]::before,
em[data-emoji="zombie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9df.svg");
}
em[data-emoji=":woman_zombie:"]::before,
em[data-emoji="woman_zombie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9df-200d-2640-fe0f.svg");
}
em[data-emoji=":man_zombie:"]::before,
em[data-emoji="man_zombie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9df-200d-2642-fe0f.svg");
}
em[data-emoji=":genie:"]::before,
em[data-emoji="genie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9de.svg");
}
em[data-emoji=":woman_genie:"]::before,
em[data-emoji="woman_genie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9de-200d-2640-fe0f.svg");
}
em[data-emoji=":man_genie:"]::before,
em[data-emoji="man_genie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9de-200d-2642-fe0f.svg");
}
em[data-emoji=":merperson:"]::before,
em[data-emoji="merperson"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc.svg");
}
em[data-emoji=":merperson_tone1:"]::before,
em[data-emoji="merperson_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fb.svg");
}
em[data-emoji=":merperson_tone2:"]::before,
em[data-emoji="merperson_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fc.svg");
}
em[data-emoji=":merperson_tone3:"]::before,
em[data-emoji="merperson_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fd.svg");
}
em[data-emoji=":merperson_tone4:"]::before,
em[data-emoji="merperson_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fe.svg");
}
em[data-emoji=":merperson_tone5:"]::before,
em[data-emoji="merperson_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3ff.svg");
}
em[data-emoji=":mermaid:"]::before,
em[data-emoji="mermaid"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-200d-2640-fe0f.svg");
}
em[data-emoji=":mermaid_tone1:"]::before,
em[data-emoji="mermaid_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":mermaid_tone2:"]::before,
em[data-emoji="mermaid_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":mermaid_tone3:"]::before,
em[data-emoji="mermaid_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":mermaid_tone4:"]::before,
em[data-emoji="mermaid_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":mermaid_tone5:"]::before,
em[data-emoji="mermaid_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":merman:"]::before,
em[data-emoji="merman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-200d-2642-fe0f.svg");
}
em[data-emoji=":merman_tone1:"]::before,
em[data-emoji="merman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":merman_tone2:"]::before,
em[data-emoji="merman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":merman_tone3:"]::before,
em[data-emoji="merman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":merman_tone4:"]::before,
em[data-emoji="merman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":merman_tone5:"]::before,
em[data-emoji="merman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9dc-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":fairy:"]::before,
em[data-emoji="fairy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da.svg");
}
em[data-emoji=":fairy_tone1:"]::before,
em[data-emoji="fairy_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fb.svg");
}
em[data-emoji=":fairy_tone2:"]::before,
em[data-emoji="fairy_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fc.svg");
}
em[data-emoji=":fairy_tone3:"]::before,
em[data-emoji="fairy_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fd.svg");
}
em[data-emoji=":fairy_tone4:"]::before,
em[data-emoji="fairy_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fe.svg");
}
em[data-emoji=":fairy_tone5:"]::before,
em[data-emoji="fairy_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3ff.svg");
}
em[data-emoji=":woman_fairy:"]::before,
em[data-emoji="woman_fairy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_fairy_tone1:"]::before,
em[data-emoji="woman_fairy_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_fairy_tone2:"]::before,
em[data-emoji="woman_fairy_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_fairy_tone3:"]::before,
em[data-emoji="woman_fairy_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_fairy_tone4:"]::before,
em[data-emoji="woman_fairy_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_fairy_tone5:"]::before,
em[data-emoji="woman_fairy_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_fairy:"]::before,
em[data-emoji="man_fairy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-200d-2642-fe0f.svg");
}
em[data-emoji=":man_fairy_tone1:"]::before,
em[data-emoji="man_fairy_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_fairy_tone2:"]::before,
em[data-emoji="man_fairy_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_fairy_tone3:"]::before,
em[data-emoji="man_fairy_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_fairy_tone4:"]::before,
em[data-emoji="man_fairy_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_fairy_tone5:"]::before,
em[data-emoji="man_fairy_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9da-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":angel:"]::before,
em[data-emoji="angel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c.svg");
}
em[data-emoji=":angel_tone1:"]::before,
em[data-emoji="angel_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c-1f3fb.svg");
}
em[data-emoji=":angel_tone2:"]::before,
em[data-emoji="angel_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c-1f3fc.svg");
}
em[data-emoji=":angel_tone3:"]::before,
em[data-emoji="angel_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c-1f3fd.svg");
}
em[data-emoji=":angel_tone4:"]::before,
em[data-emoji="angel_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c-1f3fe.svg");
}
em[data-emoji=":angel_tone5:"]::before,
em[data-emoji="angel_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f47c-1f3ff.svg");
}
em[data-emoji=":pregnant_person:"]::before,
em[data-emoji="pregnant_person"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4.svg");
}
em[data-emoji=":pregnant_person_tone1:"]::before,
em[data-emoji="pregnant_person_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4-1f3fb.svg");
}
em[data-emoji=":pregnant_person_tone2:"]::before,
em[data-emoji="pregnant_person_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4-1f3fc.svg");
}
em[data-emoji=":pregnant_person_tone3:"]::before,
em[data-emoji="pregnant_person_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4-1f3fd.svg");
}
em[data-emoji=":pregnant_person_tone4:"]::before,
em[data-emoji="pregnant_person_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4-1f3fe.svg");
}
em[data-emoji=":pregnant_person_tone5:"]::before,
em[data-emoji="pregnant_person_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac4-1f3ff.svg");
}
em[data-emoji=":pregnant_woman:"]::before,
em[data-emoji="pregnant_woman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930.svg");
}
em[data-emoji=":pregnant_woman_tone1:"]::before,
em[data-emoji="pregnant_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930-1f3fb.svg");
}
em[data-emoji=":pregnant_woman_tone2:"]::before,
em[data-emoji="pregnant_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930-1f3fc.svg");
}
em[data-emoji=":pregnant_woman_tone3:"]::before,
em[data-emoji="pregnant_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930-1f3fd.svg");
}
em[data-emoji=":pregnant_woman_tone4:"]::before,
em[data-emoji="pregnant_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930-1f3fe.svg");
}
em[data-emoji=":pregnant_woman_tone5:"]::before,
em[data-emoji="pregnant_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f930-1f3ff.svg");
}
em[data-emoji=":pregnant_man:"]::before,
em[data-emoji="pregnant_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3.svg");
}
em[data-emoji=":pregnant_man_tone1:"]::before,
em[data-emoji="pregnant_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3-1f3fb.svg");
}
em[data-emoji=":pregnant_man_tone2:"]::before,
em[data-emoji="pregnant_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3-1f3fc.svg");
}
em[data-emoji=":pregnant_man_tone3:"]::before,
em[data-emoji="pregnant_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3-1f3fd.svg");
}
em[data-emoji=":pregnant_man_tone4:"]::before,
em[data-emoji="pregnant_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3-1f3fe.svg");
}
em[data-emoji=":pregnant_man_tone5:"]::before,
em[data-emoji="pregnant_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fac3-1f3ff.svg");
}
em[data-emoji=":breast_feeding:"]::before,
em[data-emoji="breast_feeding"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931.svg");
}
em[data-emoji=":breast_feeding_tone1:"]::before,
em[data-emoji="breast_feeding_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931-1f3fb.svg");
}
em[data-emoji=":breast_feeding_tone2:"]::before,
em[data-emoji="breast_feeding_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931-1f3fc.svg");
}
em[data-emoji=":breast_feeding_tone3:"]::before,
em[data-emoji="breast_feeding_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931-1f3fd.svg");
}
em[data-emoji=":breast_feeding_tone4:"]::before,
em[data-emoji="breast_feeding_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931-1f3fe.svg");
}
em[data-emoji=":breast_feeding_tone5:"]::before,
em[data-emoji="breast_feeding_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f931-1f3ff.svg");
}
em[data-emoji=":person_feeding_baby:"]::before,
em[data-emoji="person_feeding_baby"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f37c.svg");
}
em[data-emoji=":person_feeding_baby_tone1:"]::before,
em[data-emoji="person_feeding_baby_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f37c.svg");
}
em[data-emoji=":person_feeding_baby_tone2:"]::before,
em[data-emoji="person_feeding_baby_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f37c.svg");
}
em[data-emoji=":person_feeding_baby_tone3:"]::before,
em[data-emoji="person_feeding_baby_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f37c.svg");
}
em[data-emoji=":person_feeding_baby_tone4:"]::before,
em[data-emoji="person_feeding_baby_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f37c.svg");
}
em[data-emoji=":person_feeding_baby_tone5:"]::before,
em[data-emoji="person_feeding_baby_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby:"]::before,
em[data-emoji="woman_feeding_baby"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby_tone1:"]::before,
em[data-emoji="woman_feeding_baby_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby_tone2:"]::before,
em[data-emoji="woman_feeding_baby_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby_tone3:"]::before,
em[data-emoji="woman_feeding_baby_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby_tone4:"]::before,
em[data-emoji="woman_feeding_baby_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f37c.svg");
}
em[data-emoji=":woman_feeding_baby_tone5:"]::before,
em[data-emoji="woman_feeding_baby_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby:"]::before,
em[data-emoji="man_feeding_baby"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby_tone1:"]::before,
em[data-emoji="man_feeding_baby_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby_tone2:"]::before,
em[data-emoji="man_feeding_baby_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby_tone3:"]::before,
em[data-emoji="man_feeding_baby_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby_tone4:"]::before,
em[data-emoji="man_feeding_baby_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f37c.svg");
}
em[data-emoji=":man_feeding_baby_tone5:"]::before,
em[data-emoji="man_feeding_baby_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f37c.svg");
}
em[data-emoji=":person_bowing:"]::before,
em[data-emoji="person_bowing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647.svg");
}
em[data-emoji=":person_bowing_tone1:"]::before,
em[data-emoji="person_bowing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fb.svg");
}
em[data-emoji=":person_bowing_tone2:"]::before,
em[data-emoji="person_bowing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fc.svg");
}
em[data-emoji=":person_bowing_tone3:"]::before,
em[data-emoji="person_bowing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fd.svg");
}
em[data-emoji=":person_bowing_tone4:"]::before,
em[data-emoji="person_bowing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fe.svg");
}
em[data-emoji=":person_bowing_tone5:"]::before,
em[data-emoji="person_bowing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3ff.svg");
}
em[data-emoji=":woman_bowing:"]::before,
em[data-emoji="woman_bowing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bowing_tone1:"]::before,
em[data-emoji="woman_bowing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bowing_tone2:"]::before,
em[data-emoji="woman_bowing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bowing_tone3:"]::before,
em[data-emoji="woman_bowing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bowing_tone4:"]::before,
em[data-emoji="woman_bowing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bowing_tone5:"]::before,
em[data-emoji="woman_bowing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_bowing:"]::before,
em[data-emoji="man_bowing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bowing_tone1:"]::before,
em[data-emoji="man_bowing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bowing_tone2:"]::before,
em[data-emoji="man_bowing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bowing_tone3:"]::before,
em[data-emoji="man_bowing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bowing_tone4:"]::before,
em[data-emoji="man_bowing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bowing_tone5:"]::before,
em[data-emoji="man_bowing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f647-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_tipping_hand:"]::before,
em[data-emoji="person_tipping_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481.svg");
}
em[data-emoji=":person_tipping_hand_tone1:"]::before,
em[data-emoji="person_tipping_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fb.svg");
}
em[data-emoji=":person_tipping_hand_tone2:"]::before,
em[data-emoji="person_tipping_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fc.svg");
}
em[data-emoji=":person_tipping_hand_tone3:"]::before,
em[data-emoji="person_tipping_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fd.svg");
}
em[data-emoji=":person_tipping_hand_tone4:"]::before,
em[data-emoji="person_tipping_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fe.svg");
}
em[data-emoji=":person_tipping_hand_tone5:"]::before,
em[data-emoji="person_tipping_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3ff.svg");
}
em[data-emoji=":woman_tipping_hand:"]::before,
em[data-emoji="woman_tipping_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tipping_hand_tone1:"]::before,
em[data-emoji="woman_tipping_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tipping_hand_tone2:"]::before,
em[data-emoji="woman_tipping_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tipping_hand_tone3:"]::before,
em[data-emoji="woman_tipping_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tipping_hand_tone4:"]::before,
em[data-emoji="woman_tipping_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_tipping_hand_tone5:"]::before,
em[data-emoji="woman_tipping_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_tipping_hand:"]::before,
em[data-emoji="man_tipping_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tipping_hand_tone1:"]::before,
em[data-emoji="man_tipping_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tipping_hand_tone2:"]::before,
em[data-emoji="man_tipping_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tipping_hand_tone3:"]::before,
em[data-emoji="man_tipping_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tipping_hand_tone4:"]::before,
em[data-emoji="man_tipping_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_tipping_hand_tone5:"]::before,
em[data-emoji="man_tipping_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f481-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_gesturing_no:"]::before,
em[data-emoji="person_gesturing_no"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645.svg");
}
em[data-emoji=":person_gesturing_no_tone1:"]::before,
em[data-emoji="person_gesturing_no_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fb.svg");
}
em[data-emoji=":person_gesturing_no_tone2:"]::before,
em[data-emoji="person_gesturing_no_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fc.svg");
}
em[data-emoji=":person_gesturing_no_tone3:"]::before,
em[data-emoji="person_gesturing_no_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fd.svg");
}
em[data-emoji=":person_gesturing_no_tone4:"]::before,
em[data-emoji="person_gesturing_no_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fe.svg");
}
em[data-emoji=":person_gesturing_no_tone5:"]::before,
em[data-emoji="person_gesturing_no_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3ff.svg");
}
em[data-emoji=":woman_gesturing_no:"]::before,
em[data-emoji="woman_gesturing_no"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_no_tone1:"]::before,
em[data-emoji="woman_gesturing_no_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_no_tone2:"]::before,
em[data-emoji="woman_gesturing_no_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_no_tone3:"]::before,
em[data-emoji="woman_gesturing_no_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_no_tone4:"]::before,
em[data-emoji="woman_gesturing_no_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_no_tone5:"]::before,
em[data-emoji="woman_gesturing_no_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_gesturing_no:"]::before,
em[data-emoji="man_gesturing_no"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_no_tone1:"]::before,
em[data-emoji="man_gesturing_no_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_no_tone2:"]::before,
em[data-emoji="man_gesturing_no_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_no_tone3:"]::before,
em[data-emoji="man_gesturing_no_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_no_tone4:"]::before,
em[data-emoji="man_gesturing_no_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_no_tone5:"]::before,
em[data-emoji="man_gesturing_no_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f645-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_gesturing_ok:"]::before,
em[data-emoji="person_gesturing_ok"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646.svg");
}
em[data-emoji=":person_gesturing_ok_tone1:"]::before,
em[data-emoji="person_gesturing_ok_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fb.svg");
}
em[data-emoji=":person_gesturing_ok_tone2:"]::before,
em[data-emoji="person_gesturing_ok_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fc.svg");
}
em[data-emoji=":person_gesturing_ok_tone3:"]::before,
em[data-emoji="person_gesturing_ok_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fd.svg");
}
em[data-emoji=":person_gesturing_ok_tone4:"]::before,
em[data-emoji="person_gesturing_ok_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fe.svg");
}
em[data-emoji=":person_gesturing_ok_tone5:"]::before,
em[data-emoji="person_gesturing_ok_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3ff.svg");
}
em[data-emoji=":woman_gesturing_ok:"]::before,
em[data-emoji="woman_gesturing_ok"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_ok_tone1:"]::before,
em[data-emoji="woman_gesturing_ok_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_ok_tone2:"]::before,
em[data-emoji="woman_gesturing_ok_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_ok_tone3:"]::before,
em[data-emoji="woman_gesturing_ok_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_ok_tone4:"]::before,
em[data-emoji="woman_gesturing_ok_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_gesturing_ok_tone5:"]::before,
em[data-emoji="woman_gesturing_ok_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok:"]::before,
em[data-emoji="man_gesturing_ok"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok_tone1:"]::before,
em[data-emoji="man_gesturing_ok_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok_tone2:"]::before,
em[data-emoji="man_gesturing_ok_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok_tone3:"]::before,
em[data-emoji="man_gesturing_ok_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok_tone4:"]::before,
em[data-emoji="man_gesturing_ok_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_gesturing_ok_tone5:"]::before,
em[data-emoji="man_gesturing_ok_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f646-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_raising_hand:"]::before,
em[data-emoji="person_raising_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b.svg");
}
em[data-emoji=":person_raising_hand_tone1:"]::before,
em[data-emoji="person_raising_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fb.svg");
}
em[data-emoji=":person_raising_hand_tone2:"]::before,
em[data-emoji="person_raising_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fc.svg");
}
em[data-emoji=":person_raising_hand_tone3:"]::before,
em[data-emoji="person_raising_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fd.svg");
}
em[data-emoji=":person_raising_hand_tone4:"]::before,
em[data-emoji="person_raising_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fe.svg");
}
em[data-emoji=":person_raising_hand_tone5:"]::before,
em[data-emoji="person_raising_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3ff.svg");
}
em[data-emoji=":woman_raising_hand:"]::before,
em[data-emoji="woman_raising_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_raising_hand_tone1:"]::before,
em[data-emoji="woman_raising_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_raising_hand_tone2:"]::before,
em[data-emoji="woman_raising_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_raising_hand_tone3:"]::before,
em[data-emoji="woman_raising_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_raising_hand_tone4:"]::before,
em[data-emoji="woman_raising_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_raising_hand_tone5:"]::before,
em[data-emoji="woman_raising_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_raising_hand:"]::before,
em[data-emoji="man_raising_hand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-200d-2642-fe0f.svg");
}
em[data-emoji=":man_raising_hand_tone1:"]::before,
em[data-emoji="man_raising_hand_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_raising_hand_tone2:"]::before,
em[data-emoji="man_raising_hand_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_raising_hand_tone3:"]::before,
em[data-emoji="man_raising_hand_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_raising_hand_tone4:"]::before,
em[data-emoji="man_raising_hand_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_raising_hand_tone5:"]::before,
em[data-emoji="man_raising_hand_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64b-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_person:"]::before,
em[data-emoji="deaf_person"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf.svg");
}
em[data-emoji=":deaf_person_tone1:"]::before,
em[data-emoji="deaf_person_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fb.svg");
}
em[data-emoji=":deaf_person_tone2:"]::before,
em[data-emoji="deaf_person_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fc.svg");
}
em[data-emoji=":deaf_person_tone3:"]::before,
em[data-emoji="deaf_person_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fd.svg");
}
em[data-emoji=":deaf_person_tone4:"]::before,
em[data-emoji="deaf_person_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fe.svg");
}
em[data-emoji=":deaf_person_tone5:"]::before,
em[data-emoji="deaf_person_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3ff.svg");
}
em[data-emoji=":deaf_woman:"]::before,
em[data-emoji="deaf_woman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_woman_tone1:"]::before,
em[data-emoji="deaf_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_woman_tone2:"]::before,
em[data-emoji="deaf_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_woman_tone3:"]::before,
em[data-emoji="deaf_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_woman_tone4:"]::before,
em[data-emoji="deaf_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_woman_tone5:"]::before,
em[data-emoji="deaf_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":deaf_man:"]::before,
em[data-emoji="deaf_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_man_tone1:"]::before,
em[data-emoji="deaf_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_man_tone2:"]::before,
em[data-emoji="deaf_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_man_tone3:"]::before,
em[data-emoji="deaf_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_man_tone4:"]::before,
em[data-emoji="deaf_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":deaf_man_tone5:"]::before,
em[data-emoji="deaf_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cf-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_facepalming:"]::before,
em[data-emoji="person_facepalming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926.svg");
}
em[data-emoji=":person_facepalming_tone1:"]::before,
em[data-emoji="person_facepalming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fb.svg");
}
em[data-emoji=":person_facepalming_tone2:"]::before,
em[data-emoji="person_facepalming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fc.svg");
}
em[data-emoji=":person_facepalming_tone3:"]::before,
em[data-emoji="person_facepalming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fd.svg");
}
em[data-emoji=":person_facepalming_tone4:"]::before,
em[data-emoji="person_facepalming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fe.svg");
}
em[data-emoji=":person_facepalming_tone5:"]::before,
em[data-emoji="person_facepalming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3ff.svg");
}
em[data-emoji=":woman_facepalming:"]::before,
em[data-emoji="woman_facepalming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_facepalming_tone1:"]::before,
em[data-emoji="woman_facepalming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_facepalming_tone2:"]::before,
em[data-emoji="woman_facepalming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_facepalming_tone3:"]::before,
em[data-emoji="woman_facepalming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_facepalming_tone4:"]::before,
em[data-emoji="woman_facepalming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_facepalming_tone5:"]::before,
em[data-emoji="woman_facepalming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_facepalming:"]::before,
em[data-emoji="man_facepalming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-200d-2642-fe0f.svg");
}
em[data-emoji=":man_facepalming_tone1:"]::before,
em[data-emoji="man_facepalming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_facepalming_tone2:"]::before,
em[data-emoji="man_facepalming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_facepalming_tone3:"]::before,
em[data-emoji="man_facepalming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_facepalming_tone4:"]::before,
em[data-emoji="man_facepalming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_facepalming_tone5:"]::before,
em[data-emoji="man_facepalming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f926-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_shrugging:"]::before,
em[data-emoji="person_shrugging"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937.svg");
}
em[data-emoji=":person_shrugging_tone1:"]::before,
em[data-emoji="person_shrugging_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fb.svg");
}
em[data-emoji=":person_shrugging_tone2:"]::before,
em[data-emoji="person_shrugging_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fc.svg");
}
em[data-emoji=":person_shrugging_tone3:"]::before,
em[data-emoji="person_shrugging_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fd.svg");
}
em[data-emoji=":person_shrugging_tone4:"]::before,
em[data-emoji="person_shrugging_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fe.svg");
}
em[data-emoji=":person_shrugging_tone5:"]::before,
em[data-emoji="person_shrugging_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3ff.svg");
}
em[data-emoji=":woman_shrugging:"]::before,
em[data-emoji="woman_shrugging"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_shrugging_tone1:"]::before,
em[data-emoji="woman_shrugging_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_shrugging_tone2:"]::before,
em[data-emoji="woman_shrugging_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_shrugging_tone3:"]::before,
em[data-emoji="woman_shrugging_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_shrugging_tone4:"]::before,
em[data-emoji="woman_shrugging_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_shrugging_tone5:"]::before,
em[data-emoji="woman_shrugging_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_shrugging:"]::before,
em[data-emoji="man_shrugging"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-200d-2642-fe0f.svg");
}
em[data-emoji=":man_shrugging_tone1:"]::before,
em[data-emoji="man_shrugging_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_shrugging_tone2:"]::before,
em[data-emoji="man_shrugging_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_shrugging_tone3:"]::before,
em[data-emoji="man_shrugging_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_shrugging_tone4:"]::before,
em[data-emoji="man_shrugging_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_shrugging_tone5:"]::before,
em[data-emoji="man_shrugging_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f937-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_pouting:"]::before,
em[data-emoji="person_pouting"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e.svg");
}
em[data-emoji=":person_pouting_tone1:"]::before,
em[data-emoji="person_pouting_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fb.svg");
}
em[data-emoji=":person_pouting_tone2:"]::before,
em[data-emoji="person_pouting_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fc.svg");
}
em[data-emoji=":person_pouting_tone3:"]::before,
em[data-emoji="person_pouting_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fd.svg");
}
em[data-emoji=":person_pouting_tone4:"]::before,
em[data-emoji="person_pouting_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fe.svg");
}
em[data-emoji=":person_pouting_tone5:"]::before,
em[data-emoji="person_pouting_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3ff.svg");
}
em[data-emoji=":woman_pouting:"]::before,
em[data-emoji="woman_pouting"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_pouting_tone1:"]::before,
em[data-emoji="woman_pouting_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_pouting_tone2:"]::before,
em[data-emoji="woman_pouting_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_pouting_tone3:"]::before,
em[data-emoji="woman_pouting_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_pouting_tone4:"]::before,
em[data-emoji="woman_pouting_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_pouting_tone5:"]::before,
em[data-emoji="woman_pouting_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_pouting:"]::before,
em[data-emoji="man_pouting"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-200d-2642-fe0f.svg");
}
em[data-emoji=":man_pouting_tone1:"]::before,
em[data-emoji="man_pouting_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_pouting_tone2:"]::before,
em[data-emoji="man_pouting_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_pouting_tone3:"]::before,
em[data-emoji="man_pouting_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_pouting_tone4:"]::before,
em[data-emoji="man_pouting_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_pouting_tone5:"]::before,
em[data-emoji="man_pouting_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64e-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_frowning:"]::before,
em[data-emoji="person_frowning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d.svg");
}
em[data-emoji=":person_frowning_tone1:"]::before,
em[data-emoji="person_frowning_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fb.svg");
}
em[data-emoji=":person_frowning_tone2:"]::before,
em[data-emoji="person_frowning_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fc.svg");
}
em[data-emoji=":person_frowning_tone3:"]::before,
em[data-emoji="person_frowning_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fd.svg");
}
em[data-emoji=":person_frowning_tone4:"]::before,
em[data-emoji="person_frowning_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fe.svg");
}
em[data-emoji=":person_frowning_tone5:"]::before,
em[data-emoji="person_frowning_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3ff.svg");
}
em[data-emoji=":woman_frowning:"]::before,
em[data-emoji="woman_frowning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_frowning_tone1:"]::before,
em[data-emoji="woman_frowning_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_frowning_tone2:"]::before,
em[data-emoji="woman_frowning_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_frowning_tone3:"]::before,
em[data-emoji="woman_frowning_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_frowning_tone4:"]::before,
em[data-emoji="woman_frowning_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_frowning_tone5:"]::before,
em[data-emoji="woman_frowning_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_frowning:"]::before,
em[data-emoji="man_frowning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-200d-2642-fe0f.svg");
}
em[data-emoji=":man_frowning_tone1:"]::before,
em[data-emoji="man_frowning_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_frowning_tone2:"]::before,
em[data-emoji="man_frowning_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_frowning_tone3:"]::before,
em[data-emoji="man_frowning_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_frowning_tone4:"]::before,
em[data-emoji="man_frowning_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_frowning_tone5:"]::before,
em[data-emoji="man_frowning_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64d-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_getting_haircut:"]::before,
em[data-emoji="person_getting_haircut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487.svg");
}
em[data-emoji=":person_getting_haircut_tone1:"]::before,
em[data-emoji="person_getting_haircut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fb.svg");
}
em[data-emoji=":person_getting_haircut_tone2:"]::before,
em[data-emoji="person_getting_haircut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fc.svg");
}
em[data-emoji=":person_getting_haircut_tone3:"]::before,
em[data-emoji="person_getting_haircut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fd.svg");
}
em[data-emoji=":person_getting_haircut_tone4:"]::before,
em[data-emoji="person_getting_haircut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fe.svg");
}
em[data-emoji=":person_getting_haircut_tone5:"]::before,
em[data-emoji="person_getting_haircut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3ff.svg");
}
em[data-emoji=":woman_getting_haircut:"]::before,
em[data-emoji="woman_getting_haircut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_haircut_tone1:"]::before,
em[data-emoji="woman_getting_haircut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_haircut_tone2:"]::before,
em[data-emoji="woman_getting_haircut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_haircut_tone3:"]::before,
em[data-emoji="woman_getting_haircut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_haircut_tone4:"]::before,
em[data-emoji="woman_getting_haircut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_haircut_tone5:"]::before,
em[data-emoji="woman_getting_haircut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_getting_haircut:"]::before,
em[data-emoji="man_getting_haircut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_haircut_tone1:"]::before,
em[data-emoji="man_getting_haircut_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_haircut_tone2:"]::before,
em[data-emoji="man_getting_haircut_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_haircut_tone3:"]::before,
em[data-emoji="man_getting_haircut_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_haircut_tone4:"]::before,
em[data-emoji="man_getting_haircut_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_haircut_tone5:"]::before,
em[data-emoji="man_getting_haircut_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f487-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_getting_massage:"]::before,
em[data-emoji="person_getting_massage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486.svg");
}
em[data-emoji=":person_getting_massage_tone1:"]::before,
em[data-emoji="person_getting_massage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fb.svg");
}
em[data-emoji=":person_getting_massage_tone2:"]::before,
em[data-emoji="person_getting_massage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fc.svg");
}
em[data-emoji=":person_getting_massage_tone3:"]::before,
em[data-emoji="person_getting_massage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fd.svg");
}
em[data-emoji=":person_getting_massage_tone4:"]::before,
em[data-emoji="person_getting_massage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fe.svg");
}
em[data-emoji=":person_getting_massage_tone5:"]::before,
em[data-emoji="person_getting_massage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3ff.svg");
}
em[data-emoji=":woman_getting_face_massage:"]::before,
em[data-emoji="woman_getting_face_massage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_face_massage_tone1:"]::before,
em[data-emoji="woman_getting_face_massage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_face_massage_tone2:"]::before,
em[data-emoji="woman_getting_face_massage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_face_massage_tone3:"]::before,
em[data-emoji="woman_getting_face_massage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_face_massage_tone4:"]::before,
em[data-emoji="woman_getting_face_massage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_getting_face_massage_tone5:"]::before,
em[data-emoji="woman_getting_face_massage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage:"]::before,
em[data-emoji="man_getting_face_massage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage_tone1:"]::before,
em[data-emoji="man_getting_face_massage_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage_tone2:"]::before,
em[data-emoji="man_getting_face_massage_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage_tone3:"]::before,
em[data-emoji="man_getting_face_massage_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage_tone4:"]::before,
em[data-emoji="man_getting_face_massage_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_getting_face_massage_tone5:"]::before,
em[data-emoji="man_getting_face_massage_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f486-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_in_steamy_room:"]::before,
em[data-emoji="person_in_steamy_room"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6.svg");
}
em[data-emoji=":person_in_steamy_room_tone1:"]::before,
em[data-emoji="person_in_steamy_room_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fb.svg");
}
em[data-emoji=":person_in_steamy_room_tone2:"]::before,
em[data-emoji="person_in_steamy_room_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fc.svg");
}
em[data-emoji=":person_in_steamy_room_tone3:"]::before,
em[data-emoji="person_in_steamy_room_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fd.svg");
}
em[data-emoji=":person_in_steamy_room_tone4:"]::before,
em[data-emoji="person_in_steamy_room_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fe.svg");
}
em[data-emoji=":person_in_steamy_room_tone5:"]::before,
em[data-emoji="person_in_steamy_room_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3ff.svg");
}
em[data-emoji=":woman_in_steamy_room:"]::before,
em[data-emoji="woman_in_steamy_room"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_steamy_room_tone1:"]::before,
em[data-emoji="woman_in_steamy_room_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_steamy_room_tone2:"]::before,
em[data-emoji="woman_in_steamy_room_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_steamy_room_tone3:"]::before,
em[data-emoji="woman_in_steamy_room_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_steamy_room_tone4:"]::before,
em[data-emoji="woman_in_steamy_room_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_steamy_room_tone5:"]::before,
em[data-emoji="woman_in_steamy_room_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room:"]::before,
em[data-emoji="man_in_steamy_room"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room_tone1:"]::before,
em[data-emoji="man_in_steamy_room_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room_tone2:"]::before,
em[data-emoji="man_in_steamy_room_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room_tone3:"]::before,
em[data-emoji="man_in_steamy_room_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room_tone4:"]::before,
em[data-emoji="man_in_steamy_room_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_steamy_room_tone5:"]::before,
em[data-emoji="man_in_steamy_room_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d6-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":nail_care:"]::before,
em[data-emoji="nail_care"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485.svg");
}
em[data-emoji=":nail_care_tone1:"]::before,
em[data-emoji="nail_care_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485-1f3fb.svg");
}
em[data-emoji=":nail_care_tone2:"]::before,
em[data-emoji="nail_care_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485-1f3fc.svg");
}
em[data-emoji=":nail_care_tone3:"]::before,
em[data-emoji="nail_care_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485-1f3fd.svg");
}
em[data-emoji=":nail_care_tone4:"]::before,
em[data-emoji="nail_care_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485-1f3fe.svg");
}
em[data-emoji=":nail_care_tone5:"]::before,
em[data-emoji="nail_care_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f485-1f3ff.svg");
}
em[data-emoji=":selfie:"]::before,
em[data-emoji="selfie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933.svg");
}
em[data-emoji=":selfie_tone1:"]::before,
em[data-emoji="selfie_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933-1f3fb.svg");
}
em[data-emoji=":selfie_tone2:"]::before,
em[data-emoji="selfie_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933-1f3fc.svg");
}
em[data-emoji=":selfie_tone3:"]::before,
em[data-emoji="selfie_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933-1f3fd.svg");
}
em[data-emoji=":selfie_tone4:"]::before,
em[data-emoji="selfie_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933-1f3fe.svg");
}
em[data-emoji=":selfie_tone5:"]::before,
em[data-emoji="selfie_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f933-1f3ff.svg");
}
em[data-emoji=":dancer:"]::before,
em[data-emoji="dancer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483.svg");
}
em[data-emoji=":dancer_tone1:"]::before,
em[data-emoji="dancer_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483-1f3fb.svg");
}
em[data-emoji=":dancer_tone2:"]::before,
em[data-emoji="dancer_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483-1f3fc.svg");
}
em[data-emoji=":dancer_tone3:"]::before,
em[data-emoji="dancer_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483-1f3fd.svg");
}
em[data-emoji=":dancer_tone4:"]::before,
em[data-emoji="dancer_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483-1f3fe.svg");
}
em[data-emoji=":dancer_tone5:"]::before,
em[data-emoji="dancer_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f483-1f3ff.svg");
}
em[data-emoji=":man_dancing:"]::before,
em[data-emoji="man_dancing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a.svg");
}
em[data-emoji=":man_dancing_tone1:"]::before,
em[data-emoji="man_dancing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a-1f3fb.svg");
}
em[data-emoji=":man_dancing_tone2:"]::before,
em[data-emoji="man_dancing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a-1f3fc.svg");
}
em[data-emoji=":man_dancing_tone3:"]::before,
em[data-emoji="man_dancing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a-1f3fd.svg");
}
em[data-emoji=":man_dancing_tone5:"]::before,
em[data-emoji="man_dancing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a-1f3ff.svg");
}
em[data-emoji=":man_dancing_tone4:"]::before,
em[data-emoji="man_dancing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f57a-1f3fe.svg");
}
em[data-emoji=":people_with_bunny_ears_partying:"]::before,
em[data-emoji="people_with_bunny_ears_partying"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46f.svg");
}
em[data-emoji=":women_with_bunny_ears_partying:"]::before,
em[data-emoji="women_with_bunny_ears_partying"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46f-200d-2640-fe0f.svg");
}
em[data-emoji=":men_with_bunny_ears_partying:"]::before,
em[data-emoji="men_with_bunny_ears_partying"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46f-200d-2642-fe0f.svg");
}
em[data-emoji=":levitate:"]::before,
em[data-emoji="levitate"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574.svg");
}
em[data-emoji=":levitate_tone1:"]::before,
em[data-emoji="levitate_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574-1f3fb.svg");
}
em[data-emoji=":levitate_tone2:"]::before,
em[data-emoji="levitate_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574-1f3fc.svg");
}
em[data-emoji=":levitate_tone3:"]::before,
em[data-emoji="levitate_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574-1f3fd.svg");
}
em[data-emoji=":levitate_tone4:"]::before,
em[data-emoji="levitate_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574-1f3fe.svg");
}
em[data-emoji=":levitate_tone5:"]::before,
em[data-emoji="levitate_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f574-1f3ff.svg");
}
em[data-emoji=":person_in_manual_wheelchair:"]::before,
em[data-emoji="person_in_manual_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_tone1:"]::before,
em[data-emoji="person_in_manual_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_tone2:"]::before,
em[data-emoji="person_in_manual_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_tone3:"]::before,
em[data-emoji="person_in_manual_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_tone4:"]::before,
em[data-emoji="person_in_manual_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_tone5:"]::before,
em[data-emoji="person_in_manual_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair:"]::before,
em[data-emoji="woman_in_manual_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_tone1:"]::before,
em[data-emoji="woman_in_manual_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_tone2:"]::before,
em[data-emoji="woman_in_manual_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_tone3:"]::before,
em[data-emoji="woman_in_manual_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_tone4:"]::before,
em[data-emoji="woman_in_manual_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9bd.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_tone5:"]::before,
em[data-emoji="woman_in_manual_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair:"]::before,
em[data-emoji="man_in_manual_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair_tone1:"]::before,
em[data-emoji="man_in_manual_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair_tone2:"]::before,
em[data-emoji="man_in_manual_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair_tone3:"]::before,
em[data-emoji="man_in_manual_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair_tone4:"]::before,
em[data-emoji="man_in_manual_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9bd.svg");
}
em[data-emoji=":man_in_manual_wheelchair_tone5:"]::before,
em[data-emoji="man_in_manual_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9bd.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_manual_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="person_in_manual_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_manual_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="man_in_manual_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_manual_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="woman_in_manual_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair:"]::before,
em[data-emoji="person_in_motorized_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_tone1:"]::before,
em[data-emoji="person_in_motorized_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_tone2:"]::before,
em[data-emoji="person_in_motorized_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_tone3:"]::before,
em[data-emoji="person_in_motorized_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_tone4:"]::before,
em[data-emoji="person_in_motorized_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_tone5:"]::before,
em[data-emoji="person_in_motorized_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair:"]::before,
em[data-emoji="woman_in_motorized_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_tone1:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_tone2:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_tone3:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_tone4:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9bc.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_tone5:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair:"]::before,
em[data-emoji="man_in_motorized_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_tone1:"]::before,
em[data-emoji="man_in_motorized_wheelchair_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_tone2:"]::before,
em[data-emoji="man_in_motorized_wheelchair_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_tone3:"]::before,
em[data-emoji="man_in_motorized_wheelchair_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_tone4:"]::before,
em[data-emoji="man_in_motorized_wheelchair_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9bc.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_tone5:"]::before,
em[data-emoji="man_in_motorized_wheelchair_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9bc.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_in_motorized_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="person_in_motorized_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_in_motorized_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="man_in_motorized_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right_tone1:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right_tone2:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right_tone3:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right_tone4:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_in_motorized_wheelchair_facing_right_tone5:"]::before,
em[data-emoji="woman_in_motorized_wheelchair_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking:"]::before,
em[data-emoji="person_walking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6.svg");
}
em[data-emoji=":person_walking_tone1:"]::before,
em[data-emoji="person_walking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb.svg");
}
em[data-emoji=":person_walking_tone2:"]::before,
em[data-emoji="person_walking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc.svg");
}
em[data-emoji=":person_walking_tone3:"]::before,
em[data-emoji="person_walking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd.svg");
}
em[data-emoji=":person_walking_tone4:"]::before,
em[data-emoji="person_walking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe.svg");
}
em[data-emoji=":person_walking_tone5:"]::before,
em[data-emoji="person_walking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff.svg");
}
em[data-emoji=":woman_walking:"]::before,
em[data-emoji="woman_walking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_walking_tone1:"]::before,
em[data-emoji="woman_walking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_walking_tone2:"]::before,
em[data-emoji="woman_walking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_walking_tone3:"]::before,
em[data-emoji="woman_walking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_walking_tone4:"]::before,
em[data-emoji="woman_walking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_walking_tone5:"]::before,
em[data-emoji="woman_walking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_walking:"]::before,
em[data-emoji="man_walking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-200d-2642-fe0f.svg");
}
em[data-emoji=":man_walking_tone1:"]::before,
em[data-emoji="man_walking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_walking_tone2:"]::before,
em[data-emoji="man_walking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_walking_tone3:"]::before,
em[data-emoji="man_walking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_walking_tone4:"]::before,
em[data-emoji="man_walking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_walking_tone5:"]::before,
em[data-emoji="man_walking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right:"]::before,
em[data-emoji="person_walking_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right_tone1:"]::before,
em[data-emoji="person_walking_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right_tone2:"]::before,
em[data-emoji="person_walking_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right_tone3:"]::before,
em[data-emoji="person_walking_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right_tone4:"]::before,
em[data-emoji="person_walking_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_walking_facing_right_tone5:"]::before,
em[data-emoji="person_walking_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right:"]::before,
em[data-emoji="woman_walking_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right_tone1:"]::before,
em[data-emoji="woman_walking_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right_tone2:"]::before,
em[data-emoji="woman_walking_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right_tone3:"]::before,
em[data-emoji="woman_walking_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right_tone4:"]::before,
em[data-emoji="woman_walking_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_walking_facing_right_tone5:"]::before,
em[data-emoji="woman_walking_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right:"]::before,
em[data-emoji="man_walking_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right_tone1:"]::before,
em[data-emoji="man_walking_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right_tone2:"]::before,
em[data-emoji="man_walking_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right_tone3:"]::before,
em[data-emoji="man_walking_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right_tone4:"]::before,
em[data-emoji="man_walking_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_walking_facing_right_tone5:"]::before,
em[data-emoji="man_walking_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_probing_cane:"]::before,
em[data-emoji="person_with_probing_cane"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9af.svg");
}
em[data-emoji=":person_with_probing_cane_tone1:"]::before,
em[data-emoji="person_with_probing_cane_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9af.svg");
}
em[data-emoji=":person_with_probing_cane_tone2:"]::before,
em[data-emoji="person_with_probing_cane_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9af.svg");
}
em[data-emoji=":person_with_probing_cane_tone3:"]::before,
em[data-emoji="person_with_probing_cane_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9af.svg");
}
em[data-emoji=":person_with_probing_cane_tone4:"]::before,
em[data-emoji="person_with_probing_cane_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9af.svg");
}
em[data-emoji=":person_with_probing_cane_tone5:"]::before,
em[data-emoji="person_with_probing_cane_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane:"]::before,
em[data-emoji="woman_with_probing_cane"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane_tone1:"]::before,
em[data-emoji="woman_with_probing_cane_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane_tone2:"]::before,
em[data-emoji="woman_with_probing_cane_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane_tone3:"]::before,
em[data-emoji="woman_with_probing_cane_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane_tone4:"]::before,
em[data-emoji="woman_with_probing_cane_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9af.svg");
}
em[data-emoji=":woman_with_probing_cane_tone5:"]::before,
em[data-emoji="woman_with_probing_cane_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane:"]::before,
em[data-emoji="man_with_probing_cane"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane_tone1:"]::before,
em[data-emoji="man_with_probing_cane_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane_tone2:"]::before,
em[data-emoji="man_with_probing_cane_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane_tone3:"]::before,
em[data-emoji="man_with_probing_cane_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane_tone4:"]::before,
em[data-emoji="man_with_probing_cane_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9af.svg");
}
em[data-emoji=":man_with_probing_cane_tone5:"]::before,
em[data-emoji="man_with_probing_cane_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9af.svg");
}
em[data-emoji=":person_with_white_cane_facing_right:"]::before,
em[data-emoji="person_with_white_cane_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_white_cane_facing_right_tone1:"]::before,
em[data-emoji="person_with_white_cane_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_white_cane_facing_right_tone2:"]::before,
em[data-emoji="person_with_white_cane_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_white_cane_facing_right_tone3:"]::before,
em[data-emoji="person_with_white_cane_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_white_cane_facing_right_tone4:"]::before,
em[data-emoji="person_with_white_cane_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_with_white_cane_facing_right_tone5:"]::before,
em[data-emoji="person_with_white_cane_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right:"]::before,
em[data-emoji="man_with_white_cane_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right_tone1:"]::before,
em[data-emoji="man_with_white_cane_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right_tone2:"]::before,
em[data-emoji="man_with_white_cane_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right_tone3:"]::before,
em[data-emoji="man_with_white_cane_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right_tone4:"]::before,
em[data-emoji="man_with_white_cane_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_with_white_cane_facing_right_tone5:"]::before,
em[data-emoji="man_with_white_cane_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right:"]::before,
em[data-emoji="woman_with_white_cane_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right_tone1:"]::before,
em[data-emoji="woman_with_white_cane_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right_tone2:"]::before,
em[data-emoji="woman_with_white_cane_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right_tone3:"]::before,
em[data-emoji="woman_with_white_cane_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right_tone4:"]::before,
em[data-emoji="woman_with_white_cane_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_with_white_cane_facing_right_tone5:"]::before,
em[data-emoji="woman_with_white_cane_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f9af-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling:"]::before,
em[data-emoji="person_kneeling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce.svg");
}
em[data-emoji=":person_kneeling_tone1:"]::before,
em[data-emoji="person_kneeling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb.svg");
}
em[data-emoji=":person_kneeling_tone2:"]::before,
em[data-emoji="person_kneeling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc.svg");
}
em[data-emoji=":person_kneeling_tone3:"]::before,
em[data-emoji="person_kneeling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd.svg");
}
em[data-emoji=":person_kneeling_tone4:"]::before,
em[data-emoji="person_kneeling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe.svg");
}
em[data-emoji=":person_kneeling_tone5:"]::before,
em[data-emoji="person_kneeling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff.svg");
}
em[data-emoji=":woman_kneeling:"]::before,
em[data-emoji="woman_kneeling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_kneeling_tone1:"]::before,
em[data-emoji="woman_kneeling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_kneeling_tone2:"]::before,
em[data-emoji="woman_kneeling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_kneeling_tone3:"]::before,
em[data-emoji="woman_kneeling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_kneeling_tone4:"]::before,
em[data-emoji="woman_kneeling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_kneeling_tone5:"]::before,
em[data-emoji="woman_kneeling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_kneeling:"]::before,
em[data-emoji="man_kneeling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-200d-2642-fe0f.svg");
}
em[data-emoji=":man_kneeling_tone1:"]::before,
em[data-emoji="man_kneeling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_kneeling_tone2:"]::before,
em[data-emoji="man_kneeling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_kneeling_tone3:"]::before,
em[data-emoji="man_kneeling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_kneeling_tone4:"]::before,
em[data-emoji="man_kneeling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_kneeling_tone5:"]::before,
em[data-emoji="man_kneeling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right:"]::before,
em[data-emoji="person_kneeling_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right_tone1:"]::before,
em[data-emoji="person_kneeling_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right_tone2:"]::before,
em[data-emoji="person_kneeling_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right_tone3:"]::before,
em[data-emoji="person_kneeling_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right_tone4:"]::before,
em[data-emoji="person_kneeling_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_kneeling_facing_right_tone5:"]::before,
em[data-emoji="person_kneeling_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right:"]::before,
em[data-emoji="woman_kneeling_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right_tone1:"]::before,
em[data-emoji="woman_kneeling_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right_tone2:"]::before,
em[data-emoji="woman_kneeling_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right_tone3:"]::before,
em[data-emoji="woman_kneeling_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right_tone4:"]::before,
em[data-emoji="woman_kneeling_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_kneeling_facing_right_tone5:"]::before,
em[data-emoji="woman_kneeling_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right:"]::before,
em[data-emoji="man_kneeling_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right_tone1:"]::before,
em[data-emoji="man_kneeling_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right_tone2:"]::before,
em[data-emoji="man_kneeling_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right_tone3:"]::before,
em[data-emoji="man_kneeling_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right_tone4:"]::before,
em[data-emoji="man_kneeling_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_kneeling_facing_right_tone5:"]::before,
em[data-emoji="man_kneeling_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running:"]::before,
em[data-emoji="person_running"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3.svg");
}
em[data-emoji=":person_running_tone1:"]::before,
em[data-emoji="person_running_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb.svg");
}
em[data-emoji=":person_running_tone2:"]::before,
em[data-emoji="person_running_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc.svg");
}
em[data-emoji=":person_running_tone3:"]::before,
em[data-emoji="person_running_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd.svg");
}
em[data-emoji=":person_running_tone4:"]::before,
em[data-emoji="person_running_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe.svg");
}
em[data-emoji=":person_running_tone5:"]::before,
em[data-emoji="person_running_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff.svg");
}
em[data-emoji=":woman_running:"]::before,
em[data-emoji="woman_running"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_running_tone1:"]::before,
em[data-emoji="woman_running_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_running_tone2:"]::before,
em[data-emoji="woman_running_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_running_tone3:"]::before,
em[data-emoji="woman_running_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_running_tone4:"]::before,
em[data-emoji="woman_running_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_running_tone5:"]::before,
em[data-emoji="woman_running_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_running:"]::before,
em[data-emoji="man_running"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-200d-2642-fe0f.svg");
}
em[data-emoji=":man_running_tone1:"]::before,
em[data-emoji="man_running_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_running_tone2:"]::before,
em[data-emoji="man_running_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_running_tone3:"]::before,
em[data-emoji="man_running_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_running_tone4:"]::before,
em[data-emoji="man_running_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_running_tone5:"]::before,
em[data-emoji="man_running_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_running_facing_right:"]::before,
em[data-emoji="person_running_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running_facing_right_tone1:"]::before,
em[data-emoji="person_running_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running_facing_right_tone2:"]::before,
em[data-emoji="person_running_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running_facing_right_tone3:"]::before,
em[data-emoji="person_running_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running_facing_right_tone4:"]::before,
em[data-emoji="person_running_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_running_facing_right_tone5:"]::before,
em[data-emoji="person_running_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right:"]::before,
em[data-emoji="woman_running_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right_tone1:"]::before,
em[data-emoji="woman_running_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right_tone2:"]::before,
em[data-emoji="woman_running_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right_tone3:"]::before,
em[data-emoji="woman_running_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right_tone4:"]::before,
em[data-emoji="woman_running_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":woman_running_facing_right_tone5:"]::before,
em[data-emoji="woman_running_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right:"]::before,
em[data-emoji="man_running_facing_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right_tone1:"]::before,
em[data-emoji="man_running_facing_right_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right_tone2:"]::before,
em[data-emoji="man_running_facing_right_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right_tone3:"]::before,
em[data-emoji="man_running_facing_right_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right_tone4:"]::before,
em[data-emoji="man_running_facing_right_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":man_running_facing_right_tone5:"]::before,
em[data-emoji="man_running_facing_right_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg");
}
em[data-emoji=":person_standing:"]::before,
em[data-emoji="person_standing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd.svg");
}
em[data-emoji=":person_standing_tone1:"]::before,
em[data-emoji="person_standing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fb.svg");
}
em[data-emoji=":person_standing_tone2:"]::before,
em[data-emoji="person_standing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fc.svg");
}
em[data-emoji=":person_standing_tone3:"]::before,
em[data-emoji="person_standing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fd.svg");
}
em[data-emoji=":person_standing_tone4:"]::before,
em[data-emoji="person_standing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fe.svg");
}
em[data-emoji=":person_standing_tone5:"]::before,
em[data-emoji="person_standing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3ff.svg");
}
em[data-emoji=":woman_standing:"]::before,
em[data-emoji="woman_standing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_standing_tone1:"]::before,
em[data-emoji="woman_standing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_standing_tone2:"]::before,
em[data-emoji="woman_standing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_standing_tone3:"]::before,
em[data-emoji="woman_standing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_standing_tone4:"]::before,
em[data-emoji="woman_standing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_standing_tone5:"]::before,
em[data-emoji="woman_standing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_standing:"]::before,
em[data-emoji="man_standing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_standing_tone1:"]::before,
em[data-emoji="man_standing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_standing_tone2:"]::before,
em[data-emoji="man_standing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_standing_tone3:"]::before,
em[data-emoji="man_standing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_standing_tone4:"]::before,
em[data-emoji="man_standing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_standing_tone5:"]::before,
em[data-emoji="man_standing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cd-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":people_holding_hands:"]::before,
em[data-emoji="people_holding_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f91d-200d-1f9d1.svg");
}
em[data-emoji=":people_holding_hands_tone1:"]::before,
em[data-emoji="people_holding_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":people_holding_hands_tone1_tone2:"]::before,
em[data-emoji="people_holding_hands_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":people_holding_hands_tone1_tone3:"]::before,
em[data-emoji="people_holding_hands_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":people_holding_hands_tone1_tone4:"]::before,
em[data-emoji="people_holding_hands_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":people_holding_hands_tone1_tone5:"]::before,
em[data-emoji="people_holding_hands_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":people_holding_hands_tone2_tone1:"]::before,
em[data-emoji="people_holding_hands_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":people_holding_hands_tone2:"]::before,
em[data-emoji="people_holding_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":people_holding_hands_tone2_tone3:"]::before,
em[data-emoji="people_holding_hands_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":people_holding_hands_tone2_tone4:"]::before,
em[data-emoji="people_holding_hands_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":people_holding_hands_tone2_tone5:"]::before,
em[data-emoji="people_holding_hands_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":people_holding_hands_tone3_tone1:"]::before,
em[data-emoji="people_holding_hands_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":people_holding_hands_tone3_tone2:"]::before,
em[data-emoji="people_holding_hands_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":people_holding_hands_tone3:"]::before,
em[data-emoji="people_holding_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":people_holding_hands_tone3_tone4:"]::before,
em[data-emoji="people_holding_hands_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":people_holding_hands_tone3_tone5:"]::before,
em[data-emoji="people_holding_hands_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":people_holding_hands_tone4_tone1:"]::before,
em[data-emoji="people_holding_hands_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":people_holding_hands_tone4_tone2:"]::before,
em[data-emoji="people_holding_hands_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":people_holding_hands_tone4_tone3:"]::before,
em[data-emoji="people_holding_hands_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":people_holding_hands_tone4:"]::before,
em[data-emoji="people_holding_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":people_holding_hands_tone4_tone5:"]::before,
em[data-emoji="people_holding_hands_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":people_holding_hands_tone5_tone1:"]::before,
em[data-emoji="people_holding_hands_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":people_holding_hands_tone5_tone2:"]::before,
em[data-emoji="people_holding_hands_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":people_holding_hands_tone5_tone3:"]::before,
em[data-emoji="people_holding_hands_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":people_holding_hands_tone5_tone4:"]::before,
em[data-emoji="people_holding_hands_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":people_holding_hands_tone5:"]::before,
em[data-emoji="people_holding_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":couple:"]::before,
em[data-emoji="couple"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone1:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b-1f3fb.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone1_tone2:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone1_tone3:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone1_tone4:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone1_tone5:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone2_tone1:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone2:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b-1f3fc.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone2_tone3:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone2_tone4:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone2_tone5:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone3_tone1:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone3_tone2:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone3:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b-1f3fd.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone3_tone4:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone3_tone5:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone4_tone1:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone4_tone2:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone4_tone3:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone4:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b-1f3fe.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone4_tone5:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone5_tone1:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone5_tone2:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone5_tone3:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone5_tone4:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":woman_and_man_holding_hands_tone5:"]::before,
em[data-emoji="woman_and_man_holding_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46b-1f3ff.svg");
}
em[data-emoji=":two_women_holding_hands:"]::before,
em[data-emoji="two_women_holding_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d.svg");
}
em[data-emoji=":women_holding_hands_tone1:"]::before,
em[data-emoji="women_holding_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d-1f3fb.svg");
}
em[data-emoji=":women_holding_hands_tone1_tone2:"]::before,
em[data-emoji="women_holding_hands_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg");
}
em[data-emoji=":women_holding_hands_tone1_tone3:"]::before,
em[data-emoji="women_holding_hands_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg");
}
em[data-emoji=":women_holding_hands_tone1_tone4:"]::before,
em[data-emoji="women_holding_hands_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg");
}
em[data-emoji=":women_holding_hands_tone1_tone5:"]::before,
em[data-emoji="women_holding_hands_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg");
}
em[data-emoji=":women_holding_hands_tone2_tone1:"]::before,
em[data-emoji="women_holding_hands_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg");
}
em[data-emoji=":women_holding_hands_tone2:"]::before,
em[data-emoji="women_holding_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d-1f3fc.svg");
}
em[data-emoji=":women_holding_hands_tone2_tone3:"]::before,
em[data-emoji="women_holding_hands_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg");
}
em[data-emoji=":women_holding_hands_tone2_tone4:"]::before,
em[data-emoji="women_holding_hands_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg");
}
em[data-emoji=":women_holding_hands_tone2_tone5:"]::before,
em[data-emoji="women_holding_hands_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg");
}
em[data-emoji=":women_holding_hands_tone3_tone1:"]::before,
em[data-emoji="women_holding_hands_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg");
}
em[data-emoji=":women_holding_hands_tone3_tone2:"]::before,
em[data-emoji="women_holding_hands_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg");
}
em[data-emoji=":women_holding_hands_tone3:"]::before,
em[data-emoji="women_holding_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d-1f3fd.svg");
}
em[data-emoji=":women_holding_hands_tone3_tone4:"]::before,
em[data-emoji="women_holding_hands_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg");
}
em[data-emoji=":women_holding_hands_tone3_tone5:"]::before,
em[data-emoji="women_holding_hands_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg");
}
em[data-emoji=":women_holding_hands_tone4_tone1:"]::before,
em[data-emoji="women_holding_hands_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg");
}
em[data-emoji=":women_holding_hands_tone4_tone2:"]::before,
em[data-emoji="women_holding_hands_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg");
}
em[data-emoji=":women_holding_hands_tone4_tone3:"]::before,
em[data-emoji="women_holding_hands_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg");
}
em[data-emoji=":women_holding_hands_tone4:"]::before,
em[data-emoji="women_holding_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d-1f3fe.svg");
}
em[data-emoji=":women_holding_hands_tone4_tone5:"]::before,
em[data-emoji="women_holding_hands_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg");
}
em[data-emoji=":women_holding_hands_tone5_tone1:"]::before,
em[data-emoji="women_holding_hands_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg");
}
em[data-emoji=":women_holding_hands_tone5_tone2:"]::before,
em[data-emoji="women_holding_hands_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg");
}
em[data-emoji=":women_holding_hands_tone5_tone3:"]::before,
em[data-emoji="women_holding_hands_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg");
}
em[data-emoji=":women_holding_hands_tone5_tone4:"]::before,
em[data-emoji="women_holding_hands_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg");
}
em[data-emoji=":women_holding_hands_tone5:"]::before,
em[data-emoji="women_holding_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46d-1f3ff.svg");
}
em[data-emoji=":two_men_holding_hands:"]::before,
em[data-emoji="two_men_holding_hands"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c.svg");
}
em[data-emoji=":men_holding_hands_tone1:"]::before,
em[data-emoji="men_holding_hands_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c-1f3fb.svg");
}
em[data-emoji=":men_holding_hands_tone1_tone2:"]::before,
em[data-emoji="men_holding_hands_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":men_holding_hands_tone1_tone3:"]::before,
em[data-emoji="men_holding_hands_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":men_holding_hands_tone1_tone4:"]::before,
em[data-emoji="men_holding_hands_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":men_holding_hands_tone1_tone5:"]::before,
em[data-emoji="men_holding_hands_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":men_holding_hands_tone2_tone1:"]::before,
em[data-emoji="men_holding_hands_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":men_holding_hands_tone2:"]::before,
em[data-emoji="men_holding_hands_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c-1f3fc.svg");
}
em[data-emoji=":men_holding_hands_tone2_tone3:"]::before,
em[data-emoji="men_holding_hands_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":men_holding_hands_tone2_tone4:"]::before,
em[data-emoji="men_holding_hands_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":men_holding_hands_tone2_tone5:"]::before,
em[data-emoji="men_holding_hands_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":men_holding_hands_tone3_tone1:"]::before,
em[data-emoji="men_holding_hands_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":men_holding_hands_tone3_tone2:"]::before,
em[data-emoji="men_holding_hands_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":men_holding_hands_tone3:"]::before,
em[data-emoji="men_holding_hands_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c-1f3fd.svg");
}
em[data-emoji=":men_holding_hands_tone3_tone4:"]::before,
em[data-emoji="men_holding_hands_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":men_holding_hands_tone3_tone5:"]::before,
em[data-emoji="men_holding_hands_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":men_holding_hands_tone4_tone1:"]::before,
em[data-emoji="men_holding_hands_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":men_holding_hands_tone4_tone2:"]::before,
em[data-emoji="men_holding_hands_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":men_holding_hands_tone4_tone3:"]::before,
em[data-emoji="men_holding_hands_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":men_holding_hands_tone4:"]::before,
em[data-emoji="men_holding_hands_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c-1f3fe.svg");
}
em[data-emoji=":men_holding_hands_tone4_tone5:"]::before,
em[data-emoji="men_holding_hands_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg");
}
em[data-emoji=":men_holding_hands_tone5_tone1:"]::before,
em[data-emoji="men_holding_hands_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg");
}
em[data-emoji=":men_holding_hands_tone5_tone2:"]::before,
em[data-emoji="men_holding_hands_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg");
}
em[data-emoji=":men_holding_hands_tone5_tone3:"]::before,
em[data-emoji="men_holding_hands_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg");
}
em[data-emoji=":men_holding_hands_tone5_tone4:"]::before,
em[data-emoji="men_holding_hands_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg");
}
em[data-emoji=":men_holding_hands_tone5:"]::before,
em[data-emoji="men_holding_hands_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46c-1f3ff.svg");
}
em[data-emoji=":couple_with_heart:"]::before,
em[data-emoji="couple_with_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491.svg");
}
em[data-emoji=":couple_with_heart_tone1:"]::before,
em[data-emoji="couple_with_heart_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone1_tone2:"]::before,
em[data-emoji="couple_with_heart_person_person_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone1_tone3:"]::before,
em[data-emoji="couple_with_heart_person_person_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone1_tone4:"]::before,
em[data-emoji="couple_with_heart_person_person_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone1_tone5:"]::before,
em[data-emoji="couple_with_heart_person_person_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone2_tone1:"]::before,
em[data-emoji="couple_with_heart_person_person_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_tone2:"]::before,
em[data-emoji="couple_with_heart_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone2_tone3:"]::before,
em[data-emoji="couple_with_heart_person_person_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone2_tone4:"]::before,
em[data-emoji="couple_with_heart_person_person_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone2_tone5:"]::before,
em[data-emoji="couple_with_heart_person_person_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone3_tone1:"]::before,
em[data-emoji="couple_with_heart_person_person_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone3_tone2:"]::before,
em[data-emoji="couple_with_heart_person_person_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_tone3:"]::before,
em[data-emoji="couple_with_heart_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone3_tone4:"]::before,
em[data-emoji="couple_with_heart_person_person_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone3_tone5:"]::before,
em[data-emoji="couple_with_heart_person_person_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone4_tone1:"]::before,
em[data-emoji="couple_with_heart_person_person_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone4_tone2:"]::before,
em[data-emoji="couple_with_heart_person_person_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone4_tone3:"]::before,
em[data-emoji="couple_with_heart_person_person_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_tone4:"]::before,
em[data-emoji="couple_with_heart_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone4_tone5:"]::before,
em[data-emoji="couple_with_heart_person_person_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone5_tone1:"]::before,
em[data-emoji="couple_with_heart_person_person_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone5_tone2:"]::before,
em[data-emoji="couple_with_heart_person_person_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone5_tone3:"]::before,
em[data-emoji="couple_with_heart_person_person_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_person_person_tone5_tone4:"]::before,
em[data-emoji="couple_with_heart_person_person_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_tone5:"]::before,
em[data-emoji="couple_with_heart_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f491-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_man:"]::before,
em[data-emoji="couple_with_heart_woman_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2764-fe0f-200d-1f468.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone1_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone1_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone1_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone1_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone2_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone2_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone2_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone2_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone3_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone3_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone3_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone3_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone4_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone4_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone4_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone4_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone5_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone5_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone5_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone5_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_man_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_ww:"]::before,
em[data-emoji="couple_ww"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2764-fe0f-200d-1f469.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone1_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone1_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone1_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone1_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone2_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone2_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone2_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone2_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone3_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone3_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone3_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone3_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone4_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone4_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone4_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone4_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone5_tone1:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone5_tone2:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone5_tone3:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone5_tone4:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_woman_woman_tone5:"]::before,
em[data-emoji="couple_with_heart_woman_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.svg");
}
em[data-emoji=":couple_mm:"]::before,
em[data-emoji="couple_mm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-2764-fe0f-200d-1f468.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone1:"]::before,
em[data-emoji="couple_with_heart_man_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone1_tone2:"]::before,
em[data-emoji="couple_with_heart_man_man_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone1_tone3:"]::before,
em[data-emoji="couple_with_heart_man_man_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone1_tone4:"]::before,
em[data-emoji="couple_with_heart_man_man_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone1_tone5:"]::before,
em[data-emoji="couple_with_heart_man_man_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone2_tone1:"]::before,
em[data-emoji="couple_with_heart_man_man_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone2:"]::before,
em[data-emoji="couple_with_heart_man_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone2_tone3:"]::before,
em[data-emoji="couple_with_heart_man_man_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone2_tone4:"]::before,
em[data-emoji="couple_with_heart_man_man_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone2_tone5:"]::before,
em[data-emoji="couple_with_heart_man_man_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone3_tone1:"]::before,
em[data-emoji="couple_with_heart_man_man_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone3_tone2:"]::before,
em[data-emoji="couple_with_heart_man_man_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone3:"]::before,
em[data-emoji="couple_with_heart_man_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone3_tone4:"]::before,
em[data-emoji="couple_with_heart_man_man_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone3_tone5:"]::before,
em[data-emoji="couple_with_heart_man_man_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone4_tone1:"]::before,
em[data-emoji="couple_with_heart_man_man_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone4_tone2:"]::before,
em[data-emoji="couple_with_heart_man_man_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone4_tone3:"]::before,
em[data-emoji="couple_with_heart_man_man_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone4:"]::before,
em[data-emoji="couple_with_heart_man_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone4_tone5:"]::before,
em[data-emoji="couple_with_heart_man_man_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone5_tone1:"]::before,
em[data-emoji="couple_with_heart_man_man_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone5_tone2:"]::before,
em[data-emoji="couple_with_heart_man_man_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone5_tone3:"]::before,
em[data-emoji="couple_with_heart_man_man_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone5_tone4:"]::before,
em[data-emoji="couple_with_heart_man_man_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg");
}
em[data-emoji=":couple_with_heart_man_man_tone5:"]::before,
em[data-emoji="couple_with_heart_man_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg");
}
em[data-emoji=":couplekiss:"]::before,
em[data-emoji="couplekiss"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f.svg");
}
em[data-emoji=":kiss_tone1:"]::before,
em[data-emoji="kiss_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f-1f3fb.svg");
}
em[data-emoji=":kiss_person_person_tone1_tone2:"]::before,
em[data-emoji="kiss_person_person_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":kiss_person_person_tone1_tone3:"]::before,
em[data-emoji="kiss_person_person_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":kiss_person_person_tone1_tone4:"]::before,
em[data-emoji="kiss_person_person_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":kiss_person_person_tone1_tone5:"]::before,
em[data-emoji="kiss_person_person_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":kiss_person_person_tone2_tone1:"]::before,
em[data-emoji="kiss_person_person_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":kiss_tone2:"]::before,
em[data-emoji="kiss_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f-1f3fc.svg");
}
em[data-emoji=":kiss_person_person_tone2_tone3:"]::before,
em[data-emoji="kiss_person_person_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":kiss_person_person_tone2_tone4:"]::before,
em[data-emoji="kiss_person_person_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":kiss_person_person_tone2_tone5:"]::before,
em[data-emoji="kiss_person_person_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":kiss_person_person_tone3_tone1:"]::before,
em[data-emoji="kiss_person_person_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":kiss_person_person_tone3_tone2:"]::before,
em[data-emoji="kiss_person_person_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":kiss_tone3:"]::before,
em[data-emoji="kiss_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f-1f3fd.svg");
}
em[data-emoji=":kiss_person_person_tone3_tone4:"]::before,
em[data-emoji="kiss_person_person_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":kiss_person_person_tone3_tone5:"]::before,
em[data-emoji="kiss_person_person_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":kiss_person_person_tone4_tone1:"]::before,
em[data-emoji="kiss_person_person_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":kiss_person_person_tone4_tone2:"]::before,
em[data-emoji="kiss_person_person_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":kiss_person_person_tone4_tone3:"]::before,
em[data-emoji="kiss_person_person_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":kiss_tone4:"]::before,
em[data-emoji="kiss_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f-1f3fe.svg");
}
em[data-emoji=":kiss_person_person_tone4_tone5:"]::before,
em[data-emoji="kiss_person_person_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg");
}
em[data-emoji=":kiss_person_person_tone5_tone1:"]::before,
em[data-emoji="kiss_person_person_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg");
}
em[data-emoji=":kiss_person_person_tone5_tone2:"]::before,
em[data-emoji="kiss_person_person_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg");
}
em[data-emoji=":kiss_person_person_tone5_tone3:"]::before,
em[data-emoji="kiss_person_person_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg");
}
em[data-emoji=":kiss_person_person_tone5_tone4:"]::before,
em[data-emoji="kiss_person_person_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg");
}
em[data-emoji=":kiss_tone5:"]::before,
em[data-emoji="kiss_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48f-1f3ff.svg");
}
em[data-emoji=":kiss_woman_man:"]::before,
em[data-emoji="kiss_woman_man"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg");
}
em[data-emoji=":kiss_woman_man_tone1:"]::before,
em[data-emoji="kiss_woman_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_woman_man_tone1_tone2:"]::before,
em[data-emoji="kiss_woman_man_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_woman_man_tone1_tone3:"]::before,
em[data-emoji="kiss_woman_man_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_woman_man_tone1_tone4:"]::before,
em[data-emoji="kiss_woman_man_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_woman_man_tone1_tone5:"]::before,
em[data-emoji="kiss_woman_man_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_woman_man_tone2_tone1:"]::before,
em[data-emoji="kiss_woman_man_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_woman_man_tone2:"]::before,
em[data-emoji="kiss_woman_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_woman_man_tone2_tone3:"]::before,
em[data-emoji="kiss_woman_man_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_woman_man_tone2_tone4:"]::before,
em[data-emoji="kiss_woman_man_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_woman_man_tone2_tone5:"]::before,
em[data-emoji="kiss_woman_man_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_woman_man_tone3_tone1:"]::before,
em[data-emoji="kiss_woman_man_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_woman_man_tone3_tone2:"]::before,
em[data-emoji="kiss_woman_man_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_woman_man_tone3:"]::before,
em[data-emoji="kiss_woman_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_woman_man_tone3_tone4:"]::before,
em[data-emoji="kiss_woman_man_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_woman_man_tone3_tone5:"]::before,
em[data-emoji="kiss_woman_man_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_woman_man_tone4_tone1:"]::before,
em[data-emoji="kiss_woman_man_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_woman_man_tone4_tone2:"]::before,
em[data-emoji="kiss_woman_man_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_woman_man_tone4_tone3:"]::before,
em[data-emoji="kiss_woman_man_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_woman_man_tone4:"]::before,
em[data-emoji="kiss_woman_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_woman_man_tone4_tone5:"]::before,
em[data-emoji="kiss_woman_man_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_woman_man_tone5_tone1:"]::before,
em[data-emoji="kiss_woman_man_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_woman_man_tone5_tone2:"]::before,
em[data-emoji="kiss_woman_man_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_woman_man_tone5_tone3:"]::before,
em[data-emoji="kiss_woman_man_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_woman_man_tone5_tone4:"]::before,
em[data-emoji="kiss_woman_man_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_woman_man_tone5:"]::before,
em[data-emoji="kiss_woman_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_ww:"]::before,
em[data-emoji="kiss_ww"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg");
}
em[data-emoji=":kiss_woman_woman_tone1:"]::before,
em[data-emoji="kiss_woman_woman_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg");
}
em[data-emoji=":kiss_woman_woman_tone1_tone2:"]::before,
em[data-emoji="kiss_woman_woman_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg");
}
em[data-emoji=":kiss_woman_woman_tone1_tone3:"]::before,
em[data-emoji="kiss_woman_woman_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg");
}
em[data-emoji=":kiss_woman_woman_tone1_tone4:"]::before,
em[data-emoji="kiss_woman_woman_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg");
}
em[data-emoji=":kiss_woman_woman_tone1_tone5:"]::before,
em[data-emoji="kiss_woman_woman_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg");
}
em[data-emoji=":kiss_woman_woman_tone2_tone1:"]::before,
em[data-emoji="kiss_woman_woman_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg");
}
em[data-emoji=":kiss_woman_woman_tone2:"]::before,
em[data-emoji="kiss_woman_woman_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg");
}
em[data-emoji=":kiss_woman_woman_tone2_tone3:"]::before,
em[data-emoji="kiss_woman_woman_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg");
}
em[data-emoji=":kiss_woman_woman_tone2_tone4:"]::before,
em[data-emoji="kiss_woman_woman_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg");
}
em[data-emoji=":kiss_woman_woman_tone2_tone5:"]::before,
em[data-emoji="kiss_woman_woman_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg");
}
em[data-emoji=":kiss_woman_woman_tone3_tone1:"]::before,
em[data-emoji="kiss_woman_woman_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg");
}
em[data-emoji=":kiss_woman_woman_tone3_tone2:"]::before,
em[data-emoji="kiss_woman_woman_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg");
}
em[data-emoji=":kiss_woman_woman_tone3:"]::before,
em[data-emoji="kiss_woman_woman_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg");
}
em[data-emoji=":kiss_woman_woman_tone3_tone4:"]::before,
em[data-emoji="kiss_woman_woman_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg");
}
em[data-emoji=":kiss_woman_woman_tone3_tone5:"]::before,
em[data-emoji="kiss_woman_woman_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg");
}
em[data-emoji=":kiss_woman_woman_tone4_tone1:"]::before,
em[data-emoji="kiss_woman_woman_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg");
}
em[data-emoji=":kiss_woman_woman_tone4_tone2:"]::before,
em[data-emoji="kiss_woman_woman_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg");
}
em[data-emoji=":kiss_woman_woman_tone4_tone3:"]::before,
em[data-emoji="kiss_woman_woman_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg");
}
em[data-emoji=":kiss_woman_woman_tone4:"]::before,
em[data-emoji="kiss_woman_woman_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg");
}
em[data-emoji=":kiss_woman_woman_tone4_tone5:"]::before,
em[data-emoji="kiss_woman_woman_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg");
}
em[data-emoji=":kiss_woman_woman_tone5_tone1:"]::before,
em[data-emoji="kiss_woman_woman_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg");
}
em[data-emoji=":kiss_woman_woman_tone5_tone2:"]::before,
em[data-emoji="kiss_woman_woman_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg");
}
em[data-emoji=":kiss_woman_woman_tone5_tone3:"]::before,
em[data-emoji="kiss_woman_woman_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg");
}
em[data-emoji=":kiss_woman_woman_tone5_tone4:"]::before,
em[data-emoji="kiss_woman_woman_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg");
}
em[data-emoji=":kiss_woman_woman_tone5:"]::before,
em[data-emoji="kiss_woman_woman_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg");
}
em[data-emoji=":kiss_mm:"]::before,
em[data-emoji="kiss_mm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg");
}
em[data-emoji=":kiss_man_man_tone1:"]::before,
em[data-emoji="kiss_man_man_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_man_man_tone1_tone2:"]::before,
em[data-emoji="kiss_man_man_tone1_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_man_man_tone1_tone3:"]::before,
em[data-emoji="kiss_man_man_tone1_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_man_man_tone1_tone4:"]::before,
em[data-emoji="kiss_man_man_tone1_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_man_man_tone1_tone5:"]::before,
em[data-emoji="kiss_man_man_tone1_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_man_man_tone2_tone1:"]::before,
em[data-emoji="kiss_man_man_tone2_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_man_man_tone2:"]::before,
em[data-emoji="kiss_man_man_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_man_man_tone2_tone3:"]::before,
em[data-emoji="kiss_man_man_tone2_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_man_man_tone2_tone4:"]::before,
em[data-emoji="kiss_man_man_tone2_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_man_man_tone2_tone5:"]::before,
em[data-emoji="kiss_man_man_tone2_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_man_man_tone3_tone1:"]::before,
em[data-emoji="kiss_man_man_tone3_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_man_man_tone3_tone2:"]::before,
em[data-emoji="kiss_man_man_tone3_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_man_man_tone3:"]::before,
em[data-emoji="kiss_man_man_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_man_man_tone3_tone4:"]::before,
em[data-emoji="kiss_man_man_tone3_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_man_man_tone3_tone5:"]::before,
em[data-emoji="kiss_man_man_tone3_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_man_man_tone4_tone1:"]::before,
em[data-emoji="kiss_man_man_tone4_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_man_man_tone4_tone2:"]::before,
em[data-emoji="kiss_man_man_tone4_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_man_man_tone4_tone3:"]::before,
em[data-emoji="kiss_man_man_tone4_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_man_man_tone4:"]::before,
em[data-emoji="kiss_man_man_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_man_man_tone4_tone5:"]::before,
em[data-emoji="kiss_man_man_tone4_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":kiss_man_man_tone5_tone1:"]::before,
em[data-emoji="kiss_man_man_tone5_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg");
}
em[data-emoji=":kiss_man_man_tone5_tone2:"]::before,
em[data-emoji="kiss_man_man_tone5_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg");
}
em[data-emoji=":kiss_man_man_tone5_tone3:"]::before,
em[data-emoji="kiss_man_man_tone5_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg");
}
em[data-emoji=":kiss_man_man_tone5_tone4:"]::before,
em[data-emoji="kiss_man_man_tone5_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg");
}
em[data-emoji=":kiss_man_man_tone5:"]::before,
em[data-emoji="kiss_man_man_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg");
}
em[data-emoji=":family_adult_adult_child_child:"]::before,
em[data-emoji="family_adult_adult_child_child"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2.svg");
}
em[data-emoji=":family_adult_adult_child:"]::before,
em[data-emoji="family_adult_adult_child"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9d1-200d-1f9d2.svg");
}
em[data-emoji=":family_adult_child_child:"]::before,
em[data-emoji="family_adult_child_child"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9d2-200d-1f9d2.svg");
}
em[data-emoji=":family_adult_child:"]::before,
em[data-emoji="family_adult_child"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d1-200d-1f9d2.svg");
}
em[data-emoji=":family:"]::before,
em[data-emoji="family"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f46a.svg");
}
em[data-emoji=":family_man_woman_boy:"]::before,
em[data-emoji="family_man_woman_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f469-200d-1f466.svg");
}
em[data-emoji=":family_mwg:"]::before,
em[data-emoji="family_mwg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f469-200d-1f467.svg");
}
em[data-emoji=":family_mwgb:"]::before,
em[data-emoji="family_mwgb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f469-200d-1f467-200d-1f466.svg");
}
em[data-emoji=":family_mwbb:"]::before,
em[data-emoji="family_mwbb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f469-200d-1f466-200d-1f466.svg");
}
em[data-emoji=":family_mwgg:"]::before,
em[data-emoji="family_mwgg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f469-200d-1f467-200d-1f467.svg");
}
em[data-emoji=":family_wwb:"]::before,
em[data-emoji="family_wwb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f469-200d-1f466.svg");
}
em[data-emoji=":family_wwg:"]::before,
em[data-emoji="family_wwg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f469-200d-1f467.svg");
}
em[data-emoji=":family_wwgb:"]::before,
em[data-emoji="family_wwgb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f469-200d-1f467-200d-1f466.svg");
}
em[data-emoji=":family_wwbb:"]::before,
em[data-emoji="family_wwbb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f469-200d-1f466-200d-1f466.svg");
}
em[data-emoji=":family_wwgg:"]::before,
em[data-emoji="family_wwgg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f469-200d-1f467-200d-1f467.svg");
}
em[data-emoji=":family_mmb:"]::before,
em[data-emoji="family_mmb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f468-200d-1f466.svg");
}
em[data-emoji=":family_mmg:"]::before,
em[data-emoji="family_mmg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f468-200d-1f467.svg");
}
em[data-emoji=":family_mmgb:"]::before,
em[data-emoji="family_mmgb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f468-200d-1f467-200d-1f466.svg");
}
em[data-emoji=":family_mmbb:"]::before,
em[data-emoji="family_mmbb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f468-200d-1f466-200d-1f466.svg");
}
em[data-emoji=":family_mmgg:"]::before,
em[data-emoji="family_mmgg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f468-200d-1f467-200d-1f467.svg");
}
em[data-emoji=":family_woman_boy:"]::before,
em[data-emoji="family_woman_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f466.svg");
}
em[data-emoji=":family_woman_girl:"]::before,
em[data-emoji="family_woman_girl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f467.svg");
}
em[data-emoji=":family_woman_girl_boy:"]::before,
em[data-emoji="family_woman_girl_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f467-200d-1f466.svg");
}
em[data-emoji=":family_woman_boy_boy:"]::before,
em[data-emoji="family_woman_boy_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f466-200d-1f466.svg");
}
em[data-emoji=":family_woman_girl_girl:"]::before,
em[data-emoji="family_woman_girl_girl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f469-200d-1f467-200d-1f467.svg");
}
em[data-emoji=":family_man_boy:"]::before,
em[data-emoji="family_man_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f466.svg");
}
em[data-emoji=":family_man_girl:"]::before,
em[data-emoji="family_man_girl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f467.svg");
}
em[data-emoji=":family_man_girl_boy:"]::before,
em[data-emoji="family_man_girl_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f467-200d-1f466.svg");
}
em[data-emoji=":family_man_boy_boy:"]::before,
em[data-emoji="family_man_boy_boy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f466-200d-1f466.svg");
}
em[data-emoji=":family_man_girl_girl:"]::before,
em[data-emoji="family_man_girl_girl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f468-200d-1f467-200d-1f467.svg");
}
em[data-emoji=":knot:"]::before,
em[data-emoji="knot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa2.svg");
}
em[data-emoji=":yarn:"]::before,
em[data-emoji="yarn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f6.svg");
}
em[data-emoji=":thread:"]::before,
em[data-emoji="thread"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f5.svg");
}
em[data-emoji=":sewing_needle:"]::before,
em[data-emoji="sewing_needle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa1.svg");
}
em[data-emoji=":coat:"]::before,
em[data-emoji="coat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e5.svg");
}
em[data-emoji=":lab_coat:"]::before,
em[data-emoji="lab_coat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97c.svg");
}
em[data-emoji=":safety_vest:"]::before,
em[data-emoji="safety_vest"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ba.svg");
}
em[data-emoji=":womans_clothes:"]::before,
em[data-emoji="womans_clothes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45a.svg");
}
em[data-emoji=":shirt:"]::before,
em[data-emoji="shirt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f455.svg");
}
em[data-emoji=":jeans:"]::before,
em[data-emoji="jeans"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f456.svg");
}
em[data-emoji=":briefs:"]::before,
em[data-emoji="briefs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa72.svg");
}
em[data-emoji=":shorts:"]::before,
em[data-emoji="shorts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa73.svg");
}
em[data-emoji=":necktie:"]::before,
em[data-emoji="necktie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f454.svg");
}
em[data-emoji=":dress:"]::before,
em[data-emoji="dress"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f457.svg");
}
em[data-emoji=":bikini:"]::before,
em[data-emoji="bikini"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f459.svg");
}
em[data-emoji=":one_piece_swimsuit:"]::before,
em[data-emoji="one_piece_swimsuit"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa71.svg");
}
em[data-emoji=":kimono:"]::before,
em[data-emoji="kimono"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f458.svg");
}
em[data-emoji=":sari:"]::before,
em[data-emoji="sari"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97b.svg");
}
em[data-emoji=":thong_sandal:"]::before,
em[data-emoji="thong_sandal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa74.svg");
}
em[data-emoji=":womans_flat_shoe:"]::before,
em[data-emoji="womans_flat_shoe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97f.svg");
}
em[data-emoji=":high_heel:"]::before,
em[data-emoji="high_heel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f460.svg");
}
em[data-emoji=":sandal:"]::before,
em[data-emoji="sandal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f461.svg");
}
em[data-emoji=":boot:"]::before,
em[data-emoji="boot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f462.svg");
}
em[data-emoji=":mans_shoe:"]::before,
em[data-emoji="mans_shoe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45e.svg");
}
em[data-emoji=":athletic_shoe:"]::before,
em[data-emoji="athletic_shoe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45f.svg");
}
em[data-emoji=":hiking_boot:"]::before,
em[data-emoji="hiking_boot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97e.svg");
}
em[data-emoji=":socks:"]::before,
em[data-emoji="socks"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e6.svg");
}
em[data-emoji=":gloves:"]::before,
em[data-emoji="gloves"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e4.svg");
}
em[data-emoji=":scarf:"]::before,
em[data-emoji="scarf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e3.svg");
}
em[data-emoji=":tophat:"]::before,
em[data-emoji="tophat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a9.svg");
}
em[data-emoji=":billed_cap:"]::before,
em[data-emoji="billed_cap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e2.svg");
}
em[data-emoji=":womans_hat:"]::before,
em[data-emoji="womans_hat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f452.svg");
}
em[data-emoji=":mortar_board:"]::before,
em[data-emoji="mortar_board"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f393.svg");
}
em[data-emoji=":helmet_with_cross:"]::before,
em[data-emoji="helmet_with_cross"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26d1.svg");
}
em[data-emoji=":military_helmet:"]::before,
em[data-emoji="military_helmet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa96.svg");
}
em[data-emoji=":crown:"]::before,
em[data-emoji="crown"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f451.svg");
}
em[data-emoji=":ring:"]::before,
em[data-emoji="ring"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48d.svg");
}
em[data-emoji=":pouch:"]::before,
em[data-emoji="pouch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45d.svg");
}
em[data-emoji=":purse:"]::before,
em[data-emoji="purse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45b.svg");
}
em[data-emoji=":handbag:"]::before,
em[data-emoji="handbag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f45c.svg");
}
em[data-emoji=":briefcase:"]::before,
em[data-emoji="briefcase"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4bc.svg");
}
em[data-emoji=":school_satchel:"]::before,
em[data-emoji="school_satchel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f392.svg");
}
em[data-emoji=":luggage:"]::before,
em[data-emoji="luggage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f3.svg");
}
em[data-emoji=":eyeglasses:"]::before,
em[data-emoji="eyeglasses"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f453.svg");
}
em[data-emoji=":dark_sunglasses:"]::before,
em[data-emoji="dark_sunglasses"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f576.svg");
}
em[data-emoji=":goggles:"]::before,
em[data-emoji="goggles"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f97d.svg");
}
em[data-emoji=":closed_umbrella:"]::before,
em[data-emoji="closed_umbrella"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f302.svg");
}
em[data-emoji=":curly_haired:"]::before,
em[data-emoji="curly_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b1.svg");
}
em[data-emoji=":red_haired:"]::before,
em[data-emoji="red_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b0.svg");
}
em[data-emoji=":white_haired:"]::before,
em[data-emoji="white_haired"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b3.svg");
}
em[data-emoji=":bald:"]::before,
em[data-emoji="bald"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b2.svg");
}
em[data-emoji=":dog:"]::before,
em[data-emoji="dog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f436.svg");
}
em[data-emoji=":cat:"]::before,
em[data-emoji="cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f431.svg");
}
em[data-emoji=":mouse:"]::before,
em[data-emoji="mouse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42d.svg");
}
em[data-emoji=":hamster:"]::before,
em[data-emoji="hamster"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f439.svg");
}
em[data-emoji=":rabbit:"]::before,
em[data-emoji="rabbit"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f430.svg");
}
em[data-emoji=":fox:"]::before,
em[data-emoji="fox"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98a.svg");
}
em[data-emoji=":bear:"]::before,
em[data-emoji="bear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43b.svg");
}
em[data-emoji=":panda_face:"]::before,
em[data-emoji="panda_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43c.svg");
}
em[data-emoji=":polar_bear:"]::before,
em[data-emoji="polar_bear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43b-200d-2744-fe0f.svg");
}
em[data-emoji=":koala:"]::before,
em[data-emoji="koala"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f428.svg");
}
em[data-emoji=":tiger:"]::before,
em[data-emoji="tiger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42f.svg");
}
em[data-emoji=":lion_face:"]::before,
em[data-emoji="lion_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f981.svg");
}
em[data-emoji=":cow:"]::before,
em[data-emoji="cow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42e.svg");
}
em[data-emoji=":pig:"]::before,
em[data-emoji="pig"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f437.svg");
}
em[data-emoji=":pig_nose:"]::before,
em[data-emoji="pig_nose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43d.svg");
}
em[data-emoji=":frog:"]::before,
em[data-emoji="frog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f438.svg");
}
em[data-emoji=":monkey_face:"]::before,
em[data-emoji="monkey_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f435.svg");
}
em[data-emoji=":see_no_evil:"]::before,
em[data-emoji="see_no_evil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f648.svg");
}
em[data-emoji=":hear_no_evil:"]::before,
em[data-emoji="hear_no_evil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f649.svg");
}
em[data-emoji=":speak_no_evil:"]::before,
em[data-emoji="speak_no_evil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f64a.svg");
}
em[data-emoji=":monkey:"]::before,
em[data-emoji="monkey"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f412.svg");
}
em[data-emoji=":chicken:"]::before,
em[data-emoji="chicken"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f414.svg");
}
em[data-emoji=":penguin:"]::before,
em[data-emoji="penguin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f427.svg");
}
em[data-emoji=":bird:"]::before,
em[data-emoji="bird"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f426.svg");
}
em[data-emoji=":baby_chick:"]::before,
em[data-emoji="baby_chick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f424.svg");
}
em[data-emoji=":hatching_chick:"]::before,
em[data-emoji="hatching_chick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f423.svg");
}
em[data-emoji=":hatched_chick:"]::before,
em[data-emoji="hatched_chick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f425.svg");
}
em[data-emoji=":goose:"]::before,
em[data-emoji="goose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fabf.svg");
}
em[data-emoji=":duck:"]::before,
em[data-emoji="duck"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f986.svg");
}
em[data-emoji=":black_bird:"]::before,
em[data-emoji="black_bird"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f426-200d-2b1b.svg");
}
em[data-emoji=":eagle:"]::before,
em[data-emoji="eagle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f985.svg");
}
em[data-emoji=":owl:"]::before,
em[data-emoji="owl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f989.svg");
}
em[data-emoji=":bat:"]::before,
em[data-emoji="bat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f987.svg");
}
em[data-emoji=":wolf:"]::before,
em[data-emoji="wolf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43a.svg");
}
em[data-emoji=":boar:"]::before,
em[data-emoji="boar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f417.svg");
}
em[data-emoji=":horse:"]::before,
em[data-emoji="horse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f434.svg");
}
em[data-emoji=":unicorn:"]::before,
em[data-emoji="unicorn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f984.svg");
}
em[data-emoji=":moose:"]::before,
em[data-emoji="moose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1face.svg");
}
em[data-emoji=":bee:"]::before,
em[data-emoji="bee"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41d.svg");
}
em[data-emoji=":worm:"]::before,
em[data-emoji="worm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab1.svg");
}
em[data-emoji=":bug:"]::before,
em[data-emoji="bug"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41b.svg");
}
em[data-emoji=":butterfly:"]::before,
em[data-emoji="butterfly"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98b.svg");
}
em[data-emoji=":snail:"]::before,
em[data-emoji="snail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40c.svg");
}
em[data-emoji=":lady_beetle:"]::before,
em[data-emoji="lady_beetle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41e.svg");
}
em[data-emoji=":ant:"]::before,
em[data-emoji="ant"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41c.svg");
}
em[data-emoji=":fly:"]::before,
em[data-emoji="fly"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab0.svg");
}
em[data-emoji=":beetle:"]::before,
em[data-emoji="beetle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab2.svg");
}
em[data-emoji=":cockroach:"]::before,
em[data-emoji="cockroach"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab3.svg");
}
em[data-emoji=":mosquito:"]::before,
em[data-emoji="mosquito"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99f.svg");
}
em[data-emoji=":cricket:"]::before,
em[data-emoji="cricket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f997.svg");
}
em[data-emoji=":spider:"]::before,
em[data-emoji="spider"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f577.svg");
}
em[data-emoji=":spider_web:"]::before,
em[data-emoji="spider_web"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f578.svg");
}
em[data-emoji=":scorpion:"]::before,
em[data-emoji="scorpion"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f982.svg");
}
em[data-emoji=":turtle:"]::before,
em[data-emoji="turtle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f422.svg");
}
em[data-emoji=":snake:"]::before,
em[data-emoji="snake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40d.svg");
}
em[data-emoji=":lizard:"]::before,
em[data-emoji="lizard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98e.svg");
}
em[data-emoji=":t_rex:"]::before,
em[data-emoji="t_rex"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f996.svg");
}
em[data-emoji=":sauropod:"]::before,
em[data-emoji="sauropod"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f995.svg");
}
em[data-emoji=":octopus:"]::before,
em[data-emoji="octopus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f419.svg");
}
em[data-emoji=":squid:"]::before,
em[data-emoji="squid"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f991.svg");
}
em[data-emoji=":jellyfish:"]::before,
em[data-emoji="jellyfish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fabc.svg");
}
em[data-emoji=":shrimp:"]::before,
em[data-emoji="shrimp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f990.svg");
}
em[data-emoji=":lobster:"]::before,
em[data-emoji="lobster"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99e.svg");
}
em[data-emoji=":crab:"]::before,
em[data-emoji="crab"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f980.svg");
}
em[data-emoji=":blowfish:"]::before,
em[data-emoji="blowfish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f421.svg");
}
em[data-emoji=":tropical_fish:"]::before,
em[data-emoji="tropical_fish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f420.svg");
}
em[data-emoji=":fish:"]::before,
em[data-emoji="fish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41f.svg");
}
em[data-emoji=":dolphin:"]::before,
em[data-emoji="dolphin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42c.svg");
}
em[data-emoji=":whale:"]::before,
em[data-emoji="whale"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f433.svg");
}
em[data-emoji=":whale2:"]::before,
em[data-emoji="whale2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40b.svg");
}
em[data-emoji=":shark:"]::before,
em[data-emoji="shark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f988.svg");
}
em[data-emoji=":seal:"]::before,
em[data-emoji="seal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ad.svg");
}
em[data-emoji=":crocodile:"]::before,
em[data-emoji="crocodile"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40a.svg");
}
em[data-emoji=":tiger2:"]::before,
em[data-emoji="tiger2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f405.svg");
}
em[data-emoji=":leopard:"]::before,
em[data-emoji="leopard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f406.svg");
}
em[data-emoji=":zebra:"]::before,
em[data-emoji="zebra"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f993.svg");
}
em[data-emoji=":gorilla:"]::before,
em[data-emoji="gorilla"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98d.svg");
}
em[data-emoji=":orangutan:"]::before,
em[data-emoji="orangutan"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a7.svg");
}
em[data-emoji=":mammoth:"]::before,
em[data-emoji="mammoth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a3.svg");
}
em[data-emoji=":elephant:"]::before,
em[data-emoji="elephant"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f418.svg");
}
em[data-emoji=":hippopotamus:"]::before,
em[data-emoji="hippopotamus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99b.svg");
}
em[data-emoji=":rhino:"]::before,
em[data-emoji="rhino"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98f.svg");
}
em[data-emoji=":dromedary_camel:"]::before,
em[data-emoji="dromedary_camel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42a.svg");
}
em[data-emoji=":camel:"]::before,
em[data-emoji="camel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f42b.svg");
}
em[data-emoji=":giraffe:"]::before,
em[data-emoji="giraffe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f992.svg");
}
em[data-emoji=":kangaroo:"]::before,
em[data-emoji="kangaroo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f998.svg");
}
em[data-emoji=":bison:"]::before,
em[data-emoji="bison"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ac.svg");
}
em[data-emoji=":water_buffalo:"]::before,
em[data-emoji="water_buffalo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f403.svg");
}
em[data-emoji=":ox:"]::before,
em[data-emoji="ox"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f402.svg");
}
em[data-emoji=":cow2:"]::before,
em[data-emoji="cow2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f404.svg");
}
em[data-emoji=":donkey:"]::before,
em[data-emoji="donkey"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1facf.svg");
}
em[data-emoji=":racehorse:"]::before,
em[data-emoji="racehorse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40e.svg");
}
em[data-emoji=":pig2:"]::before,
em[data-emoji="pig2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f416.svg");
}
em[data-emoji=":ram:"]::before,
em[data-emoji="ram"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f40f.svg");
}
em[data-emoji=":sheep:"]::before,
em[data-emoji="sheep"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f411.svg");
}
em[data-emoji=":llama:"]::before,
em[data-emoji="llama"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f999.svg");
}
em[data-emoji=":goat:"]::before,
em[data-emoji="goat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f410.svg");
}
em[data-emoji=":deer:"]::before,
em[data-emoji="deer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f98c.svg");
}
em[data-emoji=":dog2:"]::before,
em[data-emoji="dog2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f415.svg");
}
em[data-emoji=":poodle:"]::before,
em[data-emoji="poodle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f429.svg");
}
em[data-emoji=":guide_dog:"]::before,
em[data-emoji="guide_dog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ae.svg");
}
em[data-emoji=":service_dog:"]::before,
em[data-emoji="service_dog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f415-200d-1f9ba.svg");
}
em[data-emoji=":cat2:"]::before,
em[data-emoji="cat2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f408.svg");
}
em[data-emoji=":black_cat:"]::before,
em[data-emoji="black_cat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f408-200d-2b1b.svg");
}
em[data-emoji=":feather:"]::before,
em[data-emoji="feather"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab6.svg");
}
em[data-emoji=":wing:"]::before,
em[data-emoji="wing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fabd.svg");
}
em[data-emoji=":rooster:"]::before,
em[data-emoji="rooster"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f413.svg");
}
em[data-emoji=":turkey:"]::before,
em[data-emoji="turkey"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f983.svg");
}
em[data-emoji=":dodo:"]::before,
em[data-emoji="dodo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a4.svg");
}
em[data-emoji=":peacock:"]::before,
em[data-emoji="peacock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99a.svg");
}
em[data-emoji=":parrot:"]::before,
em[data-emoji="parrot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99c.svg");
}
em[data-emoji=":swan:"]::before,
em[data-emoji="swan"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a2.svg");
}
em[data-emoji=":flamingo:"]::before,
em[data-emoji="flamingo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a9.svg");
}
em[data-emoji=":dove:"]::before,
em[data-emoji="dove"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f54a.svg");
}
em[data-emoji=":rabbit2:"]::before,
em[data-emoji="rabbit2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f407.svg");
}
em[data-emoji=":raccoon:"]::before,
em[data-emoji="raccoon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f99d.svg");
}
em[data-emoji=":skunk:"]::before,
em[data-emoji="skunk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a8.svg");
}
em[data-emoji=":badger:"]::before,
em[data-emoji="badger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a1.svg");
}
em[data-emoji=":beaver:"]::before,
em[data-emoji="beaver"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ab.svg");
}
em[data-emoji=":otter:"]::before,
em[data-emoji="otter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a6.svg");
}
em[data-emoji=":sloth:"]::before,
em[data-emoji="sloth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a5.svg");
}
em[data-emoji=":mouse2:"]::before,
em[data-emoji="mouse2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f401.svg");
}
em[data-emoji=":rat:"]::before,
em[data-emoji="rat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f400.svg");
}
em[data-emoji=":chipmunk:"]::before,
em[data-emoji="chipmunk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43f.svg");
}
em[data-emoji=":hedgehog:"]::before,
em[data-emoji="hedgehog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f994.svg");
}
em[data-emoji=":feet:"]::before,
em[data-emoji="feet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f43e.svg");
}
em[data-emoji=":dragon:"]::before,
em[data-emoji="dragon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f409.svg");
}
em[data-emoji=":dragon_face:"]::before,
em[data-emoji="dragon_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f432.svg");
}
em[data-emoji=":phoenix:"]::before,
em[data-emoji="phoenix"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f426-200d-1f525.svg");
}
em[data-emoji=":cactus:"]::before,
em[data-emoji="cactus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f335.svg");
}
em[data-emoji=":christmas_tree:"]::before,
em[data-emoji="christmas_tree"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f384.svg");
}
em[data-emoji=":evergreen_tree:"]::before,
em[data-emoji="evergreen_tree"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f332.svg");
}
em[data-emoji=":deciduous_tree:"]::before,
em[data-emoji="deciduous_tree"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f333.svg");
}
em[data-emoji=":palm_tree:"]::before,
em[data-emoji="palm_tree"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f334.svg");
}
em[data-emoji=":wood:"]::before,
em[data-emoji="wood"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab5.svg");
}
em[data-emoji=":seedling:"]::before,
em[data-emoji="seedling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f331.svg");
}
em[data-emoji=":herb:"]::before,
em[data-emoji="herb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33f.svg");
}
em[data-emoji=":four_leaf_clover:"]::before,
em[data-emoji="four_leaf_clover"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f340.svg");
}
em[data-emoji=":bamboo:"]::before,
em[data-emoji="bamboo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38d.svg");
}
em[data-emoji=":potted_plant:"]::before,
em[data-emoji="potted_plant"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab4.svg");
}
em[data-emoji=":tanabata_tree:"]::before,
em[data-emoji="tanabata_tree"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38b.svg");
}
em[data-emoji=":leaves:"]::before,
em[data-emoji="leaves"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f343.svg");
}
em[data-emoji=":fallen_leaf:"]::before,
em[data-emoji="fallen_leaf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f342.svg");
}
em[data-emoji=":maple_leaf:"]::before,
em[data-emoji="maple_leaf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f341.svg");
}
em[data-emoji=":nest_with_eggs:"]::before,
em[data-emoji="nest_with_eggs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faba.svg");
}
em[data-emoji=":empty_nest:"]::before,
em[data-emoji="empty_nest"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab9.svg");
}
em[data-emoji=":mushroom:"]::before,
em[data-emoji="mushroom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f344.svg");
}
em[data-emoji=":brown_mushroom:"]::before,
em[data-emoji="brown_mushroom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f344-200d-1f7eb.svg");
}
em[data-emoji=":shell:"]::before,
em[data-emoji="shell"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f41a.svg");
}
em[data-emoji=":coral:"]::before,
em[data-emoji="coral"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab8.svg");
}
em[data-emoji=":rock:"]::before,
em[data-emoji="rock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa8.svg");
}
em[data-emoji=":ear_of_rice:"]::before,
em[data-emoji="ear_of_rice"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33e.svg");
}
em[data-emoji=":bouquet:"]::before,
em[data-emoji="bouquet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f490.svg");
}
em[data-emoji=":tulip:"]::before,
em[data-emoji="tulip"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f337.svg");
}
em[data-emoji=":rose:"]::before,
em[data-emoji="rose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f339.svg");
}
em[data-emoji=":wilted_rose:"]::before,
em[data-emoji="wilted_rose"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f940.svg");
}
em[data-emoji=":hyacinth:"]::before,
em[data-emoji="hyacinth"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fabb.svg");
}
em[data-emoji=":lotus:"]::before,
em[data-emoji="lotus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fab7.svg");
}
em[data-emoji=":hibiscus:"]::before,
em[data-emoji="hibiscus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33a.svg");
}
em[data-emoji=":cherry_blossom:"]::before,
em[data-emoji="cherry_blossom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f338.svg");
}
em[data-emoji=":blossom:"]::before,
em[data-emoji="blossom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33c.svg");
}
em[data-emoji=":sunflower:"]::before,
em[data-emoji="sunflower"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33b.svg");
}
em[data-emoji=":sun_with_face:"]::before,
em[data-emoji="sun_with_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31e.svg");
}
em[data-emoji=":full_moon_with_face:"]::before,
em[data-emoji="full_moon_with_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31d.svg");
}
em[data-emoji=":first_quarter_moon_with_face:"]::before,
em[data-emoji="first_quarter_moon_with_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31b.svg");
}
em[data-emoji=":last_quarter_moon_with_face:"]::before,
em[data-emoji="last_quarter_moon_with_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31c.svg");
}
em[data-emoji=":new_moon_with_face:"]::before,
em[data-emoji="new_moon_with_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31a.svg");
}
em[data-emoji=":full_moon:"]::before,
em[data-emoji="full_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f315.svg");
}
em[data-emoji=":waning_gibbous_moon:"]::before,
em[data-emoji="waning_gibbous_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f316.svg");
}
em[data-emoji=":last_quarter_moon:"]::before,
em[data-emoji="last_quarter_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f317.svg");
}
em[data-emoji=":waning_crescent_moon:"]::before,
em[data-emoji="waning_crescent_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f318.svg");
}
em[data-emoji=":new_moon:"]::before,
em[data-emoji="new_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f311.svg");
}
em[data-emoji=":waxing_crescent_moon:"]::before,
em[data-emoji="waxing_crescent_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f312.svg");
}
em[data-emoji=":first_quarter_moon:"]::before,
em[data-emoji="first_quarter_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f313.svg");
}
em[data-emoji=":waxing_gibbous_moon:"]::before,
em[data-emoji="waxing_gibbous_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f314.svg");
}
em[data-emoji=":crescent_moon:"]::before,
em[data-emoji="crescent_moon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f319.svg");
}
em[data-emoji=":earth_americas:"]::before,
em[data-emoji="earth_americas"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30e.svg");
}
em[data-emoji=":earth_africa:"]::before,
em[data-emoji="earth_africa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30d.svg");
}
em[data-emoji=":earth_asia:"]::before,
em[data-emoji="earth_asia"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30f.svg");
}
em[data-emoji=":ringed_planet:"]::before,
em[data-emoji="ringed_planet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa90.svg");
}
em[data-emoji=":dizzy:"]::before,
em[data-emoji="dizzy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ab.svg");
}
em[data-emoji=":star:"]::before,
em[data-emoji="star"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b50.svg");
}
em[data-emoji=":star2:"]::before,
em[data-emoji="star2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f31f.svg");
}
em[data-emoji=":zap:"]::before,
em[data-emoji="zap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26a1.svg");
}
em[data-emoji=":boom:"]::before,
em[data-emoji="boom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a5.svg");
}
em[data-emoji=":fire:"]::before,
em[data-emoji="fire"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f525.svg");
}
em[data-emoji=":cloud_tornado:"]::before,
em[data-emoji="cloud_tornado"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32a.svg");
}
em[data-emoji=":rainbow:"]::before,
em[data-emoji="rainbow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f308.svg");
}
em[data-emoji=":white_sun_small_cloud:"]::before,
em[data-emoji="white_sun_small_cloud"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f324.svg");
}
em[data-emoji=":partly_sunny:"]::before,
em[data-emoji="partly_sunny"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26c5.svg");
}
em[data-emoji=":white_sun_cloud:"]::before,
em[data-emoji="white_sun_cloud"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f325.svg");
}
em[data-emoji=":white_sun_rain_cloud:"]::before,
em[data-emoji="white_sun_rain_cloud"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f326.svg");
}
em[data-emoji=":cloud_rain:"]::before,
em[data-emoji="cloud_rain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f327.svg");
}
em[data-emoji=":thunder_cloud_rain:"]::before,
em[data-emoji="thunder_cloud_rain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26c8.svg");
}
em[data-emoji=":cloud_lightning:"]::before,
em[data-emoji="cloud_lightning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f329.svg");
}
em[data-emoji=":cloud_snow:"]::before,
em[data-emoji="cloud_snow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f328.svg");
}
em[data-emoji=":snowman:"]::before,
em[data-emoji="snowman"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26c4.svg");
}
em[data-emoji=":wind_blowing_face:"]::before,
em[data-emoji="wind_blowing_face"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32c.svg");
}
em[data-emoji=":dash:"]::before,
em[data-emoji="dash"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a8.svg");
}
em[data-emoji=":droplet:"]::before,
em[data-emoji="droplet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a7.svg");
}
em[data-emoji=":sweat_drops:"]::before,
em[data-emoji="sweat_drops"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a6.svg");
}
em[data-emoji=":bubbles:"]::before,
em[data-emoji="bubbles"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fae7.svg");
}
em[data-emoji=":ocean:"]::before,
em[data-emoji="ocean"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30a.svg");
}
em[data-emoji=":fog:"]::before,
em[data-emoji="fog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32b.svg");
}
em[data-emoji=":green_apple:"]::before,
em[data-emoji="green_apple"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34f.svg");
}
em[data-emoji=":apple:"]::before,
em[data-emoji="apple"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34e.svg");
}
em[data-emoji=":pear:"]::before,
em[data-emoji="pear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f350.svg");
}
em[data-emoji=":tangerine:"]::before,
em[data-emoji="tangerine"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34a.svg");
}
em[data-emoji=":lemon:"]::before,
em[data-emoji="lemon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34b.svg");
}
em[data-emoji=":lime:"]::before,
em[data-emoji="lime"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34b-200d-1f7e9.svg");
}
em[data-emoji=":banana:"]::before,
em[data-emoji="banana"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34c.svg");
}
em[data-emoji=":watermelon:"]::before,
em[data-emoji="watermelon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f349.svg");
}
em[data-emoji=":grapes:"]::before,
em[data-emoji="grapes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f347.svg");
}
em[data-emoji=":strawberry:"]::before,
em[data-emoji="strawberry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f353.svg");
}
em[data-emoji=":blueberries:"]::before,
em[data-emoji="blueberries"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad0.svg");
}
em[data-emoji=":melon:"]::before,
em[data-emoji="melon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f348.svg");
}
em[data-emoji=":cherries:"]::before,
em[data-emoji="cherries"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f352.svg");
}
em[data-emoji=":peach:"]::before,
em[data-emoji="peach"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f351.svg");
}
em[data-emoji=":mango:"]::before,
em[data-emoji="mango"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96d.svg");
}
em[data-emoji=":pineapple:"]::before,
em[data-emoji="pineapple"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f34d.svg");
}
em[data-emoji=":coconut:"]::before,
em[data-emoji="coconut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f965.svg");
}
em[data-emoji=":kiwi:"]::before,
em[data-emoji="kiwi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95d.svg");
}
em[data-emoji=":tomato:"]::before,
em[data-emoji="tomato"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f345.svg");
}
em[data-emoji=":eggplant:"]::before,
em[data-emoji="eggplant"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f346.svg");
}
em[data-emoji=":avocado:"]::before,
em[data-emoji="avocado"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f951.svg");
}
em[data-emoji=":pea_pod:"]::before,
em[data-emoji="pea_pod"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fadb.svg");
}
em[data-emoji=":broccoli:"]::before,
em[data-emoji="broccoli"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f966.svg");
}
em[data-emoji=":leafy_green:"]::before,
em[data-emoji="leafy_green"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96c.svg");
}
em[data-emoji=":cucumber:"]::before,
em[data-emoji="cucumber"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f952.svg");
}
em[data-emoji=":hot_pepper:"]::before,
em[data-emoji="hot_pepper"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f336.svg");
}
em[data-emoji=":bell_pepper:"]::before,
em[data-emoji="bell_pepper"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad1.svg");
}
em[data-emoji=":corn:"]::before,
em[data-emoji="corn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f33d.svg");
}
em[data-emoji=":carrot:"]::before,
em[data-emoji="carrot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f955.svg");
}
em[data-emoji=":olive:"]::before,
em[data-emoji="olive"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad2.svg");
}
em[data-emoji=":garlic:"]::before,
em[data-emoji="garlic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c4.svg");
}
em[data-emoji=":onion:"]::before,
em[data-emoji="onion"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c5.svg");
}
em[data-emoji=":potato:"]::before,
em[data-emoji="potato"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f954.svg");
}
em[data-emoji=":sweet_potato:"]::before,
em[data-emoji="sweet_potato"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f360.svg");
}
em[data-emoji=":ginger_root:"]::before,
em[data-emoji="ginger_root"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fada.svg");
}
em[data-emoji=":croissant:"]::before,
em[data-emoji="croissant"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f950.svg");
}
em[data-emoji=":bagel:"]::before,
em[data-emoji="bagel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96f.svg");
}
em[data-emoji=":bread:"]::before,
em[data-emoji="bread"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35e.svg");
}
em[data-emoji=":french_bread:"]::before,
em[data-emoji="french_bread"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f956.svg");
}
em[data-emoji=":pretzel:"]::before,
em[data-emoji="pretzel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f968.svg");
}
em[data-emoji=":cheese:"]::before,
em[data-emoji="cheese"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c0.svg");
}
em[data-emoji=":egg:"]::before,
em[data-emoji="egg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95a.svg");
}
em[data-emoji=":cooking:"]::before,
em[data-emoji="cooking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f373.svg");
}
em[data-emoji=":butter:"]::before,
em[data-emoji="butter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c8.svg");
}
em[data-emoji=":pancakes:"]::before,
em[data-emoji="pancakes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95e.svg");
}
em[data-emoji=":waffle:"]::before,
em[data-emoji="waffle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c7.svg");
}
em[data-emoji=":bacon:"]::before,
em[data-emoji="bacon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f953.svg");
}
em[data-emoji=":cut_of_meat:"]::before,
em[data-emoji="cut_of_meat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f969.svg");
}
em[data-emoji=":poultry_leg:"]::before,
em[data-emoji="poultry_leg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f357.svg");
}
em[data-emoji=":meat_on_bone:"]::before,
em[data-emoji="meat_on_bone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f356.svg");
}
em[data-emoji=":bone:"]::before,
em[data-emoji="bone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9b4.svg");
}
em[data-emoji=":hotdog:"]::before,
em[data-emoji="hotdog"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32d.svg");
}
em[data-emoji=":hamburger:"]::before,
em[data-emoji="hamburger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f354.svg");
}
em[data-emoji=":fries:"]::before,
em[data-emoji="fries"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35f.svg");
}
em[data-emoji=":pizza:"]::before,
em[data-emoji="pizza"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f355.svg");
}
em[data-emoji=":flatbread:"]::before,
em[data-emoji="flatbread"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad3.svg");
}
em[data-emoji=":sandwich:"]::before,
em[data-emoji="sandwich"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96a.svg");
}
em[data-emoji=":stuffed_flatbread:"]::before,
em[data-emoji="stuffed_flatbread"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f959.svg");
}
em[data-emoji=":falafel:"]::before,
em[data-emoji="falafel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c6.svg");
}
em[data-emoji=":taco:"]::before,
em[data-emoji="taco"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32e.svg");
}
em[data-emoji=":burrito:"]::before,
em[data-emoji="burrito"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f32f.svg");
}
em[data-emoji=":tamale:"]::before,
em[data-emoji="tamale"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad4.svg");
}
em[data-emoji=":salad:"]::before,
em[data-emoji="salad"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f957.svg");
}
em[data-emoji=":shallow_pan_of_food:"]::before,
em[data-emoji="shallow_pan_of_food"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f958.svg");
}
em[data-emoji=":fondue:"]::before,
em[data-emoji="fondue"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad5.svg");
}
em[data-emoji=":canned_food:"]::before,
em[data-emoji="canned_food"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96b.svg");
}
em[data-emoji=":jar:"]::before,
em[data-emoji="jar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad9.svg");
}
em[data-emoji=":spaghetti:"]::before,
em[data-emoji="spaghetti"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35d.svg");
}
em[data-emoji=":ramen:"]::before,
em[data-emoji="ramen"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35c.svg");
}
em[data-emoji=":stew:"]::before,
em[data-emoji="stew"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f372.svg");
}
em[data-emoji=":curry:"]::before,
em[data-emoji="curry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35b.svg");
}
em[data-emoji=":sushi:"]::before,
em[data-emoji="sushi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f363.svg");
}
em[data-emoji=":bento:"]::before,
em[data-emoji="bento"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f371.svg");
}
em[data-emoji=":dumpling:"]::before,
em[data-emoji="dumpling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95f.svg");
}
em[data-emoji=":oyster:"]::before,
em[data-emoji="oyster"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9aa.svg");
}
em[data-emoji=":fried_shrimp:"]::before,
em[data-emoji="fried_shrimp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f364.svg");
}
em[data-emoji=":rice_ball:"]::before,
em[data-emoji="rice_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f359.svg");
}
em[data-emoji=":rice:"]::before,
em[data-emoji="rice"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f35a.svg");
}
em[data-emoji=":rice_cracker:"]::before,
em[data-emoji="rice_cracker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f358.svg");
}
em[data-emoji=":fish_cake:"]::before,
em[data-emoji="fish_cake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f365.svg");
}
em[data-emoji=":fortune_cookie:"]::before,
em[data-emoji="fortune_cookie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f960.svg");
}
em[data-emoji=":moon_cake:"]::before,
em[data-emoji="moon_cake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f96e.svg");
}
em[data-emoji=":oden:"]::before,
em[data-emoji="oden"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f362.svg");
}
em[data-emoji=":dango:"]::before,
em[data-emoji="dango"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f361.svg");
}
em[data-emoji=":shaved_ice:"]::before,
em[data-emoji="shaved_ice"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f367.svg");
}
em[data-emoji=":ice_cream:"]::before,
em[data-emoji="ice_cream"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f368.svg");
}
em[data-emoji=":icecream:"]::before,
em[data-emoji="icecream"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f366.svg");
}
em[data-emoji=":pie:"]::before,
em[data-emoji="pie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f967.svg");
}
em[data-emoji=":cupcake:"]::before,
em[data-emoji="cupcake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c1.svg");
}
em[data-emoji=":cake:"]::before,
em[data-emoji="cake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f370.svg");
}
em[data-emoji=":birthday:"]::before,
em[data-emoji="birthday"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f382.svg");
}
em[data-emoji=":custard:"]::before,
em[data-emoji="custard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36e.svg");
}
em[data-emoji=":lollipop:"]::before,
em[data-emoji="lollipop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36d.svg");
}
em[data-emoji=":candy:"]::before,
em[data-emoji="candy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36c.svg");
}
em[data-emoji=":chocolate_bar:"]::before,
em[data-emoji="chocolate_bar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36b.svg");
}
em[data-emoji=":popcorn:"]::before,
em[data-emoji="popcorn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37f.svg");
}
em[data-emoji=":doughnut:"]::before,
em[data-emoji="doughnut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f369.svg");
}
em[data-emoji=":cookie:"]::before,
em[data-emoji="cookie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36a.svg");
}
em[data-emoji=":chestnut:"]::before,
em[data-emoji="chestnut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f330.svg");
}
em[data-emoji=":peanuts:"]::before,
em[data-emoji="peanuts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95c.svg");
}
em[data-emoji=":beans:"]::before,
em[data-emoji="beans"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad8.svg");
}
em[data-emoji=":honey_pot:"]::before,
em[data-emoji="honey_pot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f36f.svg");
}
em[data-emoji=":milk:"]::before,
em[data-emoji="milk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f95b.svg");
}
em[data-emoji=":pouring_liquid:"]::before,
em[data-emoji="pouring_liquid"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad7.svg");
}
em[data-emoji=":baby_bottle:"]::before,
em[data-emoji="baby_bottle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37c.svg");
}
em[data-emoji=":teapot:"]::before,
em[data-emoji="teapot"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fad6.svg");
}
em[data-emoji=":tea:"]::before,
em[data-emoji="tea"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f375.svg");
}
em[data-emoji=":mate:"]::before,
em[data-emoji="mate"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c9.svg");
}
em[data-emoji=":beverage_box:"]::before,
em[data-emoji="beverage_box"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c3.svg");
}
em[data-emoji=":cup_with_straw:"]::before,
em[data-emoji="cup_with_straw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f964.svg");
}
em[data-emoji=":bubble_tea:"]::before,
em[data-emoji="bubble_tea"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9cb.svg");
}
em[data-emoji=":sake:"]::before,
em[data-emoji="sake"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f376.svg");
}
em[data-emoji=":beer:"]::before,
em[data-emoji="beer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37a.svg");
}
em[data-emoji=":beers:"]::before,
em[data-emoji="beers"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37b.svg");
}
em[data-emoji=":champagne_glass:"]::before,
em[data-emoji="champagne_glass"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f942.svg");
}
em[data-emoji=":wine_glass:"]::before,
em[data-emoji="wine_glass"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f377.svg");
}
em[data-emoji=":tumbler_glass:"]::before,
em[data-emoji="tumbler_glass"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f943.svg");
}
em[data-emoji=":cocktail:"]::before,
em[data-emoji="cocktail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f378.svg");
}
em[data-emoji=":tropical_drink:"]::before,
em[data-emoji="tropical_drink"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f379.svg");
}
em[data-emoji=":champagne:"]::before,
em[data-emoji="champagne"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37e.svg");
}
em[data-emoji=":ice_cube:"]::before,
em[data-emoji="ice_cube"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ca.svg");
}
em[data-emoji=":spoon:"]::before,
em[data-emoji="spoon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f944.svg");
}
em[data-emoji=":fork_and_knife:"]::before,
em[data-emoji="fork_and_knife"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f374.svg");
}
em[data-emoji=":fork_knife_plate:"]::before,
em[data-emoji="fork_knife_plate"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f37d.svg");
}
em[data-emoji=":bowl_with_spoon:"]::before,
em[data-emoji="bowl_with_spoon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f963.svg");
}
em[data-emoji=":takeout_box:"]::before,
em[data-emoji="takeout_box"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f961.svg");
}
em[data-emoji=":chopsticks:"]::before,
em[data-emoji="chopsticks"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f962.svg");
}
em[data-emoji=":salt:"]::before,
em[data-emoji="salt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9c2.svg");
}
em[data-emoji=":soccer:"]::before,
em[data-emoji="soccer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26bd.svg");
}
em[data-emoji=":basketball:"]::before,
em[data-emoji="basketball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c0.svg");
}
em[data-emoji=":football:"]::before,
em[data-emoji="football"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c8.svg");
}
em[data-emoji=":baseball:"]::before,
em[data-emoji="baseball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26be.svg");
}
em[data-emoji=":softball:"]::before,
em[data-emoji="softball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94e.svg");
}
em[data-emoji=":tennis:"]::before,
em[data-emoji="tennis"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3be.svg");
}
em[data-emoji=":volleyball:"]::before,
em[data-emoji="volleyball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d0.svg");
}
em[data-emoji=":rugby_football:"]::before,
em[data-emoji="rugby_football"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c9.svg");
}
em[data-emoji=":flying_disc:"]::before,
em[data-emoji="flying_disc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94f.svg");
}
em[data-emoji=":8ball:"]::before,
em[data-emoji="8ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b1.svg");
}
em[data-emoji=":yo_yo:"]::before,
em[data-emoji="yo_yo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa80.svg");
}
em[data-emoji=":ping_pong:"]::before,
em[data-emoji="ping_pong"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d3.svg");
}
em[data-emoji=":badminton:"]::before,
em[data-emoji="badminton"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f8.svg");
}
em[data-emoji=":hockey:"]::before,
em[data-emoji="hockey"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d2.svg");
}
em[data-emoji=":field_hockey:"]::before,
em[data-emoji="field_hockey"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d1.svg");
}
em[data-emoji=":lacrosse:"]::before,
em[data-emoji="lacrosse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94d.svg");
}
em[data-emoji=":cricket_game:"]::before,
em[data-emoji="cricket_game"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cf.svg");
}
em[data-emoji=":boomerang:"]::before,
em[data-emoji="boomerang"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa83.svg");
}
em[data-emoji=":goal:"]::before,
em[data-emoji="goal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f945.svg");
}
em[data-emoji=":golf:"]::before,
em[data-emoji="golf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f3.svg");
}
em[data-emoji=":kite:"]::before,
em[data-emoji="kite"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa81.svg");
}
em[data-emoji=":playground_slide:"]::before,
em[data-emoji="playground_slide"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6dd.svg");
}
em[data-emoji=":bow_and_arrow:"]::before,
em[data-emoji="bow_and_arrow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f9.svg");
}
em[data-emoji=":fishing_pole_and_fish:"]::before,
em[data-emoji="fishing_pole_and_fish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a3.svg");
}
em[data-emoji=":diving_mask:"]::before,
em[data-emoji="diving_mask"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93f.svg");
}
em[data-emoji=":boxing_glove:"]::before,
em[data-emoji="boxing_glove"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94a.svg");
}
em[data-emoji=":martial_arts_uniform:"]::before,
em[data-emoji="martial_arts_uniform"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94b.svg");
}
em[data-emoji=":running_shirt_with_sash:"]::before,
em[data-emoji="running_shirt_with_sash"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3bd.svg");
}
em[data-emoji=":skateboard:"]::before,
em[data-emoji="skateboard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f9.svg");
}
em[data-emoji=":roller_skate:"]::before,
em[data-emoji="roller_skate"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6fc.svg");
}
em[data-emoji=":sled:"]::before,
em[data-emoji="sled"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f7.svg");
}
em[data-emoji=":ice_skate:"]::before,
em[data-emoji="ice_skate"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f8.svg");
}
em[data-emoji=":curling_stone:"]::before,
em[data-emoji="curling_stone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f94c.svg");
}
em[data-emoji=":ski:"]::before,
em[data-emoji="ski"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3bf.svg");
}
em[data-emoji=":skier:"]::before,
em[data-emoji="skier"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f7.svg");
}
em[data-emoji=":snowboarder:"]::before,
em[data-emoji="snowboarder"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2.svg");
}
em[data-emoji=":snowboarder_tone1:"]::before,
em[data-emoji="snowboarder_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2-1f3fb.svg");
}
em[data-emoji=":snowboarder_tone2:"]::before,
em[data-emoji="snowboarder_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2-1f3fc.svg");
}
em[data-emoji=":snowboarder_tone3:"]::before,
em[data-emoji="snowboarder_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2-1f3fd.svg");
}
em[data-emoji=":snowboarder_tone4:"]::before,
em[data-emoji="snowboarder_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2-1f3fe.svg");
}
em[data-emoji=":snowboarder_tone5:"]::before,
em[data-emoji="snowboarder_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c2-1f3ff.svg");
}
em[data-emoji=":parachute:"]::before,
em[data-emoji="parachute"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa82.svg");
}
em[data-emoji=":person_lifting_weights:"]::before,
em[data-emoji="person_lifting_weights"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb.svg");
}
em[data-emoji=":person_lifting_weights_tone1:"]::before,
em[data-emoji="person_lifting_weights_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fb.svg");
}
em[data-emoji=":person_lifting_weights_tone2:"]::before,
em[data-emoji="person_lifting_weights_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fc.svg");
}
em[data-emoji=":person_lifting_weights_tone3:"]::before,
em[data-emoji="person_lifting_weights_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fd.svg");
}
em[data-emoji=":person_lifting_weights_tone4:"]::before,
em[data-emoji="person_lifting_weights_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fe.svg");
}
em[data-emoji=":person_lifting_weights_tone5:"]::before,
em[data-emoji="person_lifting_weights_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3ff.svg");
}
em[data-emoji=":woman_lifting_weights:"]::before,
em[data-emoji="woman_lifting_weights"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-fe0f-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_lifting_weights_tone1:"]::before,
em[data-emoji="woman_lifting_weights_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_lifting_weights_tone2:"]::before,
em[data-emoji="woman_lifting_weights_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_lifting_weights_tone3:"]::before,
em[data-emoji="woman_lifting_weights_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_lifting_weights_tone4:"]::before,
em[data-emoji="woman_lifting_weights_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_lifting_weights_tone5:"]::before,
em[data-emoji="woman_lifting_weights_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_lifting_weights:"]::before,
em[data-emoji="man_lifting_weights"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-fe0f-200d-2642-fe0f.svg");
}
em[data-emoji=":man_lifting_weights_tone1:"]::before,
em[data-emoji="man_lifting_weights_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_lifting_weights_tone2:"]::before,
em[data-emoji="man_lifting_weights_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_lifting_weights_tone3:"]::before,
em[data-emoji="man_lifting_weights_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_lifting_weights_tone4:"]::before,
em[data-emoji="man_lifting_weights_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_lifting_weights_tone5:"]::before,
em[data-emoji="man_lifting_weights_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cb-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":people_wrestling:"]::before,
em[data-emoji="people_wrestling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93c.svg");
}
em[data-emoji=":women_wrestling:"]::before,
em[data-emoji="women_wrestling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93c-200d-2640-fe0f.svg");
}
em[data-emoji=":men_wrestling:"]::before,
em[data-emoji="men_wrestling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93c-200d-2642-fe0f.svg");
}
em[data-emoji=":person_doing_cartwheel:"]::before,
em[data-emoji="person_doing_cartwheel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938.svg");
}
em[data-emoji=":person_doing_cartwheel_tone1:"]::before,
em[data-emoji="person_doing_cartwheel_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fb.svg");
}
em[data-emoji=":person_doing_cartwheel_tone2:"]::before,
em[data-emoji="person_doing_cartwheel_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fc.svg");
}
em[data-emoji=":person_doing_cartwheel_tone3:"]::before,
em[data-emoji="person_doing_cartwheel_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fd.svg");
}
em[data-emoji=":person_doing_cartwheel_tone4:"]::before,
em[data-emoji="person_doing_cartwheel_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fe.svg");
}
em[data-emoji=":person_doing_cartwheel_tone5:"]::before,
em[data-emoji="person_doing_cartwheel_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3ff.svg");
}
em[data-emoji=":woman_cartwheeling:"]::before,
em[data-emoji="woman_cartwheeling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_cartwheeling_tone1:"]::before,
em[data-emoji="woman_cartwheeling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_cartwheeling_tone2:"]::before,
em[data-emoji="woman_cartwheeling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_cartwheeling_tone3:"]::before,
em[data-emoji="woman_cartwheeling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_cartwheeling_tone4:"]::before,
em[data-emoji="woman_cartwheeling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_cartwheeling_tone5:"]::before,
em[data-emoji="woman_cartwheeling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_cartwheeling:"]::before,
em[data-emoji="man_cartwheeling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-200d-2642-fe0f.svg");
}
em[data-emoji=":man_cartwheeling_tone1:"]::before,
em[data-emoji="man_cartwheeling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_cartwheeling_tone2:"]::before,
em[data-emoji="man_cartwheeling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_cartwheeling_tone3:"]::before,
em[data-emoji="man_cartwheeling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_cartwheeling_tone4:"]::before,
em[data-emoji="man_cartwheeling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_cartwheeling_tone5:"]::before,
em[data-emoji="man_cartwheeling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f938-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_bouncing_ball:"]::before,
em[data-emoji="person_bouncing_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9.svg");
}
em[data-emoji=":person_bouncing_ball_tone1:"]::before,
em[data-emoji="person_bouncing_ball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fb.svg");
}
em[data-emoji=":person_bouncing_ball_tone2:"]::before,
em[data-emoji="person_bouncing_ball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fc.svg");
}
em[data-emoji=":person_bouncing_ball_tone3:"]::before,
em[data-emoji="person_bouncing_ball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fd.svg");
}
em[data-emoji=":person_bouncing_ball_tone4:"]::before,
em[data-emoji="person_bouncing_ball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fe.svg");
}
em[data-emoji=":person_bouncing_ball_tone5:"]::before,
em[data-emoji="person_bouncing_ball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3ff.svg");
}
em[data-emoji=":woman_bouncing_ball:"]::before,
em[data-emoji="woman_bouncing_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-fe0f-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bouncing_ball_tone1:"]::before,
em[data-emoji="woman_bouncing_ball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bouncing_ball_tone2:"]::before,
em[data-emoji="woman_bouncing_ball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bouncing_ball_tone3:"]::before,
em[data-emoji="woman_bouncing_ball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bouncing_ball_tone4:"]::before,
em[data-emoji="woman_bouncing_ball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_bouncing_ball_tone5:"]::before,
em[data-emoji="woman_bouncing_ball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball:"]::before,
em[data-emoji="man_bouncing_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-fe0f-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball_tone1:"]::before,
em[data-emoji="man_bouncing_ball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball_tone2:"]::before,
em[data-emoji="man_bouncing_ball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball_tone3:"]::before,
em[data-emoji="man_bouncing_ball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball_tone4:"]::before,
em[data-emoji="man_bouncing_ball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_bouncing_ball_tone5:"]::before,
em[data-emoji="man_bouncing_ball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f9-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_fencing:"]::before,
em[data-emoji="person_fencing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93a.svg");
}
em[data-emoji=":person_playing_handball:"]::before,
em[data-emoji="person_playing_handball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e.svg");
}
em[data-emoji=":person_playing_handball_tone1:"]::before,
em[data-emoji="person_playing_handball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fb.svg");
}
em[data-emoji=":person_playing_handball_tone2:"]::before,
em[data-emoji="person_playing_handball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fc.svg");
}
em[data-emoji=":person_playing_handball_tone3:"]::before,
em[data-emoji="person_playing_handball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fd.svg");
}
em[data-emoji=":person_playing_handball_tone4:"]::before,
em[data-emoji="person_playing_handball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fe.svg");
}
em[data-emoji=":person_playing_handball_tone5:"]::before,
em[data-emoji="person_playing_handball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3ff.svg");
}
em[data-emoji=":woman_playing_handball:"]::before,
em[data-emoji="woman_playing_handball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_handball_tone1:"]::before,
em[data-emoji="woman_playing_handball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_handball_tone2:"]::before,
em[data-emoji="woman_playing_handball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_handball_tone3:"]::before,
em[data-emoji="woman_playing_handball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_handball_tone4:"]::before,
em[data-emoji="woman_playing_handball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_handball_tone5:"]::before,
em[data-emoji="woman_playing_handball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_playing_handball:"]::before,
em[data-emoji="man_playing_handball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_handball_tone1:"]::before,
em[data-emoji="man_playing_handball_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_handball_tone2:"]::before,
em[data-emoji="man_playing_handball_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_handball_tone3:"]::before,
em[data-emoji="man_playing_handball_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_handball_tone4:"]::before,
em[data-emoji="man_playing_handball_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_handball_tone5:"]::before,
em[data-emoji="man_playing_handball_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93e-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_golfing:"]::before,
em[data-emoji="person_golfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc.svg");
}
em[data-emoji=":person_golfing_tone1:"]::before,
em[data-emoji="person_golfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fb.svg");
}
em[data-emoji=":person_golfing_tone2:"]::before,
em[data-emoji="person_golfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fc.svg");
}
em[data-emoji=":person_golfing_tone3:"]::before,
em[data-emoji="person_golfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fd.svg");
}
em[data-emoji=":person_golfing_tone4:"]::before,
em[data-emoji="person_golfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fe.svg");
}
em[data-emoji=":person_golfing_tone5:"]::before,
em[data-emoji="person_golfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3ff.svg");
}
em[data-emoji=":woman_golfing:"]::before,
em[data-emoji="woman_golfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-fe0f-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_golfing_tone1:"]::before,
em[data-emoji="woman_golfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_golfing_tone2:"]::before,
em[data-emoji="woman_golfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_golfing_tone3:"]::before,
em[data-emoji="woman_golfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_golfing_tone4:"]::before,
em[data-emoji="woman_golfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_golfing_tone5:"]::before,
em[data-emoji="woman_golfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_golfing:"]::before,
em[data-emoji="man_golfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-fe0f-200d-2642-fe0f.svg");
}
em[data-emoji=":man_golfing_tone1:"]::before,
em[data-emoji="man_golfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_golfing_tone2:"]::before,
em[data-emoji="man_golfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_golfing_tone3:"]::before,
em[data-emoji="man_golfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_golfing_tone4:"]::before,
em[data-emoji="man_golfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_golfing_tone5:"]::before,
em[data-emoji="man_golfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cc-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":horse_racing:"]::before,
em[data-emoji="horse_racing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7.svg");
}
em[data-emoji=":horse_racing_tone1:"]::before,
em[data-emoji="horse_racing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7-1f3fb.svg");
}
em[data-emoji=":horse_racing_tone2:"]::before,
em[data-emoji="horse_racing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7-1f3fc.svg");
}
em[data-emoji=":horse_racing_tone3:"]::before,
em[data-emoji="horse_racing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7-1f3fd.svg");
}
em[data-emoji=":horse_racing_tone4:"]::before,
em[data-emoji="horse_racing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7-1f3fe.svg");
}
em[data-emoji=":horse_racing_tone5:"]::before,
em[data-emoji="horse_racing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c7-1f3ff.svg");
}
em[data-emoji=":person_in_lotus_position:"]::before,
em[data-emoji="person_in_lotus_position"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8.svg");
}
em[data-emoji=":person_in_lotus_position_tone1:"]::before,
em[data-emoji="person_in_lotus_position_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fb.svg");
}
em[data-emoji=":person_in_lotus_position_tone2:"]::before,
em[data-emoji="person_in_lotus_position_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fc.svg");
}
em[data-emoji=":person_in_lotus_position_tone3:"]::before,
em[data-emoji="person_in_lotus_position_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fd.svg");
}
em[data-emoji=":person_in_lotus_position_tone4:"]::before,
em[data-emoji="person_in_lotus_position_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fe.svg");
}
em[data-emoji=":person_in_lotus_position_tone5:"]::before,
em[data-emoji="person_in_lotus_position_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3ff.svg");
}
em[data-emoji=":woman_in_lotus_position:"]::before,
em[data-emoji="woman_in_lotus_position"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_lotus_position_tone1:"]::before,
em[data-emoji="woman_in_lotus_position_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_lotus_position_tone2:"]::before,
em[data-emoji="woman_in_lotus_position_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_lotus_position_tone3:"]::before,
em[data-emoji="woman_in_lotus_position_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_lotus_position_tone4:"]::before,
em[data-emoji="woman_in_lotus_position_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_in_lotus_position_tone5:"]::before,
em[data-emoji="woman_in_lotus_position_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position:"]::before,
em[data-emoji="man_in_lotus_position"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position_tone1:"]::before,
em[data-emoji="man_in_lotus_position_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position_tone2:"]::before,
em[data-emoji="man_in_lotus_position_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position_tone3:"]::before,
em[data-emoji="man_in_lotus_position_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position_tone4:"]::before,
em[data-emoji="man_in_lotus_position_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_in_lotus_position_tone5:"]::before,
em[data-emoji="man_in_lotus_position_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d8-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_surfing:"]::before,
em[data-emoji="person_surfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4.svg");
}
em[data-emoji=":person_surfing_tone1:"]::before,
em[data-emoji="person_surfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fb.svg");
}
em[data-emoji=":person_surfing_tone2:"]::before,
em[data-emoji="person_surfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fc.svg");
}
em[data-emoji=":person_surfing_tone3:"]::before,
em[data-emoji="person_surfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fd.svg");
}
em[data-emoji=":person_surfing_tone4:"]::before,
em[data-emoji="person_surfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fe.svg");
}
em[data-emoji=":person_surfing_tone5:"]::before,
em[data-emoji="person_surfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3ff.svg");
}
em[data-emoji=":woman_surfing:"]::before,
em[data-emoji="woman_surfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_surfing_tone1:"]::before,
em[data-emoji="woman_surfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_surfing_tone2:"]::before,
em[data-emoji="woman_surfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_surfing_tone3:"]::before,
em[data-emoji="woman_surfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_surfing_tone4:"]::before,
em[data-emoji="woman_surfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_surfing_tone5:"]::before,
em[data-emoji="woman_surfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_surfing:"]::before,
em[data-emoji="man_surfing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-200d-2642-fe0f.svg");
}
em[data-emoji=":man_surfing_tone1:"]::before,
em[data-emoji="man_surfing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_surfing_tone2:"]::before,
em[data-emoji="man_surfing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_surfing_tone3:"]::before,
em[data-emoji="man_surfing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_surfing_tone4:"]::before,
em[data-emoji="man_surfing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_surfing_tone5:"]::before,
em[data-emoji="man_surfing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c4-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_swimming:"]::before,
em[data-emoji="person_swimming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca.svg");
}
em[data-emoji=":person_swimming_tone1:"]::before,
em[data-emoji="person_swimming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fb.svg");
}
em[data-emoji=":person_swimming_tone2:"]::before,
em[data-emoji="person_swimming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fc.svg");
}
em[data-emoji=":person_swimming_tone3:"]::before,
em[data-emoji="person_swimming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fd.svg");
}
em[data-emoji=":person_swimming_tone4:"]::before,
em[data-emoji="person_swimming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fe.svg");
}
em[data-emoji=":person_swimming_tone5:"]::before,
em[data-emoji="person_swimming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3ff.svg");
}
em[data-emoji=":woman_swimming:"]::before,
em[data-emoji="woman_swimming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_swimming_tone1:"]::before,
em[data-emoji="woman_swimming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_swimming_tone2:"]::before,
em[data-emoji="woman_swimming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_swimming_tone3:"]::before,
em[data-emoji="woman_swimming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_swimming_tone4:"]::before,
em[data-emoji="woman_swimming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_swimming_tone5:"]::before,
em[data-emoji="woman_swimming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_swimming:"]::before,
em[data-emoji="man_swimming"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-200d-2642-fe0f.svg");
}
em[data-emoji=":man_swimming_tone1:"]::before,
em[data-emoji="man_swimming_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_swimming_tone2:"]::before,
em[data-emoji="man_swimming_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_swimming_tone3:"]::before,
em[data-emoji="man_swimming_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_swimming_tone4:"]::before,
em[data-emoji="man_swimming_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_swimming_tone5:"]::before,
em[data-emoji="man_swimming_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ca-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_playing_water_polo:"]::before,
em[data-emoji="person_playing_water_polo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d.svg");
}
em[data-emoji=":person_playing_water_polo_tone1:"]::before,
em[data-emoji="person_playing_water_polo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fb.svg");
}
em[data-emoji=":person_playing_water_polo_tone2:"]::before,
em[data-emoji="person_playing_water_polo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fc.svg");
}
em[data-emoji=":person_playing_water_polo_tone3:"]::before,
em[data-emoji="person_playing_water_polo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fd.svg");
}
em[data-emoji=":person_playing_water_polo_tone4:"]::before,
em[data-emoji="person_playing_water_polo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fe.svg");
}
em[data-emoji=":person_playing_water_polo_tone5:"]::before,
em[data-emoji="person_playing_water_polo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3ff.svg");
}
em[data-emoji=":woman_playing_water_polo:"]::before,
em[data-emoji="woman_playing_water_polo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_water_polo_tone1:"]::before,
em[data-emoji="woman_playing_water_polo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_water_polo_tone2:"]::before,
em[data-emoji="woman_playing_water_polo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_water_polo_tone3:"]::before,
em[data-emoji="woman_playing_water_polo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_water_polo_tone4:"]::before,
em[data-emoji="woman_playing_water_polo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_playing_water_polo_tone5:"]::before,
em[data-emoji="woman_playing_water_polo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo:"]::before,
em[data-emoji="man_playing_water_polo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo_tone1:"]::before,
em[data-emoji="man_playing_water_polo_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo_tone2:"]::before,
em[data-emoji="man_playing_water_polo_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo_tone3:"]::before,
em[data-emoji="man_playing_water_polo_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo_tone4:"]::before,
em[data-emoji="man_playing_water_polo_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_playing_water_polo_tone5:"]::before,
em[data-emoji="man_playing_water_polo_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f93d-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_rowing_boat:"]::before,
em[data-emoji="person_rowing_boat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3.svg");
}
em[data-emoji=":person_rowing_boat_tone1:"]::before,
em[data-emoji="person_rowing_boat_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fb.svg");
}
em[data-emoji=":person_rowing_boat_tone2:"]::before,
em[data-emoji="person_rowing_boat_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fc.svg");
}
em[data-emoji=":person_rowing_boat_tone3:"]::before,
em[data-emoji="person_rowing_boat_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fd.svg");
}
em[data-emoji=":person_rowing_boat_tone4:"]::before,
em[data-emoji="person_rowing_boat_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fe.svg");
}
em[data-emoji=":person_rowing_boat_tone5:"]::before,
em[data-emoji="person_rowing_boat_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3ff.svg");
}
em[data-emoji=":woman_rowing_boat:"]::before,
em[data-emoji="woman_rowing_boat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_rowing_boat_tone1:"]::before,
em[data-emoji="woman_rowing_boat_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_rowing_boat_tone2:"]::before,
em[data-emoji="woman_rowing_boat_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_rowing_boat_tone3:"]::before,
em[data-emoji="woman_rowing_boat_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_rowing_boat_tone4:"]::before,
em[data-emoji="woman_rowing_boat_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_rowing_boat_tone5:"]::before,
em[data-emoji="woman_rowing_boat_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_rowing_boat:"]::before,
em[data-emoji="man_rowing_boat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-200d-2642-fe0f.svg");
}
em[data-emoji=":man_rowing_boat_tone1:"]::before,
em[data-emoji="man_rowing_boat_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_rowing_boat_tone2:"]::before,
em[data-emoji="man_rowing_boat_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_rowing_boat_tone3:"]::before,
em[data-emoji="man_rowing_boat_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_rowing_boat_tone4:"]::before,
em[data-emoji="man_rowing_boat_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_rowing_boat_tone5:"]::before,
em[data-emoji="man_rowing_boat_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a3-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_climbing:"]::before,
em[data-emoji="person_climbing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7.svg");
}
em[data-emoji=":person_climbing_tone1:"]::before,
em[data-emoji="person_climbing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fb.svg");
}
em[data-emoji=":person_climbing_tone2:"]::before,
em[data-emoji="person_climbing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fc.svg");
}
em[data-emoji=":person_climbing_tone3:"]::before,
em[data-emoji="person_climbing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fd.svg");
}
em[data-emoji=":person_climbing_tone4:"]::before,
em[data-emoji="person_climbing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fe.svg");
}
em[data-emoji=":person_climbing_tone5:"]::before,
em[data-emoji="person_climbing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3ff.svg");
}
em[data-emoji=":woman_climbing:"]::before,
em[data-emoji="woman_climbing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_climbing_tone1:"]::before,
em[data-emoji="woman_climbing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_climbing_tone2:"]::before,
em[data-emoji="woman_climbing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_climbing_tone3:"]::before,
em[data-emoji="woman_climbing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_climbing_tone4:"]::before,
em[data-emoji="woman_climbing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_climbing_tone5:"]::before,
em[data-emoji="woman_climbing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_climbing:"]::before,
em[data-emoji="man_climbing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-200d-2642-fe0f.svg");
}
em[data-emoji=":man_climbing_tone1:"]::before,
em[data-emoji="man_climbing_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_climbing_tone2:"]::before,
em[data-emoji="man_climbing_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_climbing_tone3:"]::before,
em[data-emoji="man_climbing_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_climbing_tone4:"]::before,
em[data-emoji="man_climbing_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_climbing_tone5:"]::before,
em[data-emoji="man_climbing_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9d7-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_mountain_biking:"]::before,
em[data-emoji="person_mountain_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5.svg");
}
em[data-emoji=":person_mountain_biking_tone1:"]::before,
em[data-emoji="person_mountain_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fb.svg");
}
em[data-emoji=":person_mountain_biking_tone2:"]::before,
em[data-emoji="person_mountain_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fc.svg");
}
em[data-emoji=":person_mountain_biking_tone3:"]::before,
em[data-emoji="person_mountain_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fd.svg");
}
em[data-emoji=":person_mountain_biking_tone4:"]::before,
em[data-emoji="person_mountain_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fe.svg");
}
em[data-emoji=":person_mountain_biking_tone5:"]::before,
em[data-emoji="person_mountain_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3ff.svg");
}
em[data-emoji=":woman_mountain_biking:"]::before,
em[data-emoji="woman_mountain_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mountain_biking_tone1:"]::before,
em[data-emoji="woman_mountain_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mountain_biking_tone2:"]::before,
em[data-emoji="woman_mountain_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mountain_biking_tone3:"]::before,
em[data-emoji="woman_mountain_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mountain_biking_tone4:"]::before,
em[data-emoji="woman_mountain_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_mountain_biking_tone5:"]::before,
em[data-emoji="woman_mountain_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_mountain_biking:"]::before,
em[data-emoji="man_mountain_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mountain_biking_tone1:"]::before,
em[data-emoji="man_mountain_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mountain_biking_tone2:"]::before,
em[data-emoji="man_mountain_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mountain_biking_tone3:"]::before,
em[data-emoji="man_mountain_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mountain_biking_tone4:"]::before,
em[data-emoji="man_mountain_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_mountain_biking_tone5:"]::before,
em[data-emoji="man_mountain_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b5-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":person_biking:"]::before,
em[data-emoji="person_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4.svg");
}
em[data-emoji=":person_biking_tone1:"]::before,
em[data-emoji="person_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fb.svg");
}
em[data-emoji=":person_biking_tone2:"]::before,
em[data-emoji="person_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fc.svg");
}
em[data-emoji=":person_biking_tone3:"]::before,
em[data-emoji="person_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fd.svg");
}
em[data-emoji=":person_biking_tone4:"]::before,
em[data-emoji="person_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fe.svg");
}
em[data-emoji=":person_biking_tone5:"]::before,
em[data-emoji="person_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3ff.svg");
}
em[data-emoji=":woman_biking:"]::before,
em[data-emoji="woman_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_biking_tone1:"]::before,
em[data-emoji="woman_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_biking_tone2:"]::before,
em[data-emoji="woman_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_biking_tone3:"]::before,
em[data-emoji="woman_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_biking_tone4:"]::before,
em[data-emoji="woman_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_biking_tone5:"]::before,
em[data-emoji="woman_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_biking:"]::before,
em[data-emoji="man_biking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-200d-2642-fe0f.svg");
}
em[data-emoji=":man_biking_tone1:"]::before,
em[data-emoji="man_biking_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_biking_tone2:"]::before,
em[data-emoji="man_biking_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_biking_tone3:"]::before,
em[data-emoji="man_biking_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_biking_tone4:"]::before,
em[data-emoji="man_biking_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_biking_tone5:"]::before,
em[data-emoji="man_biking_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b4-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":trophy:"]::before,
em[data-emoji="trophy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c6.svg");
}
em[data-emoji=":first_place:"]::before,
em[data-emoji="first_place"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f947.svg");
}
em[data-emoji=":second_place:"]::before,
em[data-emoji="second_place"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f948.svg");
}
em[data-emoji=":third_place:"]::before,
em[data-emoji="third_place"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f949.svg");
}
em[data-emoji=":medal:"]::before,
em[data-emoji="medal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c5.svg");
}
em[data-emoji=":military_medal:"]::before,
em[data-emoji="military_medal"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f396.svg");
}
em[data-emoji=":rosette:"]::before,
em[data-emoji="rosette"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f5.svg");
}
em[data-emoji=":reminder_ribbon:"]::before,
em[data-emoji="reminder_ribbon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f397.svg");
}
em[data-emoji=":ticket:"]::before,
em[data-emoji="ticket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ab.svg");
}
em[data-emoji=":tickets:"]::before,
em[data-emoji="tickets"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f39f.svg");
}
em[data-emoji=":circus_tent:"]::before,
em[data-emoji="circus_tent"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3aa.svg");
}
em[data-emoji=":person_juggling:"]::before,
em[data-emoji="person_juggling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939.svg");
}
em[data-emoji=":person_juggling_tone1:"]::before,
em[data-emoji="person_juggling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fb.svg");
}
em[data-emoji=":person_juggling_tone2:"]::before,
em[data-emoji="person_juggling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fc.svg");
}
em[data-emoji=":person_juggling_tone3:"]::before,
em[data-emoji="person_juggling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fd.svg");
}
em[data-emoji=":person_juggling_tone4:"]::before,
em[data-emoji="person_juggling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fe.svg");
}
em[data-emoji=":person_juggling_tone5:"]::before,
em[data-emoji="person_juggling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3ff.svg");
}
em[data-emoji=":woman_juggling:"]::before,
em[data-emoji="woman_juggling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_juggling_tone1:"]::before,
em[data-emoji="woman_juggling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fb-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_juggling_tone2:"]::before,
em[data-emoji="woman_juggling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fc-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_juggling_tone3:"]::before,
em[data-emoji="woman_juggling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fd-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_juggling_tone4:"]::before,
em[data-emoji="woman_juggling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fe-200d-2640-fe0f.svg");
}
em[data-emoji=":woman_juggling_tone5:"]::before,
em[data-emoji="woman_juggling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3ff-200d-2640-fe0f.svg");
}
em[data-emoji=":man_juggling:"]::before,
em[data-emoji="man_juggling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-200d-2642-fe0f.svg");
}
em[data-emoji=":man_juggling_tone1:"]::before,
em[data-emoji="man_juggling_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fb-200d-2642-fe0f.svg");
}
em[data-emoji=":man_juggling_tone2:"]::before,
em[data-emoji="man_juggling_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fc-200d-2642-fe0f.svg");
}
em[data-emoji=":man_juggling_tone3:"]::before,
em[data-emoji="man_juggling_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fd-200d-2642-fe0f.svg");
}
em[data-emoji=":man_juggling_tone4:"]::before,
em[data-emoji="man_juggling_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3fe-200d-2642-fe0f.svg");
}
em[data-emoji=":man_juggling_tone5:"]::before,
em[data-emoji="man_juggling_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f939-1f3ff-200d-2642-fe0f.svg");
}
em[data-emoji=":performing_arts:"]::before,
em[data-emoji="performing_arts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ad.svg");
}
em[data-emoji=":ballet_shoes:"]::before,
em[data-emoji="ballet_shoes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa70.svg");
}
em[data-emoji=":art:"]::before,
em[data-emoji="art"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a8.svg");
}
em[data-emoji=":clapper:"]::before,
em[data-emoji="clapper"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ac.svg");
}
em[data-emoji=":microphone:"]::before,
em[data-emoji="microphone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a4.svg");
}
em[data-emoji=":headphones:"]::before,
em[data-emoji="headphones"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a7.svg");
}
em[data-emoji=":musical_score:"]::before,
em[data-emoji="musical_score"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3bc.svg");
}
em[data-emoji=":musical_keyboard:"]::before,
em[data-emoji="musical_keyboard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b9.svg");
}
em[data-emoji=":maracas:"]::before,
em[data-emoji="maracas"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa87.svg");
}
em[data-emoji=":drum:"]::before,
em[data-emoji="drum"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f941.svg");
}
em[data-emoji=":long_drum:"]::before,
em[data-emoji="long_drum"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa98.svg");
}
em[data-emoji=":saxophone:"]::before,
em[data-emoji="saxophone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b7.svg");
}
em[data-emoji=":trumpet:"]::before,
em[data-emoji="trumpet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ba.svg");
}
em[data-emoji=":accordion:"]::before,
em[data-emoji="accordion"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa97.svg");
}
em[data-emoji=":guitar:"]::before,
em[data-emoji="guitar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b8.svg");
}
em[data-emoji=":banjo:"]::before,
em[data-emoji="banjo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa95.svg");
}
em[data-emoji=":violin:"]::before,
em[data-emoji="violin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3bb.svg");
}
em[data-emoji=":flute:"]::before,
em[data-emoji="flute"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa88.svg");
}
em[data-emoji=":game_die:"]::before,
em[data-emoji="game_die"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b2.svg");
}
em[data-emoji=":chess_pawn:"]::before,
em[data-emoji="chess_pawn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/265f.svg");
}
em[data-emoji=":dart:"]::before,
em[data-emoji="dart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3af.svg");
}
em[data-emoji=":bowling:"]::before,
em[data-emoji="bowling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b3.svg");
}
em[data-emoji=":video_game:"]::before,
em[data-emoji="video_game"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ae.svg");
}
em[data-emoji=":slot_machine:"]::before,
em[data-emoji="slot_machine"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b0.svg");
}
em[data-emoji=":jigsaw:"]::before,
em[data-emoji="jigsaw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e9.svg");
}
em[data-emoji=":red_car:"]::before,
em[data-emoji="red_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f697.svg");
}
em[data-emoji=":taxi:"]::before,
em[data-emoji="taxi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f695.svg");
}
em[data-emoji=":blue_car:"]::before,
em[data-emoji="blue_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f699.svg");
}
em[data-emoji=":pickup_truck:"]::before,
em[data-emoji="pickup_truck"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6fb.svg");
}
em[data-emoji=":minibus:"]::before,
em[data-emoji="minibus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f690.svg");
}
em[data-emoji=":bus:"]::before,
em[data-emoji="bus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68c.svg");
}
em[data-emoji=":trolleybus:"]::before,
em[data-emoji="trolleybus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68e.svg");
}
em[data-emoji=":race_car:"]::before,
em[data-emoji="race_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ce.svg");
}
em[data-emoji=":police_car:"]::before,
em[data-emoji="police_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f693.svg");
}
em[data-emoji=":ambulance:"]::before,
em[data-emoji="ambulance"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f691.svg");
}
em[data-emoji=":fire_engine:"]::before,
em[data-emoji="fire_engine"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f692.svg");
}
em[data-emoji=":truck:"]::before,
em[data-emoji="truck"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69a.svg");
}
em[data-emoji=":articulated_lorry:"]::before,
em[data-emoji="articulated_lorry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69b.svg");
}
em[data-emoji=":tractor:"]::before,
em[data-emoji="tractor"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69c.svg");
}
em[data-emoji=":probing_cane:"]::before,
em[data-emoji="probing_cane"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9af.svg");
}
em[data-emoji=":manual_wheelchair:"]::before,
em[data-emoji="manual_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bd.svg");
}
em[data-emoji=":motorized_wheelchair:"]::before,
em[data-emoji="motorized_wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9bc.svg");
}
em[data-emoji=":crutch:"]::before,
em[data-emoji="crutch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa7c.svg");
}
em[data-emoji=":scooter:"]::before,
em[data-emoji="scooter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f4.svg");
}
em[data-emoji=":bike:"]::before,
em[data-emoji="bike"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b2.svg");
}
em[data-emoji=":motor_scooter:"]::before,
em[data-emoji="motor_scooter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f5.svg");
}
em[data-emoji=":motorcycle:"]::before,
em[data-emoji="motorcycle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3cd.svg");
}
em[data-emoji=":auto_rickshaw:"]::before,
em[data-emoji="auto_rickshaw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6fa.svg");
}
em[data-emoji=":wheel:"]::before,
em[data-emoji="wheel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6de.svg");
}
em[data-emoji=":rotating_light:"]::before,
em[data-emoji="rotating_light"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a8.svg");
}
em[data-emoji=":oncoming_police_car:"]::before,
em[data-emoji="oncoming_police_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f694.svg");
}
em[data-emoji=":oncoming_bus:"]::before,
em[data-emoji="oncoming_bus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68d.svg");
}
em[data-emoji=":oncoming_automobile:"]::before,
em[data-emoji="oncoming_automobile"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f698.svg");
}
em[data-emoji=":oncoming_taxi:"]::before,
em[data-emoji="oncoming_taxi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f696.svg");
}
em[data-emoji=":aerial_tramway:"]::before,
em[data-emoji="aerial_tramway"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a1.svg");
}
em[data-emoji=":mountain_cableway:"]::before,
em[data-emoji="mountain_cableway"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a0.svg");
}
em[data-emoji=":suspension_railway:"]::before,
em[data-emoji="suspension_railway"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69f.svg");
}
em[data-emoji=":railway_car:"]::before,
em[data-emoji="railway_car"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f683.svg");
}
em[data-emoji=":train:"]::before,
em[data-emoji="train"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68b.svg");
}
em[data-emoji=":mountain_railway:"]::before,
em[data-emoji="mountain_railway"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69e.svg");
}
em[data-emoji=":monorail:"]::before,
em[data-emoji="monorail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f69d.svg");
}
em[data-emoji=":bullettrain_side:"]::before,
em[data-emoji="bullettrain_side"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f684.svg");
}
em[data-emoji=":bullettrain_front:"]::before,
em[data-emoji="bullettrain_front"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f685.svg");
}
em[data-emoji=":light_rail:"]::before,
em[data-emoji="light_rail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f688.svg");
}
em[data-emoji=":steam_locomotive:"]::before,
em[data-emoji="steam_locomotive"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f682.svg");
}
em[data-emoji=":train2:"]::before,
em[data-emoji="train2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f686.svg");
}
em[data-emoji=":metro:"]::before,
em[data-emoji="metro"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f687.svg");
}
em[data-emoji=":tram:"]::before,
em[data-emoji="tram"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68a.svg");
}
em[data-emoji=":station:"]::before,
em[data-emoji="station"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f689.svg");
}
em[data-emoji=":airplane_departure:"]::before,
em[data-emoji="airplane_departure"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6eb.svg");
}
em[data-emoji=":airplane_arriving:"]::before,
em[data-emoji="airplane_arriving"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ec.svg");
}
em[data-emoji=":airplane_small:"]::before,
em[data-emoji="airplane_small"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e9.svg");
}
em[data-emoji=":seat:"]::before,
em[data-emoji="seat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ba.svg");
}
em[data-emoji=":satellite_orbital:"]::before,
em[data-emoji="satellite_orbital"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f0.svg");
}
em[data-emoji=":rocket:"]::before,
em[data-emoji="rocket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg");
}
em[data-emoji=":flying_saucer:"]::before,
em[data-emoji="flying_saucer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f8.svg");
}
em[data-emoji=":helicopter:"]::before,
em[data-emoji="helicopter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f681.svg");
}
em[data-emoji=":canoe:"]::before,
em[data-emoji="canoe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f6.svg");
}
em[data-emoji=":sailboat:"]::before,
em[data-emoji="sailboat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f5.svg");
}
em[data-emoji=":speedboat:"]::before,
em[data-emoji="speedboat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a4.svg");
}
em[data-emoji=":motorboat:"]::before,
em[data-emoji="motorboat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e5.svg");
}
em[data-emoji=":cruise_ship:"]::before,
em[data-emoji="cruise_ship"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6f3.svg");
}
em[data-emoji=":ferry:"]::before,
em[data-emoji="ferry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f4.svg");
}
em[data-emoji=":ship:"]::before,
em[data-emoji="ship"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a2.svg");
}
em[data-emoji=":ring_buoy:"]::before,
em[data-emoji="ring_buoy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6df.svg");
}
em[data-emoji=":hook:"]::before,
em[data-emoji="hook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9d.svg");
}
em[data-emoji=":fuelpump:"]::before,
em[data-emoji="fuelpump"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26fd.svg");
}
em[data-emoji=":construction:"]::before,
em[data-emoji="construction"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a7.svg");
}
em[data-emoji=":vertical_traffic_light:"]::before,
em[data-emoji="vertical_traffic_light"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a6.svg");
}
em[data-emoji=":traffic_light:"]::before,
em[data-emoji="traffic_light"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a5.svg");
}
em[data-emoji=":busstop:"]::before,
em[data-emoji="busstop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f68f.svg");
}
em[data-emoji=":map:"]::before,
em[data-emoji="map"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5fa.svg");
}
em[data-emoji=":moyai:"]::before,
em[data-emoji="moyai"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5ff.svg");
}
em[data-emoji=":statue_of_liberty:"]::before,
em[data-emoji="statue_of_liberty"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5fd.svg");
}
em[data-emoji=":tokyo_tower:"]::before,
em[data-emoji="tokyo_tower"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5fc.svg");
}
em[data-emoji=":european_castle:"]::before,
em[data-emoji="european_castle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f0.svg");
}
em[data-emoji=":japanese_castle:"]::before,
em[data-emoji="japanese_castle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ef.svg");
}
em[data-emoji=":stadium:"]::before,
em[data-emoji="stadium"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3df.svg");
}
em[data-emoji=":ferris_wheel:"]::before,
em[data-emoji="ferris_wheel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a1.svg");
}
em[data-emoji=":roller_coaster:"]::before,
em[data-emoji="roller_coaster"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a2.svg");
}
em[data-emoji=":carousel_horse:"]::before,
em[data-emoji="carousel_horse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a0.svg");
}
em[data-emoji=":fountain:"]::before,
em[data-emoji="fountain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f2.svg");
}
em[data-emoji=":beach_umbrella:"]::before,
em[data-emoji="beach_umbrella"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f1.svg");
}
em[data-emoji=":beach:"]::before,
em[data-emoji="beach"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d6.svg");
}
em[data-emoji=":island:"]::before,
em[data-emoji="island"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3dd.svg");
}
em[data-emoji=":desert:"]::before,
em[data-emoji="desert"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3dc.svg");
}
em[data-emoji=":volcano:"]::before,
em[data-emoji="volcano"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30b.svg");
}
em[data-emoji=":mountain:"]::before,
em[data-emoji="mountain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26f0.svg");
}
em[data-emoji=":mountain_snow:"]::before,
em[data-emoji="mountain_snow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d4.svg");
}
em[data-emoji=":mount_fuji:"]::before,
em[data-emoji="mount_fuji"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5fb.svg");
}
em[data-emoji=":camping:"]::before,
em[data-emoji="camping"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d5.svg");
}
em[data-emoji=":tent:"]::before,
em[data-emoji="tent"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26fa.svg");
}
em[data-emoji=":house:"]::before,
em[data-emoji="house"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e0.svg");
}
em[data-emoji=":house_with_garden:"]::before,
em[data-emoji="house_with_garden"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e1.svg");
}
em[data-emoji=":homes:"]::before,
em[data-emoji="homes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d8.svg");
}
em[data-emoji=":house_abandoned:"]::before,
em[data-emoji="house_abandoned"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3da.svg");
}
em[data-emoji=":hut:"]::before,
em[data-emoji="hut"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d6.svg");
}
em[data-emoji=":construction_site:"]::before,
em[data-emoji="construction_site"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d7.svg");
}
em[data-emoji=":factory:"]::before,
em[data-emoji="factory"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ed.svg");
}
em[data-emoji=":office:"]::before,
em[data-emoji="office"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e2.svg");
}
em[data-emoji=":department_store:"]::before,
em[data-emoji="department_store"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ec.svg");
}
em[data-emoji=":post_office:"]::before,
em[data-emoji="post_office"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e3.svg");
}
em[data-emoji=":european_post_office:"]::before,
em[data-emoji="european_post_office"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e4.svg");
}
em[data-emoji=":hospital:"]::before,
em[data-emoji="hospital"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e5.svg");
}
em[data-emoji=":bank:"]::before,
em[data-emoji="bank"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e6.svg");
}
em[data-emoji=":hotel:"]::before,
em[data-emoji="hotel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e8.svg");
}
em[data-emoji=":convenience_store:"]::before,
em[data-emoji="convenience_store"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ea.svg");
}
em[data-emoji=":school:"]::before,
em[data-emoji="school"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3eb.svg");
}
em[data-emoji=":love_hotel:"]::before,
em[data-emoji="love_hotel"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e9.svg");
}
em[data-emoji=":wedding:"]::before,
em[data-emoji="wedding"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f492.svg");
}
em[data-emoji=":classical_building:"]::before,
em[data-emoji="classical_building"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3db.svg");
}
em[data-emoji=":church:"]::before,
em[data-emoji="church"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26ea.svg");
}
em[data-emoji=":mosque:"]::before,
em[data-emoji="mosque"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f54c.svg");
}
em[data-emoji=":synagogue:"]::before,
em[data-emoji="synagogue"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f54d.svg");
}
em[data-emoji=":hindu_temple:"]::before,
em[data-emoji="hindu_temple"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d5.svg");
}
em[data-emoji=":kaaba:"]::before,
em[data-emoji="kaaba"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f54b.svg");
}
em[data-emoji=":shinto_shrine:"]::before,
em[data-emoji="shinto_shrine"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26e9.svg");
}
em[data-emoji=":railway_track:"]::before,
em[data-emoji="railway_track"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e4.svg");
}
em[data-emoji=":motorway:"]::before,
em[data-emoji="motorway"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e3.svg");
}
em[data-emoji=":japan:"]::before,
em[data-emoji="japan"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5fe.svg");
}
em[data-emoji=":rice_scene:"]::before,
em[data-emoji="rice_scene"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f391.svg");
}
em[data-emoji=":park:"]::before,
em[data-emoji="park"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3de.svg");
}
em[data-emoji=":sunrise:"]::before,
em[data-emoji="sunrise"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f305.svg");
}
em[data-emoji=":sunrise_over_mountains:"]::before,
em[data-emoji="sunrise_over_mountains"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f304.svg");
}
em[data-emoji=":stars:"]::before,
em[data-emoji="stars"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f320.svg");
}
em[data-emoji=":sparkler:"]::before,
em[data-emoji="sparkler"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f387.svg");
}
em[data-emoji=":fireworks:"]::before,
em[data-emoji="fireworks"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f386.svg");
}
em[data-emoji=":city_sunset:"]::before,
em[data-emoji="city_sunset"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f307.svg");
}
em[data-emoji=":city_dusk:"]::before,
em[data-emoji="city_dusk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f306.svg");
}
em[data-emoji=":cityscape:"]::before,
em[data-emoji="cityscape"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3d9.svg");
}
em[data-emoji=":night_with_stars:"]::before,
em[data-emoji="night_with_stars"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f303.svg");
}
em[data-emoji=":milky_way:"]::before,
em[data-emoji="milky_way"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f30c.svg");
}
em[data-emoji=":bridge_at_night:"]::before,
em[data-emoji="bridge_at_night"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f309.svg");
}
em[data-emoji=":foggy:"]::before,
em[data-emoji="foggy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f301.svg");
}
em[data-emoji=":watch:"]::before,
em[data-emoji="watch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/231a.svg");
}
em[data-emoji=":mobile_phone:"]::before,
em[data-emoji="mobile_phone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f1.svg");
}
em[data-emoji=":calling:"]::before,
em[data-emoji="calling"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f2.svg");
}
em[data-emoji=":computer:"]::before,
em[data-emoji="computer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4bb.svg");
}
em[data-emoji=":desktop:"]::before,
em[data-emoji="desktop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5a5.svg");
}
em[data-emoji=":printer:"]::before,
em[data-emoji="printer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5a8.svg");
}
em[data-emoji=":mouse_three_button:"]::before,
em[data-emoji="mouse_three_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5b1.svg");
}
em[data-emoji=":trackball:"]::before,
em[data-emoji="trackball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5b2.svg");
}
em[data-emoji=":joystick:"]::before,
em[data-emoji="joystick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f579.svg");
}
em[data-emoji=":compression:"]::before,
em[data-emoji="compression"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5dc.svg");
}
em[data-emoji=":minidisc:"]::before,
em[data-emoji="minidisc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4bd.svg");
}
em[data-emoji=":floppy_disk:"]::before,
em[data-emoji="floppy_disk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4be.svg");
}
em[data-emoji=":cd:"]::before,
em[data-emoji="cd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4bf.svg");
}
em[data-emoji=":dvd:"]::before,
em[data-emoji="dvd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c0.svg");
}
em[data-emoji=":vhs:"]::before,
em[data-emoji="vhs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4fc.svg");
}
em[data-emoji=":camera:"]::before,
em[data-emoji="camera"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f7.svg");
}
em[data-emoji=":camera_with_flash:"]::before,
em[data-emoji="camera_with_flash"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f8.svg");
}
em[data-emoji=":video_camera:"]::before,
em[data-emoji="video_camera"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f9.svg");
}
em[data-emoji=":movie_camera:"]::before,
em[data-emoji="movie_camera"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a5.svg");
}
em[data-emoji=":projector:"]::before,
em[data-emoji="projector"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4fd.svg");
}
em[data-emoji=":film_frames:"]::before,
em[data-emoji="film_frames"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f39e.svg");
}
em[data-emoji=":telephone_receiver:"]::before,
em[data-emoji="telephone_receiver"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4de.svg");
}
em[data-emoji=":telephone:"]::before,
em[data-emoji="telephone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/260e.svg");
}
em[data-emoji=":pager:"]::before,
em[data-emoji="pager"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4df.svg");
}
em[data-emoji=":fax:"]::before,
em[data-emoji="fax"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e0.svg");
}
em[data-emoji=":tv:"]::before,
em[data-emoji="tv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4fa.svg");
}
em[data-emoji=":radio:"]::before,
em[data-emoji="radio"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4fb.svg");
}
em[data-emoji=":microphone2:"]::before,
em[data-emoji="microphone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f399.svg");
}
em[data-emoji=":level_slider:"]::before,
em[data-emoji="level_slider"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f39a.svg");
}
em[data-emoji=":control_knobs:"]::before,
em[data-emoji="control_knobs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f39b.svg");
}
em[data-emoji=":compass:"]::before,
em[data-emoji="compass"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ed.svg");
}
em[data-emoji=":stopwatch:"]::before,
em[data-emoji="stopwatch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f1.svg");
}
em[data-emoji=":timer:"]::before,
em[data-emoji="timer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f2.svg");
}
em[data-emoji=":alarm_clock:"]::before,
em[data-emoji="alarm_clock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f0.svg");
}
em[data-emoji=":clock:"]::before,
em[data-emoji="clock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f570.svg");
}
em[data-emoji=":hourglass:"]::before,
em[data-emoji="hourglass"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/231b.svg");
}
em[data-emoji=":hourglass_flowing_sand:"]::before,
em[data-emoji="hourglass_flowing_sand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f3.svg");
}
em[data-emoji=":satellite:"]::before,
em[data-emoji="satellite"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e1.svg");
}
em[data-emoji=":battery:"]::before,
em[data-emoji="battery"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50b.svg");
}
em[data-emoji=":low_battery:"]::before,
em[data-emoji="low_battery"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faab.svg");
}
em[data-emoji=":electric_plug:"]::before,
em[data-emoji="electric_plug"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50c.svg");
}
em[data-emoji=":bulb:"]::before,
em[data-emoji="bulb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a1.svg");
}
em[data-emoji=":flashlight:"]::before,
em[data-emoji="flashlight"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f526.svg");
}
em[data-emoji=":candle:"]::before,
em[data-emoji="candle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f56f.svg");
}
em[data-emoji=":diya_lamp:"]::before,
em[data-emoji="diya_lamp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa94.svg");
}
em[data-emoji=":fire_extinguisher:"]::before,
em[data-emoji="fire_extinguisher"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ef.svg");
}
em[data-emoji=":oil:"]::before,
em[data-emoji="oil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e2.svg");
}
em[data-emoji=":money_with_wings:"]::before,
em[data-emoji="money_with_wings"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b8.svg");
}
em[data-emoji=":dollar:"]::before,
em[data-emoji="dollar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b5.svg");
}
em[data-emoji=":yen:"]::before,
em[data-emoji="yen"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b4.svg");
}
em[data-emoji=":euro:"]::before,
em[data-emoji="euro"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b6.svg");
}
em[data-emoji=":pound:"]::before,
em[data-emoji="pound"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b7.svg");
}
em[data-emoji=":coin:"]::before,
em[data-emoji="coin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa99.svg");
}
em[data-emoji=":moneybag:"]::before,
em[data-emoji="moneybag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b0.svg");
}
em[data-emoji=":credit_card:"]::before,
em[data-emoji="credit_card"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b3.svg");
}
em[data-emoji=":identification_card:"]::before,
em[data-emoji="identification_card"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faaa.svg");
}
em[data-emoji=":gem:"]::before,
em[data-emoji="gem"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48e.svg");
}
em[data-emoji=":ladder:"]::before,
em[data-emoji="ladder"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9c.svg");
}
em[data-emoji=":toolbox:"]::before,
em[data-emoji="toolbox"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f0.svg");
}
em[data-emoji=":screwdriver:"]::before,
em[data-emoji="screwdriver"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9b.svg");
}
em[data-emoji=":wrench:"]::before,
em[data-emoji="wrench"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f527.svg");
}
em[data-emoji=":hammer:"]::before,
em[data-emoji="hammer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f528.svg");
}
em[data-emoji=":tools:"]::before,
em[data-emoji="tools"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e0.svg");
}
em[data-emoji=":pick:"]::before,
em[data-emoji="pick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26cf.svg");
}
em[data-emoji=":carpentry_saw:"]::before,
em[data-emoji="carpentry_saw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9a.svg");
}
em[data-emoji=":nut_and_bolt:"]::before,
em[data-emoji="nut_and_bolt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f529.svg");
}
em[data-emoji=":mouse_trap:"]::before,
em[data-emoji="mouse_trap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa4.svg");
}
em[data-emoji=":bricks:"]::before,
em[data-emoji="bricks"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f1.svg");
}
em[data-emoji=":chains:"]::before,
em[data-emoji="chains"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26d3.svg");
}
em[data-emoji=":link:"]::before,
em[data-emoji="link"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f517.svg");
}
em[data-emoji=":broken_chain:"]::before,
em[data-emoji="broken_chain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26d3-fe0f-200d-1f4a5.svg");
}
em[data-emoji=":magnet:"]::before,
em[data-emoji="magnet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f2.svg");
}
em[data-emoji=":gun:"]::before,
em[data-emoji="gun"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52b.svg");
}
em[data-emoji=":bomb:"]::before,
em[data-emoji="bomb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a3.svg");
}
em[data-emoji=":firecracker:"]::before,
em[data-emoji="firecracker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e8.svg");
}
em[data-emoji=":axe:"]::before,
em[data-emoji="axe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa93.svg");
}
em[data-emoji=":knife:"]::before,
em[data-emoji="knife"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52a.svg");
}
em[data-emoji=":dagger:"]::before,
em[data-emoji="dagger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5e1.svg");
}
em[data-emoji=":shield:"]::before,
em[data-emoji="shield"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6e1.svg");
}
em[data-emoji=":smoking:"]::before,
em[data-emoji="smoking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ac.svg");
}
em[data-emoji=":coffin:"]::before,
em[data-emoji="coffin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26b0.svg");
}
em[data-emoji=":headstone:"]::before,
em[data-emoji="headstone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa6.svg");
}
em[data-emoji=":urn:"]::before,
em[data-emoji="urn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26b1.svg");
}
em[data-emoji=":amphora:"]::before,
em[data-emoji="amphora"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3fa.svg");
}
em[data-emoji=":crystal_ball:"]::before,
em[data-emoji="crystal_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52e.svg");
}
em[data-emoji=":prayer_beads:"]::before,
em[data-emoji="prayer_beads"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ff.svg");
}
em[data-emoji=":nazar_amulet:"]::before,
em[data-emoji="nazar_amulet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ff.svg");
}
em[data-emoji=":hamsa:"]::before,
em[data-emoji="hamsa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faac.svg");
}
em[data-emoji=":barber:"]::before,
em[data-emoji="barber"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f488.svg");
}
em[data-emoji=":telescope:"]::before,
em[data-emoji="telescope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52d.svg");
}
em[data-emoji=":microscope:"]::before,
em[data-emoji="microscope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52c.svg");
}
em[data-emoji=":hole:"]::before,
em[data-emoji="hole"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f573.svg");
}
em[data-emoji=":x_ray:"]::before,
em[data-emoji="x_ray"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa7b.svg");
}
em[data-emoji=":adhesive_bandage:"]::before,
em[data-emoji="adhesive_bandage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa79.svg");
}
em[data-emoji=":stethoscope:"]::before,
em[data-emoji="stethoscope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa7a.svg");
}
em[data-emoji=":pill:"]::before,
em[data-emoji="pill"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48a.svg");
}
em[data-emoji=":syringe:"]::before,
em[data-emoji="syringe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f489.svg");
}
em[data-emoji=":drop_of_blood:"]::before,
em[data-emoji="drop_of_blood"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa78.svg");
}
em[data-emoji=":dna:"]::before,
em[data-emoji="dna"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ec.svg");
}
em[data-emoji=":microbe:"]::before,
em[data-emoji="microbe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9a0.svg");
}
em[data-emoji=":petri_dish:"]::before,
em[data-emoji="petri_dish"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9eb.svg");
}
em[data-emoji=":test_tube:"]::before,
em[data-emoji="test_tube"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ea.svg");
}
em[data-emoji=":thermometer:"]::before,
em[data-emoji="thermometer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f321.svg");
}
em[data-emoji=":broom:"]::before,
em[data-emoji="broom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f9.svg");
}
em[data-emoji=":plunger:"]::before,
em[data-emoji="plunger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa0.svg");
}
em[data-emoji=":basket:"]::before,
em[data-emoji="basket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9fa.svg");
}
em[data-emoji=":roll_of_paper:"]::before,
em[data-emoji="roll_of_paper"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9fb.svg");
}
em[data-emoji=":toilet:"]::before,
em[data-emoji="toilet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6bd.svg");
}
em[data-emoji=":potable_water:"]::before,
em[data-emoji="potable_water"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b0.svg");
}
em[data-emoji=":shower:"]::before,
em[data-emoji="shower"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6bf.svg");
}
em[data-emoji=":bathtub:"]::before,
em[data-emoji="bathtub"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c1.svg");
}
em[data-emoji=":bath:"]::before,
em[data-emoji="bath"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0.svg");
}
em[data-emoji=":bath_tone1:"]::before,
em[data-emoji="bath_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0-1f3fb.svg");
}
em[data-emoji=":bath_tone2:"]::before,
em[data-emoji="bath_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0-1f3fc.svg");
}
em[data-emoji=":bath_tone3:"]::before,
em[data-emoji="bath_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0-1f3fd.svg");
}
em[data-emoji=":bath_tone4:"]::before,
em[data-emoji="bath_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0-1f3fe.svg");
}
em[data-emoji=":bath_tone5:"]::before,
em[data-emoji="bath_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c0-1f3ff.svg");
}
em[data-emoji=":soap:"]::before,
em[data-emoji="soap"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9fc.svg");
}
em[data-emoji=":toothbrush:"]::before,
em[data-emoji="toothbrush"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa5.svg");
}
em[data-emoji=":razor:"]::before,
em[data-emoji="razor"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa92.svg");
}
em[data-emoji=":hair_pick:"]::before,
em[data-emoji="hair_pick"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faae.svg");
}
em[data-emoji=":sponge:"]::before,
em[data-emoji="sponge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9fd.svg");
}
em[data-emoji=":bucket:"]::before,
em[data-emoji="bucket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa3.svg");
}
em[data-emoji=":squeeze_bottle:"]::before,
em[data-emoji="squeeze_bottle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f4.svg");
}
em[data-emoji=":bellhop:"]::before,
em[data-emoji="bellhop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ce.svg");
}
em[data-emoji=":key:"]::before,
em[data-emoji="key"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f511.svg");
}
em[data-emoji=":key2:"]::before,
em[data-emoji="key2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5dd.svg");
}
em[data-emoji=":door:"]::before,
em[data-emoji="door"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6aa.svg");
}
em[data-emoji=":chair:"]::before,
em[data-emoji="chair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa91.svg");
}
em[data-emoji=":couch:"]::before,
em[data-emoji="couch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cb.svg");
}
em[data-emoji=":bed:"]::before,
em[data-emoji="bed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cf.svg");
}
em[data-emoji=":sleeping_accommodation:"]::before,
em[data-emoji="sleeping_accommodation"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc.svg");
}
em[data-emoji=":person_in_bed_tone1:"]::before,
em[data-emoji="person_in_bed_tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc-1f3fb.svg");
}
em[data-emoji=":person_in_bed_tone2:"]::before,
em[data-emoji="person_in_bed_tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc-1f3fc.svg");
}
em[data-emoji=":person_in_bed_tone3:"]::before,
em[data-emoji="person_in_bed_tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc-1f3fd.svg");
}
em[data-emoji=":person_in_bed_tone4:"]::before,
em[data-emoji="person_in_bed_tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc-1f3fe.svg");
}
em[data-emoji=":person_in_bed_tone5:"]::before,
em[data-emoji="person_in_bed_tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cc-1f3ff.svg");
}
em[data-emoji=":teddy_bear:"]::before,
em[data-emoji="teddy_bear"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f8.svg");
}
em[data-emoji=":nesting_dolls:"]::before,
em[data-emoji="nesting_dolls"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa86.svg");
}
em[data-emoji=":frame_photo:"]::before,
em[data-emoji="frame_photo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5bc.svg");
}
em[data-emoji=":mirror:"]::before,
em[data-emoji="mirror"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9e.svg");
}
em[data-emoji=":window:"]::before,
em[data-emoji="window"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa9f.svg");
}
em[data-emoji=":shopping_bags:"]::before,
em[data-emoji="shopping_bags"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6cd.svg");
}
em[data-emoji=":shopping_cart:"]::before,
em[data-emoji="shopping_cart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d2.svg");
}
em[data-emoji=":gift:"]::before,
em[data-emoji="gift"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f381.svg");
}
em[data-emoji=":balloon:"]::before,
em[data-emoji="balloon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f388.svg");
}
em[data-emoji=":flags:"]::before,
em[data-emoji="flags"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38f.svg");
}
em[data-emoji=":ribbon:"]::before,
em[data-emoji="ribbon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f380.svg");
}
em[data-emoji=":magic_wand:"]::before,
em[data-emoji="magic_wand"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa84.svg");
}
em[data-emoji=":pinata:"]::before,
em[data-emoji="pinata"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa85.svg");
}
em[data-emoji=":confetti_ball:"]::before,
em[data-emoji="confetti_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38a.svg");
}
em[data-emoji=":tada:"]::before,
em[data-emoji="tada"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f389.svg");
}
em[data-emoji=":dolls:"]::before,
em[data-emoji="dolls"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38e.svg");
}
em[data-emoji=":folding_hand_fan:"]::before,
em[data-emoji="folding_hand_fan"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faad.svg");
}
em[data-emoji=":izakaya_lantern:"]::before,
em[data-emoji="izakaya_lantern"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ee.svg");
}
em[data-emoji=":wind_chime:"]::before,
em[data-emoji="wind_chime"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f390.svg");
}
em[data-emoji=":mirror_ball:"]::before,
em[data-emoji="mirror_ball"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa9.svg");
}
em[data-emoji=":red_envelope:"]::before,
em[data-emoji="red_envelope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e7.svg");
}
em[data-emoji=":envelope_with_arrow:"]::before,
em[data-emoji="envelope_with_arrow"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e9.svg");
}
em[data-emoji=":incoming_envelope:"]::before,
em[data-emoji="incoming_envelope"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e8.svg");
}
em[data-emoji=":e-mail:"]::before,
em[data-emoji="e-mail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e7.svg");
}
em[data-emoji=":love_letter:"]::before,
em[data-emoji="love_letter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f48c.svg");
}
em[data-emoji=":inbox_tray:"]::before,
em[data-emoji="inbox_tray"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e5.svg");
}
em[data-emoji=":outbox_tray:"]::before,
em[data-emoji="outbox_tray"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e4.svg");
}
em[data-emoji=":package:"]::before,
em[data-emoji="package"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e6.svg");
}
em[data-emoji=":label:"]::before,
em[data-emoji="label"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f7.svg");
}
em[data-emoji=":placard:"]::before,
em[data-emoji="placard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faa7.svg");
}
em[data-emoji=":mailbox_closed:"]::before,
em[data-emoji="mailbox_closed"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ea.svg");
}
em[data-emoji=":mailbox:"]::before,
em[data-emoji="mailbox"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4eb.svg");
}
em[data-emoji=":mailbox_with_mail:"]::before,
em[data-emoji="mailbox_with_mail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ec.svg");
}
em[data-emoji=":mailbox_with_no_mail:"]::before,
em[data-emoji="mailbox_with_no_mail"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ed.svg");
}
em[data-emoji=":postbox:"]::before,
em[data-emoji="postbox"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ee.svg");
}
em[data-emoji=":postal_horn:"]::before,
em[data-emoji="postal_horn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ef.svg");
}
em[data-emoji=":scroll:"]::before,
em[data-emoji="scroll"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4dc.svg");
}
em[data-emoji=":page_with_curl:"]::before,
em[data-emoji="page_with_curl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c3.svg");
}
em[data-emoji=":page_facing_up:"]::before,
em[data-emoji="page_facing_up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c4.svg");
}
em[data-emoji=":bookmark_tabs:"]::before,
em[data-emoji="bookmark_tabs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d1.svg");
}
em[data-emoji=":receipt:"]::before,
em[data-emoji="receipt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9fe.svg");
}
em[data-emoji=":bar_chart:"]::before,
em[data-emoji="bar_chart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ca.svg");
}
em[data-emoji=":chart_with_upwards_trend:"]::before,
em[data-emoji="chart_with_upwards_trend"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c8.svg");
}
em[data-emoji=":chart_with_downwards_trend:"]::before,
em[data-emoji="chart_with_downwards_trend"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c9.svg");
}
em[data-emoji=":notepad_spiral:"]::before,
em[data-emoji="notepad_spiral"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5d2.svg");
}
em[data-emoji=":calendar_spiral:"]::before,
em[data-emoji="calendar_spiral"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5d3.svg");
}
em[data-emoji=":calendar:"]::before,
em[data-emoji="calendar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c6.svg");
}
em[data-emoji=":date:"]::before,
em[data-emoji="date"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c5.svg");
}
em[data-emoji=":wastebasket:"]::before,
em[data-emoji="wastebasket"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5d1.svg");
}
em[data-emoji=":card_index:"]::before,
em[data-emoji="card_index"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c7.svg");
}
em[data-emoji=":card_box:"]::before,
em[data-emoji="card_box"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5c3.svg");
}
em[data-emoji=":ballot_box:"]::before,
em[data-emoji="ballot_box"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5f3.svg");
}
em[data-emoji=":file_cabinet:"]::before,
em[data-emoji="file_cabinet"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5c4.svg");
}
em[data-emoji=":clipboard:"]::before,
em[data-emoji="clipboard"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4cb.svg");
}
em[data-emoji=":file_folder:"]::before,
em[data-emoji="file_folder"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c1.svg");
}
em[data-emoji=":open_file_folder:"]::before,
em[data-emoji="open_file_folder"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4c2.svg");
}
em[data-emoji=":dividers:"]::before,
em[data-emoji="dividers"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5c2.svg");
}
em[data-emoji=":newspaper2:"]::before,
em[data-emoji="newspaper2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5de.svg");
}
em[data-emoji=":newspaper:"]::before,
em[data-emoji="newspaper"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f0.svg");
}
em[data-emoji=":notebook:"]::before,
em[data-emoji="notebook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d3.svg");
}
em[data-emoji=":notebook_with_decorative_cover:"]::before,
em[data-emoji="notebook_with_decorative_cover"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d4.svg");
}
em[data-emoji=":ledger:"]::before,
em[data-emoji="ledger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d2.svg");
}
em[data-emoji=":closed_book:"]::before,
em[data-emoji="closed_book"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d5.svg");
}
em[data-emoji=":green_book:"]::before,
em[data-emoji="green_book"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d7.svg");
}
em[data-emoji=":blue_book:"]::before,
em[data-emoji="blue_book"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d8.svg");
}
em[data-emoji=":orange_book:"]::before,
em[data-emoji="orange_book"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d9.svg");
}
em[data-emoji=":books:"]::before,
em[data-emoji="books"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4da.svg");
}
em[data-emoji=":book:"]::before,
em[data-emoji="book"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d6.svg");
}
em[data-emoji=":bookmark:"]::before,
em[data-emoji="bookmark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f516.svg");
}
em[data-emoji=":safety_pin:"]::before,
em[data-emoji="safety_pin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9f7.svg");
}
em[data-emoji=":paperclip:"]::before,
em[data-emoji="paperclip"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ce.svg");
}
em[data-emoji=":paperclips:"]::before,
em[data-emoji="paperclips"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f587.svg");
}
em[data-emoji=":triangular_ruler:"]::before,
em[data-emoji="triangular_ruler"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4d0.svg");
}
em[data-emoji=":straight_ruler:"]::before,
em[data-emoji="straight_ruler"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4cf.svg");
}
em[data-emoji=":abacus:"]::before,
em[data-emoji="abacus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9ee.svg");
}
em[data-emoji=":pushpin:"]::before,
em[data-emoji="pushpin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4cc.svg");
}
em[data-emoji=":round_pushpin:"]::before,
em[data-emoji="round_pushpin"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4cd.svg");
}
em[data-emoji=":pen_ballpoint:"]::before,
em[data-emoji="pen_ballpoint"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f58a.svg");
}
em[data-emoji=":pen_fountain:"]::before,
em[data-emoji="pen_fountain"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f58b.svg");
}
em[data-emoji=":paintbrush:"]::before,
em[data-emoji="paintbrush"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f58c.svg");
}
em[data-emoji=":crayon:"]::before,
em[data-emoji="crayon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f58d.svg");
}
em[data-emoji=":pencil:"]::before,
em[data-emoji="pencil"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4dd.svg");
}
em[data-emoji=":pencil2:"]::before,
em[data-emoji="pencil2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/270f.svg");
}
em[data-emoji=":mag:"]::before,
em[data-emoji="mag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50d.svg");
}
em[data-emoji=":mag_right:"]::before,
em[data-emoji="mag_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50e.svg");
}
em[data-emoji=":lock_with_ink_pen:"]::before,
em[data-emoji="lock_with_ink_pen"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50f.svg");
}
em[data-emoji=":closed_lock_with_key:"]::before,
em[data-emoji="closed_lock_with_key"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f510.svg");
}
em[data-emoji=":lock:"]::before,
em[data-emoji="lock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f512.svg");
}
em[data-emoji=":unlock:"]::before,
em[data-emoji="unlock"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f513.svg");
}
em[data-emoji=":pink_heart:"]::before,
em[data-emoji="pink_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa77.svg");
}
em[data-emoji=":orange_heart:"]::before,
em[data-emoji="orange_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e1.svg");
}
em[data-emoji=":yellow_heart:"]::before,
em[data-emoji="yellow_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49b.svg");
}
em[data-emoji=":green_heart:"]::before,
em[data-emoji="green_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49a.svg");
}
em[data-emoji=":light_blue_heart:"]::before,
em[data-emoji="light_blue_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa75.svg");
}
em[data-emoji=":blue_heart:"]::before,
em[data-emoji="blue_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f499.svg");
}
em[data-emoji=":purple_heart:"]::before,
em[data-emoji="purple_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49c.svg");
}
em[data-emoji=":black_heart:"]::before,
em[data-emoji="black_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5a4.svg");
}
em[data-emoji=":grey_heart:"]::before,
em[data-emoji="grey_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1fa76.svg");
}
em[data-emoji=":white_heart:"]::before,
em[data-emoji="white_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90d.svg");
}
em[data-emoji=":brown_heart:"]::before,
em[data-emoji="brown_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f90e.svg");
}
em[data-emoji=":broken_heart:"]::before,
em[data-emoji="broken_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f494.svg");
}
em[data-emoji=":two_hearts:"]::before,
em[data-emoji="two_hearts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f495.svg");
}
em[data-emoji=":revolving_hearts:"]::before,
em[data-emoji="revolving_hearts"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49e.svg");
}
em[data-emoji=":heartbeat:"]::before,
em[data-emoji="heartbeat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f493.svg");
}
em[data-emoji=":heartpulse:"]::before,
em[data-emoji="heartpulse"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f497.svg");
}
em[data-emoji=":sparkling_heart:"]::before,
em[data-emoji="sparkling_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f496.svg");
}
em[data-emoji=":cupid:"]::before,
em[data-emoji="cupid"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f498.svg");
}
em[data-emoji=":gift_heart:"]::before,
em[data-emoji="gift_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49d.svg");
}
em[data-emoji=":mending_heart:"]::before,
em[data-emoji="mending_heart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2764-fe0f-200d-1fa79.svg");
}
em[data-emoji=":heart_on_fire:"]::before,
em[data-emoji="heart_on_fire"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2764-fe0f-200d-1f525.svg");
}
em[data-emoji=":heart_decoration:"]::before,
em[data-emoji="heart_decoration"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f49f.svg");
}
em[data-emoji=":peace:"]::before,
em[data-emoji="peace"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/262e.svg");
}
em[data-emoji=":cross:"]::before,
em[data-emoji="cross"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/271d.svg");
}
em[data-emoji=":star_and_crescent:"]::before,
em[data-emoji="star_and_crescent"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/262a.svg");
}
em[data-emoji=":om_symbol:"]::before,
em[data-emoji="om_symbol"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f549.svg");
}
em[data-emoji=":khanda:"]::before,
em[data-emoji="khanda"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1faaf.svg");
}
em[data-emoji=":six_pointed_star:"]::before,
em[data-emoji="six_pointed_star"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f52f.svg");
}
em[data-emoji=":menorah:"]::before,
em[data-emoji="menorah"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f54e.svg");
}
em[data-emoji=":yin_yang:"]::before,
em[data-emoji="yin_yang"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/262f.svg");
}
em[data-emoji=":place_of_worship:"]::before,
em[data-emoji="place_of_worship"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d0.svg");
}
em[data-emoji=":ophiuchus:"]::before,
em[data-emoji="ophiuchus"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26ce.svg");
}
em[data-emoji=":gemini:"]::before,
em[data-emoji="gemini"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264a.svg");
}
em[data-emoji=":cancer:"]::before,
em[data-emoji="cancer"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264b.svg");
}
em[data-emoji=":leo:"]::before,
em[data-emoji="leo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264c.svg");
}
em[data-emoji=":virgo:"]::before,
em[data-emoji="virgo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264d.svg");
}
em[data-emoji=":libra:"]::before,
em[data-emoji="libra"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264e.svg");
}
em[data-emoji=":scorpius:"]::before,
em[data-emoji="scorpius"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/264f.svg");
}
em[data-emoji=":id:"]::before,
em[data-emoji="id"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f194.svg");
}
em[data-emoji=":atom:"]::before,
em[data-emoji="atom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/269b.svg");
}
em[data-emoji=":accept:"]::before,
em[data-emoji="accept"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f251.svg");
}
em[data-emoji=":mobile_phone_off:"]::before,
em[data-emoji="mobile_phone_off"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f4.svg");
}
em[data-emoji=":vibration_mode:"]::before,
em[data-emoji="vibration_mode"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f3.svg");
}
em[data-emoji=":u6709:"]::before,
em[data-emoji="u6709"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f236.svg");
}
em[data-emoji=":u7121:"]::before,
em[data-emoji="u7121"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f21a.svg");
}
em[data-emoji=":u7533:"]::before,
em[data-emoji="u7533"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f238.svg");
}
em[data-emoji=":u55b6:"]::before,
em[data-emoji="u55b6"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f23a.svg");
}
em[data-emoji=":u6708:"]::before,
em[data-emoji="u6708"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f237.svg");
}
em[data-emoji=":vs:"]::before,
em[data-emoji="vs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f19a.svg");
}
em[data-emoji=":white_flower:"]::before,
em[data-emoji="white_flower"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ae.svg");
}
em[data-emoji=":ideograph_advantage:"]::before,
em[data-emoji="ideograph_advantage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f250.svg");
}
em[data-emoji=":u5408:"]::before,
em[data-emoji="u5408"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f234.svg");
}
em[data-emoji=":u6e80:"]::before,
em[data-emoji="u6e80"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f235.svg");
}
em[data-emoji=":u5272:"]::before,
em[data-emoji="u5272"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f239.svg");
}
em[data-emoji=":u7981:"]::before,
em[data-emoji="u7981"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f232.svg");
}
em[data-emoji=":a:"]::before,
em[data-emoji="a"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f170.svg");
}
em[data-emoji=":b:"]::before,
em[data-emoji="b"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f171.svg");
}
em[data-emoji=":ab:"]::before,
em[data-emoji="ab"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f18e.svg");
}
em[data-emoji=":cl:"]::before,
em[data-emoji="cl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f191.svg");
}
em[data-emoji=":o2:"]::before,
em[data-emoji="o2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f17e.svg");
}
em[data-emoji=":sos:"]::before,
em[data-emoji="sos"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f198.svg");
}
em[data-emoji=":x:"]::before,
em[data-emoji="x"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/274c.svg");
}
em[data-emoji=":o:"]::before,
em[data-emoji="o"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b55.svg");
}
em[data-emoji=":octagonal_sign:"]::before,
em[data-emoji="octagonal_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d1.svg");
}
em[data-emoji=":no_entry:"]::before,
em[data-emoji="no_entry"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26d4.svg");
}
em[data-emoji=":name_badge:"]::before,
em[data-emoji="name_badge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4db.svg");
}
em[data-emoji=":no_entry_sign:"]::before,
em[data-emoji="no_entry_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ab.svg");
}
em[data-emoji=":100:"]::before,
em[data-emoji="100"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4af.svg");
}
em[data-emoji=":anger:"]::before,
em[data-emoji="anger"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a2.svg");
}
em[data-emoji=":no_pedestrians:"]::before,
em[data-emoji="no_pedestrians"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b7.svg");
}
em[data-emoji=":do_not_litter:"]::before,
em[data-emoji="do_not_litter"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6af.svg");
}
em[data-emoji=":no_bicycles:"]::before,
em[data-emoji="no_bicycles"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b3.svg");
}
em[data-emoji=":non-potable_water:"]::before,
em[data-emoji="non-potable_water"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b1.svg");
}
em[data-emoji=":underage:"]::before,
em[data-emoji="underage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51e.svg");
}
em[data-emoji=":no_mobile_phones:"]::before,
em[data-emoji="no_mobile_phones"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f5.svg");
}
em[data-emoji=":no_smoking:"]::before,
em[data-emoji="no_smoking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ad.svg");
}
em[data-emoji=":bangbang:"]::before,
em[data-emoji="bangbang"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/203c.svg");
}
em[data-emoji=":low_brightness:"]::before,
em[data-emoji="low_brightness"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f505.svg");
}
em[data-emoji=":high_brightness:"]::before,
em[data-emoji="high_brightness"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f506.svg");
}
em[data-emoji=":part_alternation_mark:"]::before,
em[data-emoji="part_alternation_mark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/303d.svg");
}
em[data-emoji=":warning:"]::before,
em[data-emoji="warning"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26a0.svg");
}
em[data-emoji=":children_crossing:"]::before,
em[data-emoji="children_crossing"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b8.svg");
}
em[data-emoji=":trident:"]::before,
em[data-emoji="trident"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f531.svg");
}
em[data-emoji=":fleur-de-lis:"]::before,
em[data-emoji="fleur-de-lis"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/269c.svg");
}
em[data-emoji=":beginner:"]::before,
em[data-emoji="beginner"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f530.svg");
}
em[data-emoji=":recycle:"]::before,
em[data-emoji="recycle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/267b.svg");
}
em[data-emoji=":u6307:"]::before,
em[data-emoji="u6307"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f22f.svg");
}
em[data-emoji=":chart:"]::before,
em[data-emoji="chart"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b9.svg");
}
em[data-emoji=":negative_squared_cross_mark:"]::before,
em[data-emoji="negative_squared_cross_mark"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/274e.svg");
}
em[data-emoji=":globe_with_meridians:"]::before,
em[data-emoji="globe_with_meridians"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f310.svg");
}
em[data-emoji=":diamond_shape_with_a_dot_inside:"]::before,
em[data-emoji="diamond_shape_with_a_dot_inside"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a0.svg");
}
em[data-emoji=":m:"]::before,
em[data-emoji="m"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/24c2.svg");
}
em[data-emoji=":cyclone:"]::before,
em[data-emoji="cyclone"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f300.svg");
}
em[data-emoji=":zzz:"]::before,
em[data-emoji="zzz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4a4.svg");
}
em[data-emoji=":atm:"]::before,
em[data-emoji="atm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3e7.svg");
}
em[data-emoji=":wc:"]::before,
em[data-emoji="wc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6be.svg");
}
em[data-emoji=":wheelchair:"]::before,
em[data-emoji="wheelchair"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/267f.svg");
}
em[data-emoji=":parking:"]::before,
em[data-emoji="parking"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f17f.svg");
}
em[data-emoji=":elevator:"]::before,
em[data-emoji="elevator"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6d7.svg");
}
em[data-emoji=":u7a7a:"]::before,
em[data-emoji="u7a7a"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f233.svg");
}
em[data-emoji=":sa:"]::before,
em[data-emoji="sa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f202.svg");
}
em[data-emoji=":passport_control:"]::before,
em[data-emoji="passport_control"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c2.svg");
}
em[data-emoji=":customs:"]::before,
em[data-emoji="customs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c3.svg");
}
em[data-emoji=":baggage_claim:"]::before,
em[data-emoji="baggage_claim"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c4.svg");
}
em[data-emoji=":left_luggage:"]::before,
em[data-emoji="left_luggage"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6c5.svg");
}
em[data-emoji=":wireless:"]::before,
em[data-emoji="wireless"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6dc.svg");
}
em[data-emoji=":mens:"]::before,
em[data-emoji="mens"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6b9.svg");
}
em[data-emoji=":womens:"]::before,
em[data-emoji="womens"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ba.svg");
}
em[data-emoji=":baby_symbol:"]::before,
em[data-emoji="baby_symbol"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6bc.svg");
}
em[data-emoji=":restroom:"]::before,
em[data-emoji="restroom"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6bb.svg");
}
em[data-emoji=":put_litter_in_its_place:"]::before,
em[data-emoji="put_litter_in_its_place"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6ae.svg");
}
em[data-emoji=":cinema:"]::before,
em[data-emoji="cinema"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3a6.svg");
}
em[data-emoji=":signal_strength:"]::before,
em[data-emoji="signal_strength"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4f6.svg");
}
em[data-emoji=":koko:"]::before,
em[data-emoji="koko"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f201.svg");
}
em[data-emoji=":symbols:"]::before,
em[data-emoji="symbols"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f523.svg");
}
em[data-emoji=":abc:"]::before,
em[data-emoji="abc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f524.svg");
}
em[data-emoji=":abcd:"]::before,
em[data-emoji="abcd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f521.svg");
}
em[data-emoji=":capital_abcd:"]::before,
em[data-emoji="capital_abcd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f520.svg");
}
em[data-emoji=":ng:"]::before,
em[data-emoji="ng"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f196.svg");
}
em[data-emoji=":ok:"]::before,
em[data-emoji="ok"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f197.svg");
}
em[data-emoji=":up:"]::before,
em[data-emoji="up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f199.svg");
}
em[data-emoji=":cool:"]::before,
em[data-emoji="cool"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f192.svg");
}
em[data-emoji=":new:"]::before,
em[data-emoji="new"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f195.svg");
}
em[data-emoji=":free:"]::before,
em[data-emoji="free"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f193.svg");
}
em[data-emoji=":zero:"]::before,
em[data-emoji="zero"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/30-20e3.svg");
}
em[data-emoji=":one:"]::before,
em[data-emoji="one"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/31-20e3.svg");
}
em[data-emoji=":two:"]::before,
em[data-emoji="two"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/32-20e3.svg");
}
em[data-emoji=":three:"]::before,
em[data-emoji="three"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/33-20e3.svg");
}
em[data-emoji=":four:"]::before,
em[data-emoji="four"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/34-20e3.svg");
}
em[data-emoji=":five:"]::before,
em[data-emoji="five"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/35-20e3.svg");
}
em[data-emoji=":six:"]::before,
em[data-emoji="six"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/36-20e3.svg");
}
em[data-emoji=":seven:"]::before,
em[data-emoji="seven"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/37-20e3.svg");
}
em[data-emoji=":eight:"]::before,
em[data-emoji="eight"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/38-20e3.svg");
}
em[data-emoji=":nine:"]::before,
em[data-emoji="nine"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/39-20e3.svg");
}
em[data-emoji=":keycap_ten:"]::before,
em[data-emoji="keycap_ten"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51f.svg");
}
em[data-emoji=":1234:"]::before,
em[data-emoji="1234"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f522.svg");
}
em[data-emoji=":hash:"]::before,
em[data-emoji="hash"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23-20e3.svg");
}
em[data-emoji=":asterisk:"]::before,
em[data-emoji="asterisk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2a-20e3.svg");
}
em[data-emoji=":eject:"]::before,
em[data-emoji="eject"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23cf.svg");
}
em[data-emoji=":arrow_forward:"]::before,
em[data-emoji="arrow_forward"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25b6.svg");
}
em[data-emoji=":pause_button:"]::before,
em[data-emoji="pause_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f8.svg");
}
em[data-emoji=":play_pause:"]::before,
em[data-emoji="play_pause"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23ef.svg");
}
em[data-emoji=":stop_button:"]::before,
em[data-emoji="stop_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23f9.svg");
}
em[data-emoji=":record_button:"]::before,
em[data-emoji="record_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23fa.svg");
}
em[data-emoji=":track_next:"]::before,
em[data-emoji="track_next"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23ed.svg");
}
em[data-emoji=":track_previous:"]::before,
em[data-emoji="track_previous"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23ee.svg");
}
em[data-emoji=":fast_forward:"]::before,
em[data-emoji="fast_forward"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23e9.svg");
}
em[data-emoji=":rewind:"]::before,
em[data-emoji="rewind"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23ea.svg");
}
em[data-emoji=":arrow_double_up:"]::before,
em[data-emoji="arrow_double_up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23eb.svg");
}
em[data-emoji=":arrow_double_down:"]::before,
em[data-emoji="arrow_double_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/23ec.svg");
}
em[data-emoji=":arrow_backward:"]::before,
em[data-emoji="arrow_backward"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25c0.svg");
}
em[data-emoji=":arrow_up_small:"]::before,
em[data-emoji="arrow_up_small"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f53c.svg");
}
em[data-emoji=":arrow_down_small:"]::before,
em[data-emoji="arrow_down_small"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f53d.svg");
}
em[data-emoji=":arrow_right:"]::before,
em[data-emoji="arrow_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/27a1.svg");
}
em[data-emoji=":arrow_left:"]::before,
em[data-emoji="arrow_left"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b05.svg");
}
em[data-emoji=":arrow_up:"]::before,
em[data-emoji="arrow_up"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b06.svg");
}
em[data-emoji=":arrow_down:"]::before,
em[data-emoji="arrow_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b07.svg");
}
em[data-emoji=":arrow_right_hook:"]::before,
em[data-emoji="arrow_right_hook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/21aa.svg");
}
em[data-emoji=":leftwards_arrow_with_hook:"]::before,
em[data-emoji="leftwards_arrow_with_hook"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/21a9.svg");
}
em[data-emoji=":twisted_rightwards_arrows:"]::before,
em[data-emoji="twisted_rightwards_arrows"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f500.svg");
}
em[data-emoji=":repeat:"]::before,
em[data-emoji="repeat"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f501.svg");
}
em[data-emoji=":repeat_one:"]::before,
em[data-emoji="repeat_one"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f502.svg");
}
em[data-emoji=":arrows_counterclockwise:"]::before,
em[data-emoji="arrows_counterclockwise"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f504.svg");
}
em[data-emoji=":arrows_clockwise:"]::before,
em[data-emoji="arrows_clockwise"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f503.svg");
}
em[data-emoji=":musical_note:"]::before,
em[data-emoji="musical_note"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b5.svg");
}
em[data-emoji=":notes:"]::before,
em[data-emoji="notes"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b6.svg");
}
em[data-emoji=":heavy_equals_sign:"]::before,
em[data-emoji="heavy_equals_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7f0.svg");
}
em[data-emoji=":infinity:"]::before,
em[data-emoji="infinity"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/267e.svg");
}
em[data-emoji=":heavy_dollar_sign:"]::before,
em[data-emoji="heavy_dollar_sign"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b2.svg");
}
em[data-emoji=":currency_exchange:"]::before,
em[data-emoji="currency_exchange"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4b1.svg");
}
em[data-emoji=":copyright:"]::before,
em[data-emoji="copyright"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/a9.svg");
}
em[data-emoji=":registered:"]::before,
em[data-emoji="registered"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/ae.svg");
}
em[data-emoji=":curly_loop:"]::before,
em[data-emoji="curly_loop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/27b0.svg");
}
em[data-emoji=":loop:"]::before,
em[data-emoji="loop"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/27bf.svg");
}
em[data-emoji=":end:"]::before,
em[data-emoji="end"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51a.svg");
}
em[data-emoji=":back:"]::before,
em[data-emoji="back"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f519.svg");
}
em[data-emoji=":on:"]::before,
em[data-emoji="on"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51b.svg");
}
em[data-emoji=":top:"]::before,
em[data-emoji="top"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51d.svg");
}
em[data-emoji=":soon:"]::before,
em[data-emoji="soon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f51c.svg");
}
em[data-emoji=":radio_button:"]::before,
em[data-emoji="radio_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f518.svg");
}
em[data-emoji=":white_circle:"]::before,
em[data-emoji="white_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26aa.svg");
}
em[data-emoji=":black_circle:"]::before,
em[data-emoji="black_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26ab.svg");
}
em[data-emoji=":red_circle:"]::before,
em[data-emoji="red_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f534.svg");
}
em[data-emoji=":blue_circle:"]::before,
em[data-emoji="blue_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f535.svg");
}
em[data-emoji=":brown_circle:"]::before,
em[data-emoji="brown_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e4.svg");
}
em[data-emoji=":purple_circle:"]::before,
em[data-emoji="purple_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e3.svg");
}
em[data-emoji=":green_circle:"]::before,
em[data-emoji="green_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e2.svg");
}
em[data-emoji=":yellow_circle:"]::before,
em[data-emoji="yellow_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e1.svg");
}
em[data-emoji=":orange_circle:"]::before,
em[data-emoji="orange_circle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e0.svg");
}
em[data-emoji=":small_red_triangle:"]::before,
em[data-emoji="small_red_triangle"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f53a.svg");
}
em[data-emoji=":small_red_triangle_down:"]::before,
em[data-emoji="small_red_triangle_down"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f53b.svg");
}
em[data-emoji=":small_orange_diamond:"]::before,
em[data-emoji="small_orange_diamond"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f538.svg");
}
em[data-emoji=":small_blue_diamond:"]::before,
em[data-emoji="small_blue_diamond"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f539.svg");
}
em[data-emoji=":large_orange_diamond:"]::before,
em[data-emoji="large_orange_diamond"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f536.svg");
}
em[data-emoji=":large_blue_diamond:"]::before,
em[data-emoji="large_blue_diamond"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f537.svg");
}
em[data-emoji=":white_square_button:"]::before,
em[data-emoji="white_square_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f533.svg");
}
em[data-emoji=":black_square_button:"]::before,
em[data-emoji="black_square_button"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f532.svg");
}
em[data-emoji=":black_small_square:"]::before,
em[data-emoji="black_small_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25aa.svg");
}
em[data-emoji=":white_small_square:"]::before,
em[data-emoji="white_small_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25ab.svg");
}
em[data-emoji=":black_medium_small_square:"]::before,
em[data-emoji="black_medium_small_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25fe.svg");
}
em[data-emoji=":white_medium_small_square:"]::before,
em[data-emoji="white_medium_small_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25fd.svg");
}
em[data-emoji=":black_medium_square:"]::before,
em[data-emoji="black_medium_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25fc.svg");
}
em[data-emoji=":white_medium_square:"]::before,
em[data-emoji="white_medium_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/25fb.svg");
}
em[data-emoji=":black_large_square:"]::before,
em[data-emoji="black_large_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b1b.svg");
}
em[data-emoji=":white_large_square:"]::before,
em[data-emoji="white_large_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2b1c.svg");
}
em[data-emoji=":orange_square:"]::before,
em[data-emoji="orange_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e7.svg");
}
em[data-emoji=":blue_square:"]::before,
em[data-emoji="blue_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e6.svg");
}
em[data-emoji=":red_square:"]::before,
em[data-emoji="red_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e5.svg");
}
em[data-emoji=":brown_square:"]::before,
em[data-emoji="brown_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7eb.svg");
}
em[data-emoji=":purple_square:"]::before,
em[data-emoji="purple_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7ea.svg");
}
em[data-emoji=":green_square:"]::before,
em[data-emoji="green_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e9.svg");
}
em[data-emoji=":yellow_square:"]::before,
em[data-emoji="yellow_square"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f7e8.svg");
}
em[data-emoji=":speaker:"]::before,
em[data-emoji="speaker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f508.svg");
}
em[data-emoji=":mute:"]::before,
em[data-emoji="mute"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f507.svg");
}
em[data-emoji=":sound:"]::before,
em[data-emoji="sound"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f509.svg");
}
em[data-emoji=":loud_sound:"]::before,
em[data-emoji="loud_sound"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f50a.svg");
}
em[data-emoji=":bell:"]::before,
em[data-emoji="bell"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f514.svg");
}
em[data-emoji=":no_bell:"]::before,
em[data-emoji="no_bell"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f515.svg");
}
em[data-emoji=":mega:"]::before,
em[data-emoji="mega"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e3.svg");
}
em[data-emoji=":loudspeaker:"]::before,
em[data-emoji="loudspeaker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4e2.svg");
}
em[data-emoji=":speech_left:"]::before,
em[data-emoji="speech_left"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5e8.svg");
}
em[data-emoji=":eye_in_speech_bubble:"]::before,
em[data-emoji="eye_in_speech_bubble"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f441-200d-1f5e8.svg");
}
em[data-emoji=":speech_balloon:"]::before,
em[data-emoji="speech_balloon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ac.svg");
}
em[data-emoji=":thought_balloon:"]::before,
em[data-emoji="thought_balloon"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f4ad.svg");
}
em[data-emoji=":anger_right:"]::before,
em[data-emoji="anger_right"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f5ef.svg");
}
em[data-emoji=":black_joker:"]::before,
em[data-emoji="black_joker"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f0cf.svg");
}
em[data-emoji=":flower_playing_cards:"]::before,
em[data-emoji="flower_playing_cards"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3b4.svg");
}
em[data-emoji=":mahjong:"]::before,
em[data-emoji="mahjong"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f004.svg");
}
em[data-emoji=":clock1:"]::before,
em[data-emoji="clock1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f550.svg");
}
em[data-emoji=":clock2:"]::before,
em[data-emoji="clock2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f551.svg");
}
em[data-emoji=":clock3:"]::before,
em[data-emoji="clock3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f552.svg");
}
em[data-emoji=":clock4:"]::before,
em[data-emoji="clock4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f553.svg");
}
em[data-emoji=":clock5:"]::before,
em[data-emoji="clock5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f554.svg");
}
em[data-emoji=":clock6:"]::before,
em[data-emoji="clock6"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f555.svg");
}
em[data-emoji=":clock7:"]::before,
em[data-emoji="clock7"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f556.svg");
}
em[data-emoji=":clock8:"]::before,
em[data-emoji="clock8"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f557.svg");
}
em[data-emoji=":clock9:"]::before,
em[data-emoji="clock9"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f558.svg");
}
em[data-emoji=":clock10:"]::before,
em[data-emoji="clock10"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f559.svg");
}
em[data-emoji=":clock11:"]::before,
em[data-emoji="clock11"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55a.svg");
}
em[data-emoji=":clock12:"]::before,
em[data-emoji="clock12"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55b.svg");
}
em[data-emoji=":clock130:"]::before,
em[data-emoji="clock130"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55c.svg");
}
em[data-emoji=":clock230:"]::before,
em[data-emoji="clock230"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55d.svg");
}
em[data-emoji=":clock330:"]::before,
em[data-emoji="clock330"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55e.svg");
}
em[data-emoji=":clock430:"]::before,
em[data-emoji="clock430"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f55f.svg");
}
em[data-emoji=":clock530:"]::before,
em[data-emoji="clock530"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f560.svg");
}
em[data-emoji=":clock630:"]::before,
em[data-emoji="clock630"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f561.svg");
}
em[data-emoji=":clock730:"]::before,
em[data-emoji="clock730"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f562.svg");
}
em[data-emoji=":clock830:"]::before,
em[data-emoji="clock830"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f563.svg");
}
em[data-emoji=":clock930:"]::before,
em[data-emoji="clock930"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f564.svg");
}
em[data-emoji=":clock1030:"]::before,
em[data-emoji="clock1030"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f565.svg");
}
em[data-emoji=":clock1130:"]::before,
em[data-emoji="clock1130"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f566.svg");
}
em[data-emoji=":clock1230:"]::before,
em[data-emoji="clock1230"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f567.svg");
}
em[data-emoji=":transgender_symbol:"]::before,
em[data-emoji="transgender_symbol"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/26a7.svg");
}
em[data-emoji=":flag_white:"]::before,
em[data-emoji="flag_white"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f3.svg");
}
em[data-emoji=":flag_black:"]::before,
em[data-emoji="flag_black"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4.svg");
}
em[data-emoji=":pirate_flag:"]::before,
em[data-emoji="pirate_flag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-200d-2620-fe0f.svg");
}
em[data-emoji=":checkered_flag:"]::before,
em[data-emoji="checkered_flag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3c1.svg");
}
em[data-emoji=":triangular_flag_on_post:"]::before,
em[data-emoji="triangular_flag_on_post"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f6a9.svg");
}
em[data-emoji=":rainbow_flag:"]::before,
em[data-emoji="rainbow_flag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f3-fe0f-200d-1f308.svg");
}
em[data-emoji=":transgender_flag:"]::before,
em[data-emoji="transgender_flag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f3-fe0f-200d-26a7-fe0f.svg");
}
em[data-emoji=":united_nations:"]::before,
em[data-emoji="united_nations"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f3.svg");
}
em[data-emoji=":flag_af:"]::before,
em[data-emoji="flag_af"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1eb.svg");
}
em[data-emoji=":flag_ax:"]::before,
em[data-emoji="flag_ax"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fd.svg");
}
em[data-emoji=":flag_al:"]::before,
em[data-emoji="flag_al"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f1.svg");
}
em[data-emoji=":flag_dz:"]::before,
em[data-emoji="flag_dz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ff.svg");
}
em[data-emoji=":flag_as:"]::before,
em[data-emoji="flag_as"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f8.svg");
}
em[data-emoji=":flag_ad:"]::before,
em[data-emoji="flag_ad"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1e9.svg");
}
em[data-emoji=":flag_ao:"]::before,
em[data-emoji="flag_ao"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f4.svg");
}
em[data-emoji=":flag_ai:"]::before,
em[data-emoji="flag_ai"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ee.svg");
}
em[data-emoji=":flag_aq:"]::before,
em[data-emoji="flag_aq"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f6.svg");
}
em[data-emoji=":flag_ag:"]::before,
em[data-emoji="flag_ag"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ec.svg");
}
em[data-emoji=":flag_ar:"]::before,
em[data-emoji="flag_ar"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f7.svg");
}
em[data-emoji=":flag_am:"]::before,
em[data-emoji="flag_am"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f2.svg");
}
em[data-emoji=":flag_aw:"]::before,
em[data-emoji="flag_aw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fc.svg");
}
em[data-emoji=":flag_au:"]::before,
em[data-emoji="flag_au"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fa.svg");
}
em[data-emoji=":flag_at:"]::before,
em[data-emoji="flag_at"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f9.svg");
}
em[data-emoji=":flag_az:"]::before,
em[data-emoji="flag_az"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ff.svg");
}
em[data-emoji=":flag_bs:"]::before,
em[data-emoji="flag_bs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f8.svg");
}
em[data-emoji=":flag_bh:"]::before,
em[data-emoji="flag_bh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ed.svg");
}
em[data-emoji=":flag_bd:"]::before,
em[data-emoji="flag_bd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e9.svg");
}
em[data-emoji=":flag_bb:"]::before,
em[data-emoji="flag_bb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e7.svg");
}
em[data-emoji=":flag_by:"]::before,
em[data-emoji="flag_by"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fe.svg");
}
em[data-emoji=":flag_be:"]::before,
em[data-emoji="flag_be"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ea.svg");
}
em[data-emoji=":flag_bz:"]::before,
em[data-emoji="flag_bz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ff.svg");
}
em[data-emoji=":flag_bj:"]::before,
em[data-emoji="flag_bj"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ef.svg");
}
em[data-emoji=":flag_bm:"]::before,
em[data-emoji="flag_bm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f2.svg");
}
em[data-emoji=":flag_bt:"]::before,
em[data-emoji="flag_bt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f9.svg");
}
em[data-emoji=":flag_bo:"]::before,
em[data-emoji="flag_bo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f4.svg");
}
em[data-emoji=":flag_ba:"]::before,
em[data-emoji="flag_ba"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e6.svg");
}
em[data-emoji=":flag_bw:"]::before,
em[data-emoji="flag_bw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fc.svg");
}
em[data-emoji=":flag_br:"]::before,
em[data-emoji="flag_br"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f7.svg");
}
em[data-emoji=":flag_io:"]::before,
em[data-emoji="flag_io"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f4.svg");
}
em[data-emoji=":flag_vg:"]::before,
em[data-emoji="flag_vg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ec.svg");
}
em[data-emoji=":flag_bn:"]::before,
em[data-emoji="flag_bn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f3.svg");
}
em[data-emoji=":flag_bg:"]::before,
em[data-emoji="flag_bg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ec.svg");
}
em[data-emoji=":flag_bf:"]::before,
em[data-emoji="flag_bf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1eb.svg");
}
em[data-emoji=":flag_bi:"]::before,
em[data-emoji="flag_bi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ee.svg");
}
em[data-emoji=":flag_kh:"]::before,
em[data-emoji="flag_kh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ed.svg");
}
em[data-emoji=":flag_cm:"]::before,
em[data-emoji="flag_cm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f2.svg");
}
em[data-emoji=":flag_ca:"]::before,
em[data-emoji="flag_ca"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e6.svg");
}
em[data-emoji=":flag_ic:"]::before,
em[data-emoji="flag_ic"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1e8.svg");
}
em[data-emoji=":flag_cv:"]::before,
em[data-emoji="flag_cv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fb.svg");
}
em[data-emoji=":flag_bq:"]::before,
em[data-emoji="flag_bq"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f6.svg");
}
em[data-emoji=":flag_ky:"]::before,
em[data-emoji="flag_ky"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1fe.svg");
}
em[data-emoji=":flag_cf:"]::before,
em[data-emoji="flag_cf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1eb.svg");
}
em[data-emoji=":flag_td:"]::before,
em[data-emoji="flag_td"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e9.svg");
}
em[data-emoji=":flag_cl:"]::before,
em[data-emoji="flag_cl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f1.svg");
}
em[data-emoji=":flag_cn:"]::before,
em[data-emoji="flag_cn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f3.svg");
}
em[data-emoji=":flag_cx:"]::before,
em[data-emoji="flag_cx"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fd.svg");
}
em[data-emoji=":flag_cc:"]::before,
em[data-emoji="flag_cc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e8.svg");
}
em[data-emoji=":flag_co:"]::before,
em[data-emoji="flag_co"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f4.svg");
}
em[data-emoji=":flag_km:"]::before,
em[data-emoji="flag_km"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f2.svg");
}
em[data-emoji=":flag_cg:"]::before,
em[data-emoji="flag_cg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ec.svg");
}
em[data-emoji=":flag_cd:"]::before,
em[data-emoji="flag_cd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e9.svg");
}
em[data-emoji=":flag_ck:"]::before,
em[data-emoji="flag_ck"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f0.svg");
}
em[data-emoji=":flag_cr:"]::before,
em[data-emoji="flag_cr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f7.svg");
}
em[data-emoji=":flag_ci:"]::before,
em[data-emoji="flag_ci"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ee.svg");
}
em[data-emoji=":flag_hr:"]::before,
em[data-emoji="flag_hr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f7.svg");
}
em[data-emoji=":flag_cu:"]::before,
em[data-emoji="flag_cu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fa.svg");
}
em[data-emoji=":flag_cw:"]::before,
em[data-emoji="flag_cw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fc.svg");
}
em[data-emoji=":flag_cy:"]::before,
em[data-emoji="flag_cy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fe.svg");
}
em[data-emoji=":flag_cz:"]::before,
em[data-emoji="flag_cz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ff.svg");
}
em[data-emoji=":flag_dk:"]::before,
em[data-emoji="flag_dk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f0.svg");
}
em[data-emoji=":flag_dj:"]::before,
em[data-emoji="flag_dj"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ef.svg");
}
em[data-emoji=":flag_dm:"]::before,
em[data-emoji="flag_dm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f2.svg");
}
em[data-emoji=":flag_do:"]::before,
em[data-emoji="flag_do"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f4.svg");
}
em[data-emoji=":flag_ec:"]::before,
em[data-emoji="flag_ec"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1e8.svg");
}
em[data-emoji=":flag_eg:"]::before,
em[data-emoji="flag_eg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ec.svg");
}
em[data-emoji=":flag_sv:"]::before,
em[data-emoji="flag_sv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fb.svg");
}
em[data-emoji=":flag_gq:"]::before,
em[data-emoji="flag_gq"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f6.svg");
}
em[data-emoji=":flag_er:"]::before,
em[data-emoji="flag_er"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f7.svg");
}
em[data-emoji=":flag_ee:"]::before,
em[data-emoji="flag_ee"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ea.svg");
}
em[data-emoji=":flag_et:"]::before,
em[data-emoji="flag_et"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f9.svg");
}
em[data-emoji=":flag_eu:"]::before,
em[data-emoji="flag_eu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1fa.svg");
}
em[data-emoji=":flag_fk:"]::before,
em[data-emoji="flag_fk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f0.svg");
}
em[data-emoji=":flag_fo:"]::before,
em[data-emoji="flag_fo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f4.svg");
}
em[data-emoji=":flag_fj:"]::before,
em[data-emoji="flag_fj"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1ef.svg");
}
em[data-emoji=":flag_fi:"]::before,
em[data-emoji="flag_fi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1ee.svg");
}
em[data-emoji=":flag_fr:"]::before,
em[data-emoji="flag_fr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f7.svg");
}
em[data-emoji=":flag_gf:"]::before,
em[data-emoji="flag_gf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1eb.svg");
}
em[data-emoji=":flag_pf:"]::before,
em[data-emoji="flag_pf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1eb.svg");
}
em[data-emoji=":flag_tf:"]::before,
em[data-emoji="flag_tf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1eb.svg");
}
em[data-emoji=":flag_ga:"]::before,
em[data-emoji="flag_ga"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e6.svg");
}
em[data-emoji=":flag_gm:"]::before,
em[data-emoji="flag_gm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f2.svg");
}
em[data-emoji=":flag_ge:"]::before,
em[data-emoji="flag_ge"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ea.svg");
}
em[data-emoji=":flag_de:"]::before,
em[data-emoji="flag_de"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ea.svg");
}
em[data-emoji=":flag_gh:"]::before,
em[data-emoji="flag_gh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ed.svg");
}
em[data-emoji=":flag_gi:"]::before,
em[data-emoji="flag_gi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ee.svg");
}
em[data-emoji=":flag_gr:"]::before,
em[data-emoji="flag_gr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f7.svg");
}
em[data-emoji=":flag_gl:"]::before,
em[data-emoji="flag_gl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f1.svg");
}
em[data-emoji=":flag_gd:"]::before,
em[data-emoji="flag_gd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e9.svg");
}
em[data-emoji=":flag_gp:"]::before,
em[data-emoji="flag_gp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f5.svg");
}
em[data-emoji=":flag_gu:"]::before,
em[data-emoji="flag_gu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fa.svg");
}
em[data-emoji=":flag_gt:"]::before,
em[data-emoji="flag_gt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f9.svg");
}
em[data-emoji=":flag_gg:"]::before,
em[data-emoji="flag_gg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ec.svg");
}
em[data-emoji=":flag_gn:"]::before,
em[data-emoji="flag_gn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f3.svg");
}
em[data-emoji=":flag_gw:"]::before,
em[data-emoji="flag_gw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fc.svg");
}
em[data-emoji=":flag_gy:"]::before,
em[data-emoji="flag_gy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fe.svg");
}
em[data-emoji=":flag_ht:"]::before,
em[data-emoji="flag_ht"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f9.svg");
}
em[data-emoji=":flag_hn:"]::before,
em[data-emoji="flag_hn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f3.svg");
}
em[data-emoji=":flag_hk:"]::before,
em[data-emoji="flag_hk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f0.svg");
}
em[data-emoji=":flag_hu:"]::before,
em[data-emoji="flag_hu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1fa.svg");
}
em[data-emoji=":flag_is:"]::before,
em[data-emoji="flag_is"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f8.svg");
}
em[data-emoji=":flag_in:"]::before,
em[data-emoji="flag_in"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f3.svg");
}
em[data-emoji=":flag_id:"]::before,
em[data-emoji="flag_id"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1e9.svg");
}
em[data-emoji=":flag_ir:"]::before,
em[data-emoji="flag_ir"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f7.svg");
}
em[data-emoji=":flag_iq:"]::before,
em[data-emoji="flag_iq"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f6.svg");
}
em[data-emoji=":flag_ie:"]::before,
em[data-emoji="flag_ie"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1ea.svg");
}
em[data-emoji=":flag_im:"]::before,
em[data-emoji="flag_im"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f2.svg");
}
em[data-emoji=":flag_il:"]::before,
em[data-emoji="flag_il"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f1.svg");
}
em[data-emoji=":flag_it:"]::before,
em[data-emoji="flag_it"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f9.svg");
}
em[data-emoji=":flag_jm:"]::before,
em[data-emoji="flag_jm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f2.svg");
}
em[data-emoji=":flag_jp:"]::before,
em[data-emoji="flag_jp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f5.svg");
}
em[data-emoji=":crossed_flags:"]::before,
em[data-emoji="crossed_flags"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f38c.svg");
}
em[data-emoji=":flag_je:"]::before,
em[data-emoji="flag_je"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1ea.svg");
}
em[data-emoji=":flag_jo:"]::before,
em[data-emoji="flag_jo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f4.svg");
}
em[data-emoji=":flag_kz:"]::before,
em[data-emoji="flag_kz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ff.svg");
}
em[data-emoji=":flag_ke:"]::before,
em[data-emoji="flag_ke"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ea.svg");
}
em[data-emoji=":flag_ki:"]::before,
em[data-emoji="flag_ki"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ee.svg");
}
em[data-emoji=":flag_xk:"]::before,
em[data-emoji="flag_xk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fd-1f1f0.svg");
}
em[data-emoji=":flag_kw:"]::before,
em[data-emoji="flag_kw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1fc.svg");
}
em[data-emoji=":flag_kg:"]::before,
em[data-emoji="flag_kg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ec.svg");
}
em[data-emoji=":flag_la:"]::before,
em[data-emoji="flag_la"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e6.svg");
}
em[data-emoji=":flag_lv:"]::before,
em[data-emoji="flag_lv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fb.svg");
}
em[data-emoji=":flag_lb:"]::before,
em[data-emoji="flag_lb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e7.svg");
}
em[data-emoji=":flag_ls:"]::before,
em[data-emoji="flag_ls"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f8.svg");
}
em[data-emoji=":flag_lr:"]::before,
em[data-emoji="flag_lr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f7.svg");
}
em[data-emoji=":flag_ly:"]::before,
em[data-emoji="flag_ly"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fe.svg");
}
em[data-emoji=":flag_li:"]::before,
em[data-emoji="flag_li"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1ee.svg");
}
em[data-emoji=":flag_lt:"]::before,
em[data-emoji="flag_lt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f9.svg");
}
em[data-emoji=":flag_lu:"]::before,
em[data-emoji="flag_lu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fa.svg");
}
em[data-emoji=":flag_mo:"]::before,
em[data-emoji="flag_mo"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f4.svg");
}
em[data-emoji=":flag_mk:"]::before,
em[data-emoji="flag_mk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f0.svg");
}
em[data-emoji=":flag_mg:"]::before,
em[data-emoji="flag_mg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ec.svg");
}
em[data-emoji=":flag_mw:"]::before,
em[data-emoji="flag_mw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fc.svg");
}
em[data-emoji=":flag_my:"]::before,
em[data-emoji="flag_my"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fe.svg");
}
em[data-emoji=":flag_mv:"]::before,
em[data-emoji="flag_mv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fb.svg");
}
em[data-emoji=":flag_ml:"]::before,
em[data-emoji="flag_ml"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f1.svg");
}
em[data-emoji=":flag_mt:"]::before,
em[data-emoji="flag_mt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f9.svg");
}
em[data-emoji=":flag_mh:"]::before,
em[data-emoji="flag_mh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ed.svg");
}
em[data-emoji=":flag_mq:"]::before,
em[data-emoji="flag_mq"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f6.svg");
}
em[data-emoji=":flag_mr:"]::before,
em[data-emoji="flag_mr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f7.svg");
}
em[data-emoji=":flag_mu:"]::before,
em[data-emoji="flag_mu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fa.svg");
}
em[data-emoji=":flag_yt:"]::before,
em[data-emoji="flag_yt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fe-1f1f9.svg");
}
em[data-emoji=":flag_mx:"]::before,
em[data-emoji="flag_mx"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fd.svg");
}
em[data-emoji=":flag_fm:"]::before,
em[data-emoji="flag_fm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f2.svg");
}
em[data-emoji=":flag_md:"]::before,
em[data-emoji="flag_md"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e9.svg");
}
em[data-emoji=":flag_mc:"]::before,
em[data-emoji="flag_mc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e8.svg");
}
em[data-emoji=":flag_mn:"]::before,
em[data-emoji="flag_mn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f3.svg");
}
em[data-emoji=":flag_me:"]::before,
em[data-emoji="flag_me"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ea.svg");
}
em[data-emoji=":flag_ms:"]::before,
em[data-emoji="flag_ms"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f8.svg");
}
em[data-emoji=":flag_ma:"]::before,
em[data-emoji="flag_ma"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e6.svg");
}
em[data-emoji=":flag_mz:"]::before,
em[data-emoji="flag_mz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ff.svg");
}
em[data-emoji=":flag_mm:"]::before,
em[data-emoji="flag_mm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f2.svg");
}
em[data-emoji=":flag_na:"]::before,
em[data-emoji="flag_na"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1e6.svg");
}
em[data-emoji=":flag_nr:"]::before,
em[data-emoji="flag_nr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f7.svg");
}
em[data-emoji=":flag_np:"]::before,
em[data-emoji="flag_np"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f5.svg");
}
em[data-emoji=":flag_nl:"]::before,
em[data-emoji="flag_nl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f1.svg");
}
em[data-emoji=":flag_nc:"]::before,
em[data-emoji="flag_nc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1e8.svg");
}
em[data-emoji=":flag_nz:"]::before,
em[data-emoji="flag_nz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ff.svg");
}
em[data-emoji=":flag_ni:"]::before,
em[data-emoji="flag_ni"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ee.svg");
}
em[data-emoji=":flag_ne:"]::before,
em[data-emoji="flag_ne"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ea.svg");
}
em[data-emoji=":flag_ng:"]::before,
em[data-emoji="flag_ng"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ec.svg");
}
em[data-emoji=":flag_nu:"]::before,
em[data-emoji="flag_nu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1fa.svg");
}
em[data-emoji=":flag_nf:"]::before,
em[data-emoji="flag_nf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1eb.svg");
}
em[data-emoji=":flag_kp:"]::before,
em[data-emoji="flag_kp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f5.svg");
}
em[data-emoji=":flag_mp:"]::before,
em[data-emoji="flag_mp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f5.svg");
}
em[data-emoji=":flag_no:"]::before,
em[data-emoji="flag_no"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f4.svg");
}
em[data-emoji=":flag_om:"]::before,
em[data-emoji="flag_om"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f4-1f1f2.svg");
}
em[data-emoji=":flag_pk:"]::before,
em[data-emoji="flag_pk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f0.svg");
}
em[data-emoji=":flag_pw:"]::before,
em[data-emoji="flag_pw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1fc.svg");
}
em[data-emoji=":flag_ps:"]::before,
em[data-emoji="flag_ps"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f8.svg");
}
em[data-emoji=":flag_pa:"]::before,
em[data-emoji="flag_pa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1e6.svg");
}
em[data-emoji=":flag_pg:"]::before,
em[data-emoji="flag_pg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ec.svg");
}
em[data-emoji=":flag_py:"]::before,
em[data-emoji="flag_py"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1fe.svg");
}
em[data-emoji=":flag_pe:"]::before,
em[data-emoji="flag_pe"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ea.svg");
}
em[data-emoji=":flag_ph:"]::before,
em[data-emoji="flag_ph"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ed.svg");
}
em[data-emoji=":flag_pn:"]::before,
em[data-emoji="flag_pn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f3.svg");
}
em[data-emoji=":flag_pl:"]::before,
em[data-emoji="flag_pl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f1.svg");
}
em[data-emoji=":flag_pt:"]::before,
em[data-emoji="flag_pt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f9.svg");
}
em[data-emoji=":flag_pr:"]::before,
em[data-emoji="flag_pr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f7.svg");
}
em[data-emoji=":flag_qa:"]::before,
em[data-emoji="flag_qa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f6-1f1e6.svg");
}
em[data-emoji=":flag_re:"]::before,
em[data-emoji="flag_re"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1ea.svg");
}
em[data-emoji=":flag_ro:"]::before,
em[data-emoji="flag_ro"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1f4.svg");
}
em[data-emoji=":flag_ru:"]::before,
em[data-emoji="flag_ru"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1fa.svg");
}
em[data-emoji=":flag_rw:"]::before,
em[data-emoji="flag_rw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1fc.svg");
}
em[data-emoji=":flag_ws:"]::before,
em[data-emoji="flag_ws"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fc-1f1f8.svg");
}
em[data-emoji=":flag_sm:"]::before,
em[data-emoji="flag_sm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f2.svg");
}
em[data-emoji=":flag_st:"]::before,
em[data-emoji="flag_st"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f9.svg");
}
em[data-emoji=":flag_sa:"]::before,
em[data-emoji="flag_sa"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e6.svg");
}
em[data-emoji=":flag_sn:"]::before,
em[data-emoji="flag_sn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f3.svg");
}
em[data-emoji=":flag_rs:"]::before,
em[data-emoji="flag_rs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1f8.svg");
}
em[data-emoji=":flag_sc:"]::before,
em[data-emoji="flag_sc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e8.svg");
}
em[data-emoji=":flag_sl:"]::before,
em[data-emoji="flag_sl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f1.svg");
}
em[data-emoji=":flag_sg:"]::before,
em[data-emoji="flag_sg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ec.svg");
}
em[data-emoji=":flag_sx:"]::before,
em[data-emoji="flag_sx"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fd.svg");
}
em[data-emoji=":flag_sk:"]::before,
em[data-emoji="flag_sk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f0.svg");
}
em[data-emoji=":flag_si:"]::before,
em[data-emoji="flag_si"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ee.svg");
}
em[data-emoji=":flag_gs:"]::before,
em[data-emoji="flag_gs"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f8.svg");
}
em[data-emoji=":flag_sb:"]::before,
em[data-emoji="flag_sb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e7.svg");
}
em[data-emoji=":flag_so:"]::before,
em[data-emoji="flag_so"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f4.svg");
}
em[data-emoji=":flag_za:"]::before,
em[data-emoji="flag_za"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1e6.svg");
}
em[data-emoji=":flag_kr:"]::before,
em[data-emoji="flag_kr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f7.svg");
}
em[data-emoji=":flag_ss:"]::before,
em[data-emoji="flag_ss"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f8.svg");
}
em[data-emoji=":flag_es:"]::before,
em[data-emoji="flag_es"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f8.svg");
}
em[data-emoji=":flag_lk:"]::before,
em[data-emoji="flag_lk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f0.svg");
}
em[data-emoji=":flag_bl:"]::before,
em[data-emoji="flag_bl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f1.svg");
}
em[data-emoji=":flag_sh:"]::before,
em[data-emoji="flag_sh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ed.svg");
}
em[data-emoji=":flag_kn:"]::before,
em[data-emoji="flag_kn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f3.svg");
}
em[data-emoji=":flag_lc:"]::before,
em[data-emoji="flag_lc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e8.svg");
}
em[data-emoji=":flag_pm:"]::before,
em[data-emoji="flag_pm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f2.svg");
}
em[data-emoji=":flag_vc:"]::before,
em[data-emoji="flag_vc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1e8.svg");
}
em[data-emoji=":flag_sd:"]::before,
em[data-emoji="flag_sd"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e9.svg");
}
em[data-emoji=":flag_sr:"]::before,
em[data-emoji="flag_sr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f7.svg");
}
em[data-emoji=":flag_sz:"]::before,
em[data-emoji="flag_sz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ff.svg");
}
em[data-emoji=":flag_se:"]::before,
em[data-emoji="flag_se"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ea.svg");
}
em[data-emoji=":flag_ch:"]::before,
em[data-emoji="flag_ch"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ed.svg");
}
em[data-emoji=":flag_sy:"]::before,
em[data-emoji="flag_sy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fe.svg");
}
em[data-emoji=":flag_tw:"]::before,
em[data-emoji="flag_tw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1fc.svg");
}
em[data-emoji=":flag_tj:"]::before,
em[data-emoji="flag_tj"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ef.svg");
}
em[data-emoji=":flag_tz:"]::before,
em[data-emoji="flag_tz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ff.svg");
}
em[data-emoji=":flag_th:"]::before,
em[data-emoji="flag_th"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ed.svg");
}
em[data-emoji=":flag_tl:"]::before,
em[data-emoji="flag_tl"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f1.svg");
}
em[data-emoji=":flag_tg:"]::before,
em[data-emoji="flag_tg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ec.svg");
}
em[data-emoji=":flag_tk:"]::before,
em[data-emoji="flag_tk"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f0.svg");
}
em[data-emoji=":flag_to:"]::before,
em[data-emoji="flag_to"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f4.svg");
}
em[data-emoji=":flag_tt:"]::before,
em[data-emoji="flag_tt"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f9.svg");
}
em[data-emoji=":flag_tn:"]::before,
em[data-emoji="flag_tn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f3.svg");
}
em[data-emoji=":flag_tr:"]::before,
em[data-emoji="flag_tr"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f7.svg");
}
em[data-emoji=":flag_tm:"]::before,
em[data-emoji="flag_tm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f2.svg");
}
em[data-emoji=":flag_tc:"]::before,
em[data-emoji="flag_tc"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e8.svg");
}
em[data-emoji=":flag_vi:"]::before,
em[data-emoji="flag_vi"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ee.svg");
}
em[data-emoji=":flag_tv:"]::before,
em[data-emoji="flag_tv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1fb.svg");
}
em[data-emoji=":flag_ug:"]::before,
em[data-emoji="flag_ug"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1ec.svg");
}
em[data-emoji=":flag_ua:"]::before,
em[data-emoji="flag_ua"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1e6.svg");
}
em[data-emoji=":flag_ae:"]::before,
em[data-emoji="flag_ae"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ea.svg");
}
em[data-emoji=":flag_gb:"]::before,
em[data-emoji="flag_gb"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e7.svg");
}
em[data-emoji=":england:"]::before,
em[data-emoji="england"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg");
}
em[data-emoji=":scotland:"]::before,
em[data-emoji="scotland"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg");
}
em[data-emoji=":wales:"]::before,
em[data-emoji="wales"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg");
}
em[data-emoji=":flag_us:"]::before,
em[data-emoji="flag_us"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f8.svg");
}
em[data-emoji=":flag_uy:"]::before,
em[data-emoji="flag_uy"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1fe.svg");
}
em[data-emoji=":flag_uz:"]::before,
em[data-emoji="flag_uz"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1ff.svg");
}
em[data-emoji=":flag_vu:"]::before,
em[data-emoji="flag_vu"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1fa.svg");
}
em[data-emoji=":flag_va:"]::before,
em[data-emoji="flag_va"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1e6.svg");
}
em[data-emoji=":flag_ve:"]::before,
em[data-emoji="flag_ve"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ea.svg");
}
em[data-emoji=":flag_vn:"]::before,
em[data-emoji="flag_vn"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1f3.svg");
}
em[data-emoji=":flag_wf:"]::before,
em[data-emoji="flag_wf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fc-1f1eb.svg");
}
em[data-emoji=":flag_eh:"]::before,
em[data-emoji="flag_eh"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ed.svg");
}
em[data-emoji=":flag_ye:"]::before,
em[data-emoji="flag_ye"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fe-1f1ea.svg");
}
em[data-emoji=":flag_zm:"]::before,
em[data-emoji="flag_zm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1f2.svg");
}
em[data-emoji=":flag_zw:"]::before,
em[data-emoji="flag_zw"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1fc.svg");
}
em[data-emoji=":flag_ac:"]::before,
em[data-emoji="flag_ac"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1e8.svg");
}
em[data-emoji=":flag_bv:"]::before,
em[data-emoji="flag_bv"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fb.svg");
}
em[data-emoji=":flag_cp:"]::before,
em[data-emoji="flag_cp"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f5.svg");
}
em[data-emoji=":flag_ea:"]::before,
em[data-emoji="flag_ea"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1e6.svg");
}
em[data-emoji=":flag_dg:"]::before,
em[data-emoji="flag_dg"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ec.svg");
}
em[data-emoji=":flag_hm:"]::before,
em[data-emoji="flag_hm"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f2.svg");
}
em[data-emoji=":flag_mf:"]::before,
em[data-emoji="flag_mf"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1eb.svg");
}
em[data-emoji=":flag_sj:"]::before,
em[data-emoji="flag_sj"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ef.svg");
}
em[data-emoji=":flag_ta:"]::before,
em[data-emoji="flag_ta"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e6.svg");
}
em[data-emoji=":flag_um:"]::before,
em[data-emoji="flag_um"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f2.svg");
}
em[data-emoji=":tone1:"]::before,
em[data-emoji="tone1"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3fb.svg");
}
em[data-emoji=":tone2:"]::before,
em[data-emoji="tone2"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3fc.svg");
}
em[data-emoji=":tone3:"]::before,
em[data-emoji="tone3"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3fd.svg");
}
em[data-emoji=":tone4:"]::before,
em[data-emoji="tone4"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3fe.svg");
}
em[data-emoji=":tone5:"]::before,
em[data-emoji="tone5"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3ff.svg");
}
em[data-emoji=":regional_indicator_z:"]::before,
em[data-emoji="regional_indicator_z"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff.svg");
}
em[data-emoji=":regional_indicator_y:"]::before,
em[data-emoji="regional_indicator_y"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fe.svg");
}
em[data-emoji=":regional_indicator_x:"]::before,
em[data-emoji="regional_indicator_x"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fd.svg");
}
em[data-emoji=":regional_indicator_w:"]::before,
em[data-emoji="regional_indicator_w"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fc.svg");
}
em[data-emoji=":regional_indicator_v:"]::before,
em[data-emoji="regional_indicator_v"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb.svg");
}
em[data-emoji=":regional_indicator_u:"]::before,
em[data-emoji="regional_indicator_u"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa.svg");
}
em[data-emoji=":regional_indicator_t:"]::before,
em[data-emoji="regional_indicator_t"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9.svg");
}
em[data-emoji=":regional_indicator_s:"]::before,
em[data-emoji="regional_indicator_s"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8.svg");
}
em[data-emoji=":regional_indicator_r:"]::before,
em[data-emoji="regional_indicator_r"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7.svg");
}
em[data-emoji=":regional_indicator_q:"]::before,
em[data-emoji="regional_indicator_q"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f6.svg");
}
em[data-emoji=":regional_indicator_p:"]::before,
em[data-emoji="regional_indicator_p"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5.svg");
}
em[data-emoji=":regional_indicator_o:"]::before,
em[data-emoji="regional_indicator_o"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f4.svg");
}
em[data-emoji=":regional_indicator_n:"]::before,
em[data-emoji="regional_indicator_n"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3.svg");
}
em[data-emoji=":regional_indicator_m:"]::before,
em[data-emoji="regional_indicator_m"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2.svg");
}
em[data-emoji=":regional_indicator_l:"]::before,
em[data-emoji="regional_indicator_l"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1.svg");
}
em[data-emoji=":regional_indicator_k:"]::before,
em[data-emoji="regional_indicator_k"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0.svg");
}
em[data-emoji=":regional_indicator_j:"]::before,
em[data-emoji="regional_indicator_j"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef.svg");
}
em[data-emoji=":regional_indicator_i:"]::before,
em[data-emoji="regional_indicator_i"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee.svg");
}
em[data-emoji=":regional_indicator_h:"]::before,
em[data-emoji="regional_indicator_h"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed.svg");
}
em[data-emoji=":regional_indicator_g:"]::before,
em[data-emoji="regional_indicator_g"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec.svg");
}
em[data-emoji=":regional_indicator_f:"]::before,
em[data-emoji="regional_indicator_f"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb.svg");
}
em[data-emoji=":regional_indicator_e:"]::before,
em[data-emoji="regional_indicator_e"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea.svg");
}
em[data-emoji=":regional_indicator_d:"]::before,
em[data-emoji="regional_indicator_d"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9.svg");
}
em[data-emoji=":regional_indicator_c:"]::before,
em[data-emoji="regional_indicator_c"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8.svg");
}
em[data-emoji=":regional_indicator_b:"]::before,
em[data-emoji="regional_indicator_b"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7.svg");
}
em[data-emoji=":regional_indicator_a:"]::before,
em[data-emoji="regional_indicator_a"]::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6.svg");
}
/* rtl:end:ignore */
/*******************************
             Emojis
*******************************/
/*!
 * # Fomantic-UI - Flag
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Flag
*******************************/
/* --------------
    Path
--------------- */
/* -------------------
       Element
-------------------- */
/* Packaged Theme */
/* Site Theme */
/*-------------------
   Flag Variables
--------------------*/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Flag
*******************************/
i.flag:not(.icon) {
  speak: none;
  backface-visibility: hidden;
}
i.flag:not(.icon)::before {
  content: "\00A0\00A0\00A0\00A0\00A0\00A0\00A0";
  display: inline-block;
  line-height: 1em;
  background-repeat: no-repeat;
  background-position: center center;
}
i.flag.small {
  font-size: 1.5em;
  vertical-align: middle;
}
i.flag.medium {
  font-size: 3em;
  vertical-align: middle;
}
i.flag.large {
  font-size: 6em;
  vertical-align: middle;
}
i.flag.big {
  font-size: 7.5em;
  vertical-align: middle;
}
i.flag.huge {
  font-size: 9em;
  vertical-align: middle;
}
i.flag.massive {
  font-size: 12em;
  vertical-align: middle;
}
/* rtl:begin:ignore */
i.flag.transgender::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f3-fe0f-200d-26a7-fe0f.svg");
}
i.flag.rainbow::before,
i.flag.pride::before,
i.flag.lgbt::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f3-fe0f-200d-1f308.svg");
}
i.flag.pirate::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-200d-2620-fe0f.svg");
}
i.flag.af::before,
i.flag.afghanistan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1eb.svg");
}
i.flag.ax::before,
i.flag.aland.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fd.svg");
}
i.flag.al::before,
i.flag.albania::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f1.svg");
}
i.flag.dz::before,
i.flag.algeria::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ff.svg");
}
i.flag.as::before,
i.flag.american.samoa::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f8.svg");
}
i.flag.ad::before,
i.flag.andorra::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1e9.svg");
}
i.flag.ao::before,
i.flag.angola::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f4.svg");
}
i.flag.ai::before,
i.flag.anguilla::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ee.svg");
}
i.flag.aq::before,
i.flag.antarctica::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f6.svg");
}
i.flag.ag::before,
i.flag.antigua.and.barbuda::before,
i.flag.antigua::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ec.svg");
}
i.flag.ar::before,
i.flag.argentina::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f7.svg");
}
i.flag.am::before,
i.flag.armenia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f2.svg");
}
i.flag.aw::before,
i.flag.aruba::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fc.svg");
}
i.flag.au::before,
i.flag.australia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1fa.svg");
}
i.flag.at::before,
i.flag.austria::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1f9.svg");
}
i.flag.az::before,
i.flag.azerbaijan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ff.svg");
}
i.flag.bs::before,
i.flag.bahamas::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f8.svg");
}
i.flag.bh::before,
i.flag.bahrain::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ed.svg");
}
i.flag.bd::before,
i.flag.bangladesh::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e9.svg");
}
i.flag.bb::before,
i.flag.barbados::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e7.svg");
}
i.flag.by::before,
i.flag.belarus::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fe.svg");
}
i.flag.be::before,
i.flag.belgium::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ea.svg");
}
i.flag.bz::before,
i.flag.belize::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ff.svg");
}
i.flag.bj::before,
i.flag.benin::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ef.svg");
}
i.flag.bm::before,
i.flag.bermuda::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f2.svg");
}
i.flag.bt::before,
i.flag.bhutan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f9.svg");
}
i.flag.bo::before,
i.flag.bolivia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f4.svg");
}
i.flag.ba::before,
i.flag.bosnia.and.herzegovina::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1e6.svg");
}
i.flag.bw::before,
i.flag.botswana::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fc.svg");
}
i.flag.br::before,
i.flag.brazil::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f7.svg");
}
i.flag.io::before,
i.flag.british.indian.ocean.territory::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f4.svg");
}
i.flag.vg::before,
i.flag.british.virgin.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ec.svg");
}
i.flag.bn::before,
i.flag.brunei::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f3.svg");
}
i.flag.bg::before,
i.flag.bulgaria::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ec.svg");
}
i.flag.bf::before,
i.flag.burkina.faso::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1eb.svg");
}
i.flag.bi::before,
i.flag.burundi::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1ee.svg");
}
i.flag.kh::before,
i.flag.cambodia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ed.svg");
}
i.flag.cm::before,
i.flag.cameroon::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f2.svg");
}
i.flag.ca::before,
i.flag.canada::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e6.svg");
}
i.flag.ic::before,
i.flag.canary.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1e8.svg");
}
i.flag.cv::before,
i.flag.cape.verde::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fb.svg");
}
i.flag.bq::before,
i.flag.caribbean.netherlands::before,
i.flag.an::before,
i.flag.netherlands.antilles::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f6.svg");
}
i.flag.ky::before,
i.flag.cayman.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1fe.svg");
}
i.flag.cf::before,
i.flag.central.african.republic::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1eb.svg");
}
i.flag.td::before,
i.flag.chad::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e9.svg");
}
i.flag.cl::before,
i.flag.chile::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f1.svg");
}
i.flag.cn::before,
i.flag.china::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f3.svg");
}
i.flag.cx::before,
i.flag.christmas.island::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fd.svg");
}
i.flag.cc::before,
i.flag.cocos.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e8.svg");
}
i.flag.co::before,
i.flag.colombia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f4.svg");
}
i.flag.km::before,
i.flag.comoros::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f2.svg");
}
i.flag.cg::before,
i.flag.congo.brazzaville::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ec.svg");
}
i.flag.cd::before,
i.flag.congo.kinshasa::before,
i.flag.congo::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1e9.svg");
}
i.flag.ck::before,
i.flag.cook.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f0.svg");
}
i.flag.cr::before,
i.flag.costa.rica::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f7.svg");
}
i.flag.ci::before,
i.flag.côte.d’ivoire::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ee.svg");
}
i.flag.hr::before,
i.flag.croatia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f7.svg");
}
i.flag.cu::before,
i.flag.cuba::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fa.svg");
}
i.flag.cw::before,
i.flag.curacao::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fc.svg");
}
i.flag.cy::before,
i.flag.cyprus::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1fe.svg");
}
i.flag.cz::before,
i.flag.czechia::before,
i.flag.czech.republic::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ff.svg");
}
i.flag.dk::before,
i.flag.denmark::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f0.svg");
}
i.flag.dj::before,
i.flag.djibouti::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ef.svg");
}
i.flag.dm::before,
i.flag.dominica::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f2.svg");
}
i.flag.do::before,
i.flag.dominican.republic::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1f4.svg");
}
i.flag.ec::before,
i.flag.ecuador::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1e8.svg");
}
i.flag.eg::before,
i.flag.egypt::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ec.svg");
}
i.flag.sv::before,
i.flag.el.salvador::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fb.svg");
}
i.flag.gq::before,
i.flag.equatorial.guinea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f6.svg");
}
i.flag.er::before,
i.flag.eritrea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f7.svg");
}
i.flag.ee::before,
i.flag.estonia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ea.svg");
}
i.flag.et::before,
i.flag.ethiopia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f9.svg");
}
i.flag.eu::before,
i.flag.european.union::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1fa.svg");
}
i.flag.fk::before,
i.flag.falkland.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f0.svg");
}
i.flag.fo::before,
i.flag.faroe.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f4.svg");
}
i.flag.fj::before,
i.flag.fiji::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1ef.svg");
}
i.flag.fi::before,
i.flag.finland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1ee.svg");
}
i.flag.fr::before,
i.flag.france::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f7.svg");
}
i.flag.gf::before,
i.flag.french.guiana::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1eb.svg");
}
i.flag.pf::before,
i.flag.french.polynesia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1eb.svg");
}
i.flag.tf::before,
i.flag.french.southern.territories::before,
i.flag.french.territories::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1eb.svg");
}
i.flag.ga::before,
i.flag.gabon::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e6.svg");
}
i.flag.gm::before,
i.flag.gambia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f2.svg");
}
i.flag.ge::before,
i.flag.georgia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ea.svg");
}
i.flag.de::before,
i.flag.germany::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ea.svg");
}
i.flag.gh::before,
i.flag.ghana::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ed.svg");
}
i.flag.gi::before,
i.flag.gibraltar::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ee.svg");
}
i.flag.gr::before,
i.flag.greece::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f7.svg");
}
i.flag.gl::before,
i.flag.greenland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f1.svg");
}
i.flag.gd::before,
i.flag.grenada::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e9.svg");
}
i.flag.gp::before,
i.flag.guadeloupe::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f5.svg");
}
i.flag.gu::before,
i.flag.guam::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fa.svg");
}
i.flag.gt::before,
i.flag.guatemala::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f9.svg");
}
i.flag.gg::before,
i.flag.guernsey::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1ec.svg");
}
i.flag.gn::before,
i.flag.guinea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f3.svg");
}
i.flag.gw::before,
i.flag.guinea-bissau::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fc.svg");
}
i.flag.gy::before,
i.flag.guyana::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1fe.svg");
}
i.flag.ht::before,
i.flag.haiti::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f9.svg");
}
i.flag.hn::before,
i.flag.honduras::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f3.svg");
}
i.flag.hk::before,
i.flag.hong.kong.sar.china::before,
i.flag.hong.kong::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f0.svg");
}
i.flag.hu::before,
i.flag.hungary::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1fa.svg");
}
i.flag.is::before,
i.flag.iceland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f8.svg");
}
i.flag.in::before,
i.flag.india::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f3.svg");
}
i.flag.id::before,
i.flag.indonesia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1e9.svg");
}
i.flag.ir::before,
i.flag.iran::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f7.svg");
}
i.flag.iq::before,
i.flag.iraq::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f6.svg");
}
i.flag.ie::before,
i.flag.ireland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1ea.svg");
}
i.flag.im::before,
i.flag.isle.of.man::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f2.svg");
}
i.flag.il::before,
i.flag.israel::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f1.svg");
}
i.flag.it::before,
i.flag.italy::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ee-1f1f9.svg");
}
i.flag.jm::before,
i.flag.jamaica::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f2.svg");
}
i.flag.jp::before,
i.flag.japan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f5.svg");
}
i.flag.je::before,
i.flag.jersey::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1ea.svg");
}
i.flag.jo::before,
i.flag.jordan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ef-1f1f4.svg");
}
i.flag.kz::before,
i.flag.kazakhstan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ff.svg");
}
i.flag.ke::before,
i.flag.kenya::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ea.svg");
}
i.flag.ki::before,
i.flag.kiribati::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ee.svg");
}
i.flag.xk::before,
i.flag.kosovo::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fd-1f1f0.svg");
}
i.flag.kw::before,
i.flag.kuwait::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1fc.svg");
}
i.flag.kg::before,
i.flag.kyrgyzstan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1ec.svg");
}
i.flag.la::before,
i.flag.laos::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e6.svg");
}
i.flag.lv::before,
i.flag.latvia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fb.svg");
}
i.flag.lb::before,
i.flag.lebanon::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e7.svg");
}
i.flag.ls::before,
i.flag.lesotho::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f8.svg");
}
i.flag.lr::before,
i.flag.liberia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f7.svg");
}
i.flag.ly::before,
i.flag.libya::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fe.svg");
}
i.flag.li::before,
i.flag.liechtenstein::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1ee.svg");
}
i.flag.lt::before,
i.flag.lithuania::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f9.svg");
}
i.flag.lu::before,
i.flag.luxembourg::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1fa.svg");
}
i.flag.mo::before,
i.flag.macao.sar.china::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f4.svg");
}
i.flag.mk::before,
i.flag.republic.of.north.macedonia::before,
i.flag.north.macedonia::before,
i.flag.macedonia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f0.svg");
}
i.flag.mg::before,
i.flag.madagascar::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ec.svg");
}
i.flag.mw::before,
i.flag.malawi::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fc.svg");
}
i.flag.my::before,
i.flag.malaysia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fe.svg");
}
i.flag.mv::before,
i.flag.maldives::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fb.svg");
}
i.flag.ml::before,
i.flag.mali::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f1.svg");
}
i.flag.mt::before,
i.flag.malta::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f9.svg");
}
i.flag.mh::before,
i.flag.marshall.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ed.svg");
}
i.flag.mq::before,
i.flag.martinique::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f6.svg");
}
i.flag.mr::before,
i.flag.mauritania::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f7.svg");
}
i.flag.mu::before,
i.flag.mauritius::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fa.svg");
}
i.flag.yt::before,
i.flag.mayotte::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fe-1f1f9.svg");
}
i.flag.mx::before,
i.flag.mexico::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1fd.svg");
}
i.flag.fm::before,
i.flag.micronesia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1eb-1f1f2.svg");
}
i.flag.md::before,
i.flag.moldova::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e9.svg");
}
i.flag.mc::before,
i.flag.monaco::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e8.svg");
}
i.flag.mn::before,
i.flag.mongolia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f3.svg");
}
i.flag.me::before,
i.flag.montenegro::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ea.svg");
}
i.flag.ms::before,
i.flag.montserrat::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f8.svg");
}
i.flag.ma::before,
i.flag.morocco::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1e6.svg");
}
i.flag.mz::before,
i.flag.mozambique::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1ff.svg");
}
i.flag.mm::before,
i.flag.myanmar::before,
i.flag.burma::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f2.svg");
}
i.flag.na::before,
i.flag.namibia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1e6.svg");
}
i.flag.nr::before,
i.flag.nauru::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f7.svg");
}
i.flag.np::before,
i.flag.nepal::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f5.svg");
}
i.flag.nl::before,
i.flag.netherlands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f1.svg");
}
i.flag.nc::before,
i.flag.new.caledonia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1e8.svg");
}
i.flag.nz::before,
i.flag.new.zealand::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ff.svg");
}
i.flag.ni::before,
i.flag.nicaragua::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ee.svg");
}
i.flag.ne::before,
i.flag.niger::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ea.svg");
}
i.flag.ng::before,
i.flag.nigeria::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1ec.svg");
}
i.flag.nu::before,
i.flag.niue::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1fa.svg");
}
i.flag.nf::before,
i.flag.norfolk.island::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1eb.svg");
}
i.flag.kp::before,
i.flag.north.korea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f5.svg");
}
i.flag.mp::before,
i.flag.northern.mariana.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1f5.svg");
}
i.flag.no::before,
i.flag.norway::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f3-1f1f4.svg");
}
i.flag.om::before,
i.flag.oman::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f4-1f1f2.svg");
}
i.flag.pk::before,
i.flag.pakistan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f0.svg");
}
i.flag.pw::before,
i.flag.palau::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1fc.svg");
}
i.flag.ps::before,
i.flag.palestinian.territories::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f8.svg");
}
i.flag.pa::before,
i.flag.panama::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1e6.svg");
}
i.flag.pg::before,
i.flag.papua.new.guinea::before,
i.flag.new.guinea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ec.svg");
}
i.flag.py::before,
i.flag.paraguay::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1fe.svg");
}
i.flag.pe::before,
i.flag.peru::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ea.svg");
}
i.flag.ph::before,
i.flag.philippines::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1ed.svg");
}
i.flag.pn::before,
i.flag.pitcairn.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f3.svg");
}
i.flag.pl::before,
i.flag.poland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f1.svg");
}
i.flag.pt::before,
i.flag.portugal::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f9.svg");
}
i.flag.pr::before,
i.flag.puerto.rico::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f7.svg");
}
i.flag.qa::before,
i.flag.qatar::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f6-1f1e6.svg");
}
i.flag.re::before,
i.flag.réunion::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1ea.svg");
}
i.flag.ro::before,
i.flag.romania::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1f4.svg");
}
i.flag.ru::before,
i.flag.russia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1fa.svg");
}
i.flag.rw::before,
i.flag.rwanda::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1fc.svg");
}
i.flag.ws::before,
i.flag.samoa::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fc-1f1f8.svg");
}
i.flag.sm::before,
i.flag.san.marino::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f2.svg");
}
i.flag.st::before,
i.flag.sao.tome.and.principe::before,
i.flag.samo.tome::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f9.svg");
}
i.flag.sa::before,
i.flag.saudi.arabia::before,
i.flag.saudiarabia::before,
i.flag.saudi::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e6.svg");
}
i.flag.sn::before,
i.flag.senegal::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f3.svg");
}
i.flag.rs::before,
i.flag.serbia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f7-1f1f8.svg");
}
i.flag.sc::before,
i.flag.seychelles::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e8.svg");
}
i.flag.sl::before,
i.flag.sierra.leone::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f1.svg");
}
i.flag.sg::before,
i.flag.singapore::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ec.svg");
}
i.flag.sx::before,
i.flag.sint.maarten::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fd.svg");
}
i.flag.sk::before,
i.flag.slovakia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f0.svg");
}
i.flag.si::before,
i.flag.slovenia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ee.svg");
}
i.flag.gs::before,
i.flag.south.georgia.and.south.sandwich.islands::before,
i.flag.sandwich.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1f8.svg");
}
i.flag.sb::before,
i.flag.solomon.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e7.svg");
}
i.flag.so::before,
i.flag.somalia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f4.svg");
}
i.flag.za::before,
i.flag.south.africa::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1e6.svg");
}
i.flag.kr::before,
i.flag.south.korea::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f7.svg");
}
i.flag.ss::before,
i.flag.south.sudan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f8.svg");
}
i.flag.es::before,
i.flag.spain::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1f8.svg");
}
i.flag.lk::before,
i.flag.sri.lanka::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1f0.svg");
}
i.flag.bl::before,
i.flag.st.barthelemy::before,
i.flag.saint.barth::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1f1.svg");
}
i.flag.sh::before,
i.flag.st.helena::before,
i.flag.saint.helena::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ed.svg");
}
i.flag.kn::before,
i.flag.st.kitts.and.nevis::before,
i.flag.saint.kitts.and.navis::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f0-1f1f3.svg");
}
i.flag.lc::before,
i.flag.st.lucia::before,
i.flag.saint.lucia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f1-1f1e8.svg");
}
i.flag.pm::before,
i.flag.st.pierre.and.miquelon::before,
i.flag.saint.pierre::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f5-1f1f2.svg");
}
i.flag.vc::before,
i.flag.st.vincent.and.grenadines::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1e8.svg");
}
i.flag.sd::before,
i.flag.sudan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1e9.svg");
}
i.flag.sr::before,
i.flag.suriname::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1f7.svg");
}
i.flag.sz::before,
i.flag.eswatini::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ff.svg");
}
i.flag.se::before,
i.flag.sweden::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ea.svg");
}
i.flag.ch::before,
i.flag.switzerland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1ed.svg");
}
i.flag.sy::before,
i.flag.syria::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1fe.svg");
}
i.flag.tw::before,
i.flag.taiwan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1fc.svg");
}
i.flag.tj::before,
i.flag.tajikistan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ef.svg");
}
i.flag.tz::before,
i.flag.tanzania::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ff.svg");
}
i.flag.th::before,
i.flag.thailand::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ed.svg");
}
i.flag.tl::before,
i.flag.timor-leste::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f1.svg");
}
i.flag.tg::before,
i.flag.togo::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1ec.svg");
}
i.flag.tk::before,
i.flag.tokelau::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f0.svg");
}
i.flag.to::before,
i.flag.tonga::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f4.svg");
}
i.flag.tt::before,
i.flag.trinidad.and.tobago::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f9.svg");
}
i.flag.tn::before,
i.flag.tunisia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f3.svg");
}
i.flag.tr::before,
i.flag.turkey::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f7.svg");
}
i.flag.tm::before,
i.flag.turkmenistan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1f2.svg");
}
i.flag.tc::before,
i.flag.turks.and.caicos.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e8.svg");
}
i.flag.vi::before,
i.flag.us.virgin.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ee.svg");
}
i.flag.tv::before,
i.flag.tuvalu::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1fb.svg");
}
i.flag.ug::before,
i.flag.uganda::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1ec.svg");
}
i.flag.ua::before,
i.flag.ukraine::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1e6.svg");
}
i.flag.ae::before,
i.flag.united.arab.emirates::before,
i.flag.uae::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1ea.svg");
}
i.flag.gb::before,
i.flag.united.kingdom::before,
i.flag.uk::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ec-1f1e7.svg");
}
i.flag.gb.eng::before,
i.flag.england::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg");
}
i.flag.gb.sct::before,
i.flag.scotland::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg");
}
i.flag.gb.wls::before,
i.flag.wales::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg");
}
i.flag.us::before,
i.flag.united.states::before,
i.flag.america::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f8.svg");
}
i.flag.uy::before,
i.flag.uruguay::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1fe.svg");
}
i.flag.uz::before,
i.flag.uzbekistan::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1ff.svg");
}
i.flag.vu::before,
i.flag.vanuatu::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1fa.svg");
}
i.flag.va::before,
i.flag.vatican.city::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1e6.svg");
}
i.flag.ve::before,
i.flag.venezuela::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1ea.svg");
}
i.flag.vn::before,
i.flag.vietnam::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fb-1f1f3.svg");
}
i.flag.wf::before,
i.flag.wallis.and.futuna::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fc-1f1eb.svg");
}
i.flag.eh::before,
i.flag.western.sahara::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1ed.svg");
}
i.flag.ye::before,
i.flag.yemen::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fe-1f1ea.svg");
}
i.flag.zm::before,
i.flag.zambia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1f2.svg");
}
i.flag.zw::before,
i.flag.zimbabwe::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ff-1f1fc.svg");
}
i.flag.ac::before,
i.flag.ascension.island::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e6-1f1e8.svg");
}
i.flag.bv::before,
i.flag.bouvet.island::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e7-1f1fb.svg");
}
i.flag.cp::before,
i.flag.clipperton.island::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e8-1f1f5.svg");
}
i.flag.ea::before,
i.flag.ceuta.and.melilla::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ea-1f1e6.svg");
}
i.flag.dg::before,
i.flag.diego.garcia::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1e9-1f1ec.svg");
}
i.flag.hm::before,
i.flag.heard.and.mcdonald.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1ed-1f1f2.svg");
}
i.flag.mf::before,
i.flag.st.martin::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f2-1f1eb.svg");
}
i.flag.sj::before,
i.flag.svalbard.and.jan.mayen::before,
i.flag.svalbard::before,
i.flag.jan.mayen::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f8-1f1ef.svg");
}
i.flag.ta::before,
i.flag.tristan.da.cunha::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1f9-1f1e6.svg");
}
i.flag.um::before,
i.flag.us.outlying.islands::before,
i.flag.minor.islands::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f2.svg");
}
i.flag.un::before,
i.flag.united.nations::before,
i.flag.united.nations::before {
  background-image: url("https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f1fa-1f1f3.svg");
}
/* rtl:end:ignore */
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Header
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Header
*******************************/
/* -------------------
       Element
-------------------- */
/* Sub Heading */
/* Sub Header */
/* Icon */
/* Image */
/* Label */
/* Content */
/* Paragraph after Header */
/* -------------------
      Variations
-------------------- */
/* Sizing */
/* Sub Header */
/* Icon Header */
/* No Line Height Offset */
/* Divided */
/* Block */
/* Attached */
/* Inverted */
/* Floated */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Header
*******************************/
/* Standard */
.ui.header {
  border: none;
  margin: calc(2rem - 0.1428571428571429em) 0 1rem;
  padding: 0 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  line-height: 1.28571429em;
  text-transform: none;
  color: rgba(0, 0, 0, 0.87);
}
.ui.header:first-child {
  margin-top: -0.14285714em;
}
.ui.header:last-child {
  margin-bottom: 0;
}
/* --------------
       Sub Header
    --------------- */
.ui.header .sub.header {
  display: block;
  font-weight: normal;
  padding: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.2em;
  color: rgba(0, 0, 0, 0.6);
}
/* --------------
      Icon
--------------- */
.ui.header > .icons,
.ui.header > i.icon {
  display: table-cell;
  opacity: 1;
  font-size: 1.5em;
  padding-top: 0;
  vertical-align: middle;
}
/* With Text Node */
.ui.header:not(.icon) > .icons:only-child,
.ui.header:not(.icon) > i.icon:only-child {
  display: inline-block;
  padding: 0;
  margin-right: 0.75rem;
}
/* -------------------
        Image
-------------------- */
.ui.header > .image:not(.icon),
.ui.header > img {
  display: inline-block;
  margin-top: 0.14285714em;
  width: 2.5em;
  height: auto;
  vertical-align: middle;
}
.ui.header > .image:not(.icon):only-child,
.ui.header > img:only-child {
  margin-right: 0.75rem;
}
/* --------------
     Content
--------------- */
.ui.header .content {
  display: inline-block;
  vertical-align: top;
}
/* After Image */
.ui.header > img + .content,
.ui.header > .image + .content {
  padding-left: 0.75rem;
  vertical-align: middle;
}
/* After Icon */
.ui.header:not(.icon):not(.centered):not(.aligned) > .icons + .content,
.ui.header:not(.icon):not(.centered):not(.aligned) > i.icon + .content {
  padding-left: 0.75rem;
  display: table-cell;
  vertical-align: middle;
}
/* --------------
 Loose Coupling
--------------- */
.ui.header .ui.label {
  font-size: "";
  margin-left: 0.5rem;
  vertical-align: middle;
}
/* Positioning */
.ui.header + p {
  margin-top: 0;
}
/*******************************
            Types
*******************************/
/* --------------
     Page
--------------- */
h1.ui.header {
  font-size: 2rem;
}
h1.ui.header .sub.header {
  font-size: 1.14285714rem;
}
h2.ui.header {
  font-size: 1.71428571rem;
}
h2.ui.header .sub.header {
  font-size: 1.14285714rem;
}
h3.ui.header {
  font-size: 1.28571429rem;
}
h3.ui.header .sub.header {
  font-size: 1rem;
}
h4.ui.header {
  font-size: 1.07142857rem;
}
h4.ui.header .sub.header {
  font-size: 1rem;
}
h5.ui.header {
  font-size: 1rem;
}
h5.ui.header .sub.header {
  font-size: 0.92857143rem;
}
h6.ui.header {
  font-size: 0.85714286rem;
}
h6.ui.header .sub.header {
  font-size: 0.92857143rem;
}
/* --------------
 Content Heading
--------------- */
.ui.mini.header {
  font-size: 0.85714286em;
}
.ui.mini.header .sub.header {
  font-size: 0.92857143rem;
}
.ui.mini.sub.header {
  font-size: 0.78571429em;
}
.ui.tiny.header {
  font-size: 1em;
}
.ui.tiny.header .sub.header {
  font-size: 0.92857143rem;
}
.ui.tiny.sub.header {
  font-size: 0.78571429em;
}
.ui.small.header {
  font-size: 1.07142857em;
}
.ui.small.header .sub.header {
  font-size: 1rem;
}
.ui.small.sub.header {
  font-size: 0.78571429em;
}
.ui.large.header {
  font-size: 1.71428571em;
}
.ui.large.header .sub.header {
  font-size: 1.14285714rem;
}
.ui.large.sub.header {
  font-size: 0.92857143em;
}
.ui.big.header {
  font-size: 1.85714286em;
}
.ui.big.header .sub.header {
  font-size: 1.14285714rem;
}
.ui.big.sub.header {
  font-size: 1em;
}
.ui.huge.header {
  font-size: 2em;
  min-height: 1em;
}
.ui.huge.header .sub.header {
  font-size: 1.14285714rem;
}
.ui.huge.sub.header {
  font-size: 1em;
}
.ui.massive.header {
  font-size: 2.28571429em;
  min-height: 1em;
}
.ui.massive.header .sub.header {
  font-size: 1.42857143rem;
}
.ui.massive.sub.header {
  font-size: 1.14285714em;
}
/* --------------
       Sub Heading
    --------------- */
.ui.sub.header {
  padding: 0;
  margin-bottom: 0.14285714rem;
  font-weight: bold;
  font-size: 0.85714286em;
  text-transform: uppercase;
  color: "";
}
/* -------------------
            Icon
    -------------------- */
.ui.icon.header {
  display: inline-block;
  text-align: center;
  margin: 2rem 0 1rem;
}
.ui.icon.header::after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.ui.icon.header:first-child {
  margin-top: 0;
}
.ui.icon.header > .image.icon,
.ui.icon.header > .icons,
.ui.icon.header > i.icon {
  float: none;
  display: block;
  width: auto;
  height: auto;
  line-height: 1;
  padding: 0;
  font-size: 3em;
  margin: 0 auto 0.5rem;
  opacity: 1;
}
.ui.icon.header .corner.icon {
  font-size: calc(3em * 0.45);
}
.ui.icon.header .content {
  display: block;
  padding: 0;
}
.ui.icon.header > i.circular {
  font-size: 2em;
}
.ui.icon.header > i.square {
  font-size: 2em;
}
.ui.block.icon.header > .image.icon,
.ui.block.icon.header > .icons,
.ui.block.icon.header > i.icon {
  margin-bottom: 0;
}
.ui.icon.header.aligned {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
/*******************************
            States
*******************************/
.ui.disabled.header {
  opacity: 0.45;
}
/*******************************
           Variations
*******************************/
/* -------------------
          Inverted
    -------------------- */
.ui.inverted.header {
  color: #FFFFFF;
}
.ui.inverted.header .sub.header {
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.attached.header {
  background: #1b1c1d;
  box-shadow: none;
  border-color: transparent;
}
.ui.inverted.block.header {
  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  box-shadow: none;
  border-bottom: none;
}
/* -------------------
       Colors
-------------------- */
.ui.primary.header {
  color: #6C3667;
}
a.ui.primary.header:hover {
  color: #5d2b59;
}
.ui.primary.dividing.header {
  border-bottom: 2px solid #6C3667;
}
.ui.inverted.primary.header.header.header {
  color: #54c8ff;
}
a.ui.inverted.primary.header.header.header:hover {
  color: #21b8ff;
}
.ui.inverted.primary.dividing.header {
  border-bottom: 2px solid #54c8ff;
}
.ui.secondary.header {
  color: #88d317;
}
a.ui.secondary.header:hover {
  color: #98f013;
}
.ui.secondary.dividing.header {
  border-bottom: 2px solid #88d317;
}
.ui.inverted.secondary.header.header.header {
  color: #545454;
}
a.ui.inverted.secondary.header.header.header:hover {
  color: #6e6e6e;
}
.ui.inverted.secondary.dividing.header {
  border-bottom: 2px solid #545454;
}
.ui.red.header {
  color: #db2828;
}
a.ui.red.header:hover {
  color: #d01919;
}
.ui.red.dividing.header {
  border-bottom: 2px solid #db2828;
}
.ui.inverted.red.header.header.header {
  color: #ff695e;
}
a.ui.inverted.red.header.header.header:hover {
  color: #ff392b;
}
.ui.inverted.red.dividing.header {
  border-bottom: 2px solid #ff695e;
}
.ui.orange.header {
  color: #f2711c;
}
a.ui.orange.header:hover {
  color: #f26202;
}
.ui.orange.dividing.header {
  border-bottom: 2px solid #f2711c;
}
.ui.inverted.orange.header.header.header {
  color: #ff851b;
}
a.ui.inverted.orange.header.header.header:hover {
  color: #e76b00;
}
.ui.inverted.orange.dividing.header {
  border-bottom: 2px solid #ff851b;
}
.ui.yellow.header {
  color: #fbbd08;
}
a.ui.yellow.header:hover {
  color: #eaae00;
}
.ui.yellow.dividing.header {
  border-bottom: 2px solid #fbbd08;
}
.ui.inverted.yellow.header.header.header {
  color: #ffe21f;
}
a.ui.inverted.yellow.header.header.header:hover {
  color: #ebcd00;
}
.ui.inverted.yellow.dividing.header {
  border-bottom: 2px solid #ffe21f;
}
.ui.olive.header {
  color: #b5cc18;
}
a.ui.olive.header:hover {
  color: #a7bd0d;
}
.ui.olive.dividing.header {
  border-bottom: 2px solid #b5cc18;
}
.ui.inverted.olive.header.header.header {
  color: #d9e778;
}
a.ui.inverted.olive.header.header.header:hover {
  color: #d2e745;
}
.ui.inverted.olive.dividing.header {
  border-bottom: 2px solid #d9e778;
}
.ui.green.header {
  color: #21ba45;
}
a.ui.green.header:hover {
  color: #16ab39;
}
.ui.green.dividing.header {
  border-bottom: 2px solid #21ba45;
}
.ui.inverted.green.header.header.header {
  color: #2ecc40;
}
a.ui.inverted.green.header.header.header:hover {
  color: #1ea92e;
}
.ui.inverted.green.dividing.header {
  border-bottom: 2px solid #2ecc40;
}
.ui.teal.header {
  color: #00b5ad;
}
a.ui.teal.header:hover {
  color: #009c95;
}
.ui.teal.dividing.header {
  border-bottom: 2px solid #00b5ad;
}
.ui.inverted.teal.header.header.header {
  color: #6dffff;
}
a.ui.inverted.teal.header.header.header:hover {
  color: #3affff;
}
.ui.inverted.teal.dividing.header {
  border-bottom: 2px solid #6dffff;
}
.ui.blue.header {
  color: #2185d0;
}
a.ui.blue.header:hover {
  color: #1678c2;
}
.ui.blue.dividing.header {
  border-bottom: 2px solid #2185d0;
}
.ui.inverted.blue.header.header.header {
  color: #54c8ff;
}
a.ui.inverted.blue.header.header.header:hover {
  color: #21b8ff;
}
.ui.inverted.blue.dividing.header {
  border-bottom: 2px solid #54c8ff;
}
.ui.violet.header {
  color: #6435c9;
}
a.ui.violet.header:hover {
  color: #5829bb;
}
.ui.violet.dividing.header {
  border-bottom: 2px solid #6435c9;
}
.ui.inverted.violet.header.header.header {
  color: #a291fb;
}
a.ui.inverted.violet.header.header.header:hover {
  color: #745aff;
}
.ui.inverted.violet.dividing.header {
  border-bottom: 2px solid #a291fb;
}
.ui.purple.header {
  color: #a333c8;
}
a.ui.purple.header:hover {
  color: #9627ba;
}
.ui.purple.dividing.header {
  border-bottom: 2px solid #a333c8;
}
.ui.inverted.purple.header.header.header {
  color: #dc73ff;
}
a.ui.inverted.purple.header.header.header:hover {
  color: #cf40ff;
}
.ui.inverted.purple.dividing.header {
  border-bottom: 2px solid #dc73ff;
}
.ui.pink.header {
  color: #e03997;
}
a.ui.pink.header:hover {
  color: #e61a8d;
}
.ui.pink.dividing.header {
  border-bottom: 2px solid #e03997;
}
.ui.inverted.pink.header.header.header {
  color: #ff8edf;
}
a.ui.inverted.pink.header.header.header:hover {
  color: #ff5bd1;
}
.ui.inverted.pink.dividing.header {
  border-bottom: 2px solid #ff8edf;
}
.ui.brown.header {
  color: #a5673f;
}
a.ui.brown.header:hover {
  color: #975b33;
}
.ui.brown.dividing.header {
  border-bottom: 2px solid #a5673f;
}
.ui.inverted.brown.header.header.header {
  color: #d67c1c;
}
a.ui.inverted.brown.header.header.header:hover {
  color: #b0620f;
}
.ui.inverted.brown.dividing.header {
  border-bottom: 2px solid #d67c1c;
}
.ui.grey.header {
  color: #767676;
}
a.ui.grey.header:hover {
  color: #838383;
}
.ui.grey.dividing.header {
  border-bottom: 2px solid #767676;
}
.ui.inverted.grey.header.header.header {
  color: #dcddde;
}
a.ui.inverted.grey.header.header.header:hover {
  color: #c2c4c5;
}
.ui.inverted.grey.dividing.header {
  border-bottom: 2px solid #dcddde;
}
.ui.black.header {
  color: #1b1c1d;
}
a.ui.black.header:hover {
  color: #27292a;
}
.ui.black.dividing.header {
  border-bottom: 2px solid #1b1c1d;
}
.ui.inverted.black.header.header.header {
  color: #545454;
}
a.ui.inverted.black.header.header.header:hover {
  color: #000000;
}
.ui.inverted.black.dividing.header {
  border-bottom: 2px solid #545454;
}
/* -------------------
           Aligned
    -------------------- */
.ui.left.aligned.header {
  text-align: left;
}
.ui.right.aligned.header {
  text-align: right;
}
.ui.centered.header,
.ui.center.aligned.header {
  text-align: center;
}
.ui.justified.header {
  text-align: justify;
}
.ui.justified.header::after {
  display: inline-block;
  content: "";
  width: 100%;
}
/* -------------------
           Floated
    -------------------- */
.ui.floated.header,
.ui[class*="left floated"].header {
  float: left;
  margin-top: 0;
  margin-right: 0.5em;
}
.ui[class*="right floated"].header {
  float: right;
  margin-top: 0;
  margin-left: 0.5em;
}
/* -------------------
           Fitted
    -------------------- */
.ui.fitted.header {
  padding: 0;
}
/* -------------------
          Dividing
    -------------------- */
.ui.dividing.header {
  padding-bottom: 0.21428571rem;
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.dividing.header .sub.header {
  padding-bottom: 0.21428571rem;
}
.ui.dividing.header i.icon {
  margin-bottom: 0;
}
.ui.inverted.dividing.header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
/* -------------------
            Block
    -------------------- */
.ui.block.header {
  background: #f3f4f5;
  padding: 0.78571429rem 1rem;
  box-shadow: none;
  border: 1px solid #d4d4d5;
  border-radius: 0.28571429rem;
}
.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1rem;
}
.ui.mini.block.header {
  font-size: 0.78571429rem;
}
.ui.tiny.block.header {
  font-size: 0.85714286rem;
}
.ui.small.block.header {
  font-size: 0.92857143rem;
}
.ui.large.block.header {
  font-size: 1.14285714rem;
}
.ui.big.block.header {
  font-size: 1.28571429rem;
}
.ui.huge.block.header {
  font-size: 1.42857143rem;
}
.ui.massive.block.header {
  font-size: 1.71428571rem;
}
/* -------------------
           Attached
    -------------------- */
.ui.attached.header {
  background: #FFFFFF;
  padding: 0.78571429rem 1rem;
  margin: 0 -1px;
  box-shadow: none;
  border: 1px solid #d4d4d5;
  border-radius: 0;
}
.ui.attached.block.header {
  background: #f3f4f5;
}
.ui.attached:not(.top).header {
  border-top: none;
}
.ui.top.attached.header {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.bottom.attached.header {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.seamless.attached:not(.bottom).header {
  border-bottom: none;
}
/* Attached Sizes */
.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1em;
}
.ui.mini.attached.header {
  font-size: 0.78571429em;
}
.ui.tiny.attached.header {
  font-size: 0.85714286em;
}
.ui.small.attached.header {
  font-size: 0.92857143em;
}
.ui.large.attached.header {
  font-size: 1.14285714em;
}
.ui.big.attached.header {
  font-size: 1.28571429em;
}
.ui.huge.attached.header {
  font-size: 1.42857143em;
}
.ui.massive.attached.header {
  font-size: 1.71428571em;
}
/* -------------------
        Sizing
-------------------- */
.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-size: 1.28571429em;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Icon
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*
* Font Awesome 5.15.4 by @fontawesome [https://fontawesome.com]
* License - https://fontawesome.com/license (Icons: CC BY 4.0 License, Fonts: SIL OFL 1.1 License, CSS: MIT License)
*/
/*******************************

Fomantic-UI integration of FontAwesome:

// class names are separated
i.icon.angle-left  =>  i.icon.angle.left

// variations are extracted
i.icon.circle      =>  i.icon.circle
i.icon.circle-o    =>  i.icon.circle.outline

// abbreviation are replaced by full words
i.icon.*-h         =>  i.icon.*.horizontal
i.icon.*-v         =>  i.icon.*.vertical
i.icon.alpha       =>  i.icon.alphabet
i.icon.asc         =>  i.icon.ascending
i.icon.desc        =>  i.icon.descending
i.icon.alt         =>  i.icon.alternate

Icons are order A-Z in their group, Solid, Outline, Thin (Pro only) and Brand

*******************************/
/*******************************
             Icon
*******************************/
/* --------------
   Font Files
--------------- */
/* Solid Icons */
/* Deprecated (In/Out Naming Conflict) */
/* Icons */
/* --------------
   Definition
--------------- */
/* Icon Variables */
/* Variations */
/* Duotone specifics */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Icon
*******************************/
@font-face {
  font-family: "icons";
  src: url(/build/fonts/icons.1551f4f6.woff2) format("woff2") , url(/build/fonts/icons.eeccf4f6.woff) format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: block;
  font-variant: normal;
  text-decoration: inherit;
  text-transform: none;
}
@font-face {
  font-family: "outline-icons";
  src: url(/build/fonts/outline-icons.7a333762.woff2) format("woff2") , url(/build/fonts/outline-icons.bb58e57c.woff) format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: block;
  font-variant: normal;
  text-decoration: inherit;
  text-transform: none;
}
@font-face {
  font-family: "brand-icons";
  src: url(/build/fonts/brand-icons.d878b0a6.woff2) format("woff2") , url(/build/fonts/brand-icons.2285773e.woff) format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: block;
  font-variant: normal;
  text-decoration: inherit;
  text-transform: none;
}
i.icon {
  display: inline-block;
  opacity: 1;
  margin: 0 0.25rem 0 0;
  width: 1.18em;
  height: 1em;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  backface-visibility: hidden;
}
i.icon::before {
  background: none;
}
/*******************************
             Types
*******************************/
/* --------------
        Loading
    --------------- */
i.loading.icon {
  height: 1em;
  line-height: 1;
}
i.loading.icon,
i.loading.icons {
  animation: loader 2s linear infinite;
}
/*******************************
             States
*******************************/
i.icon:hover,
i.icons:hover,
i.icon:active,
i.icons:active,
i.emphasized.icon:not(.disabled),
i.emphasized.icons:not(.disabled) {
  opacity: 1;
}
i.disabled.icon,
i.disabled.icons {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}
/*******************************
           Variations
*******************************/
/* -------------------
            Fitted
    -------------------- */
i.fitted.icons,
i.fitted.icon {
  width: auto;
  margin: 0 !important;
}
/* -------------------
             Link
    -------------------- */
i.link.icon:not(.disabled),
i.link.icons:not(.disabled) {
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.1s ease;
}
i.link.icon:hover,
i.link.icons:hover {
  opacity: 1;
}
/* -------------------
          Circular
    -------------------- */
i.circular.icon {
  border-radius: 500em !important;
  line-height: 1 !important;
  padding: 0.5em 0 !important;
  box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
  width: 2em !important;
  height: 2em !important;
}
i.circular.icon.colored {
  box-shadow: 0 0 0 0.1em currentColor inset;
}
i.circular.inverted.icon {
  border: none;
  box-shadow: none;
}
/* -------------------
          Flipped
    -------------------- */
i.flipped.icon,
i.horizontally.flipped.icon {
  transform: scale(-1, 1);
}
i.vertically.flipped.icon {
  transform: scale(1, -1);
}
.icons i.flipped.icon:not(.corner):not(:first-child),
.icons i.horizontally.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1);
}
.icons i.vertically.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(1, -1);
}
/* -------------------
          Rotated
    -------------------- */
i.rotated.icon,
i.right.rotated.icon,
i.clockwise.rotated.icon {
  transform: rotate(90deg);
}
i.left.rotated.icon,
i.counterclockwise.rotated.icon {
  transform: rotate(-90deg);
}
i.halfway.rotated.icon {
  transform: rotate(180deg);
}
.icons i.rotated.rotated.icon:not(.corner):not(:first-child),
.icons i.right.rotated.icon:not(.corner):not(:first-child),
.icons i.clockwise.rotated.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
}
.icons i.left.rotated.icon:not(.corner):not(:first-child),
.icons i.counterclockwise.rotated.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
.icons i.halfway.rotated.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}
/* --------------------------
          Flipped & Rotated
    --------------------------- */
i.rotated.flipped.icon,
i.right.rotated.flipped.icon,
i.clockwise.rotated.flipped.icon {
  transform: scale(-1, 1) rotate(90deg);
}
i.left.rotated.flipped.icon,
i.counterclockwise.rotated.flipped.icon {
  transform: scale(-1, 1) rotate(-90deg);
}
i.halfway.rotated.flipped.icon {
  transform: scale(-1, 1) rotate(180deg);
}
i.rotated.vertically.flipped.icon,
i.right.rotated.vertically.flipped.icon,
i.clockwise.rotated.vertically.flipped.icon {
  transform: scale(1, -1) rotate(90deg);
}
i.left.rotated.vertically.flipped.icon,
i.counterclockwise.rotated.vertically.flipped.icon {
  transform: scale(1, -1) rotate(-90deg);
}
i.halfway.rotated.vertically.flipped.icon {
  transform: scale(1, -1) rotate(180deg);
}
.icons i.rotated.flipped.icon:not(.corner):not(:first-child),
.icons i.right.rotated.flipped.icon:not(.corner):not(:first-child),
.icons i.clockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(90deg);
}
.icons i.left.rotated.flipped.icon:not(.corner):not(:first-child),
.icons i.counterclockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(-90deg);
}
.icons i.halfway.rotated.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(180deg);
}
.icons i.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
.icons i.right.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
.icons i.clockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(90deg);
}
.icons i.left.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
.icons i.counterclockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(-90deg);
}
.icons i.halfway.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(180deg);
}
/* -------------------
          Bordered
    -------------------- */
i.bordered.icon {
  line-height: 1;
  vertical-align: baseline;
  width: 2em;
  height: 2em;
  padding: 0.5em 0 !important;
  box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
}
i.bordered.icon.colored {
  box-shadow: 0 0 0 0.1em currentColor inset;
}
i.bordered.inverted.icon {
  border: none;
  box-shadow: none;
}
/* -------------------
          Inverted
    -------------------- */
/* Inverted Shapes */
i.inverted.bordered.icon,
i.inverted.circular.icon {
  background-color: #1b1c1d;
  color: #FFFFFF;
}
i.inverted.icon {
  color: #FFFFFF;
}
/* -------------------
       Colors
-------------------- */
i.primary.icon.icon.icon.icon.icon.icon {
  color: #6C3667;
}
i.inverted.primary.icon.icon.icon.icon.icon.icon {
  color: #54c8ff;
}
i.inverted.bordered.primary.icon.icon.icon.icon.icon.icon,
i.inverted.circular.primary.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.primary.icons,
i.inverted.circular.primary.icons {
  background-color: #6C3667;
  color: #FFFFFF;
}
i.secondary.icon.icon.icon.icon.icon.icon {
  color: #88d317;
}
i.inverted.secondary.icon.icon.icon.icon.icon.icon {
  color: #545454;
}
i.inverted.bordered.secondary.icon.icon.icon.icon.icon.icon,
i.inverted.circular.secondary.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.secondary.icons,
i.inverted.circular.secondary.icons {
  background-color: #88d317;
  color: #FFFFFF;
}
i.red.icon.icon.icon.icon.icon.icon {
  color: #db2828;
}
i.inverted.red.icon.icon.icon.icon.icon.icon {
  color: #ff695e;
}
i.inverted.bordered.red.icon.icon.icon.icon.icon.icon,
i.inverted.circular.red.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.red.icons,
i.inverted.circular.red.icons {
  background-color: #db2828;
  color: #FFFFFF;
}
i.orange.icon.icon.icon.icon.icon.icon {
  color: #f2711c;
}
i.inverted.orange.icon.icon.icon.icon.icon.icon {
  color: #ff851b;
}
i.inverted.bordered.orange.icon.icon.icon.icon.icon.icon,
i.inverted.circular.orange.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.orange.icons,
i.inverted.circular.orange.icons {
  background-color: #f2711c;
  color: #FFFFFF;
}
i.yellow.icon.icon.icon.icon.icon.icon {
  color: #fbbd08;
}
i.inverted.yellow.icon.icon.icon.icon.icon.icon {
  color: #ffe21f;
}
i.inverted.bordered.yellow.icon.icon.icon.icon.icon.icon,
i.inverted.circular.yellow.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.yellow.icons,
i.inverted.circular.yellow.icons {
  background-color: #fbbd08;
  color: #FFFFFF;
}
i.olive.icon.icon.icon.icon.icon.icon {
  color: #b5cc18;
}
i.inverted.olive.icon.icon.icon.icon.icon.icon {
  color: #d9e778;
}
i.inverted.bordered.olive.icon.icon.icon.icon.icon.icon,
i.inverted.circular.olive.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.olive.icons,
i.inverted.circular.olive.icons {
  background-color: #b5cc18;
  color: #FFFFFF;
}
i.green.icon.icon.icon.icon.icon.icon {
  color: #21ba45;
}
i.inverted.green.icon.icon.icon.icon.icon.icon {
  color: #2ecc40;
}
i.inverted.bordered.green.icon.icon.icon.icon.icon.icon,
i.inverted.circular.green.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.green.icons,
i.inverted.circular.green.icons {
  background-color: #21ba45;
  color: #FFFFFF;
}
i.teal.icon.icon.icon.icon.icon.icon {
  color: #00b5ad;
}
i.inverted.teal.icon.icon.icon.icon.icon.icon {
  color: #6dffff;
}
i.inverted.bordered.teal.icon.icon.icon.icon.icon.icon,
i.inverted.circular.teal.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.teal.icons,
i.inverted.circular.teal.icons {
  background-color: #00b5ad;
  color: #FFFFFF;
}
i.blue.icon.icon.icon.icon.icon.icon {
  color: #2185d0;
}
i.inverted.blue.icon.icon.icon.icon.icon.icon {
  color: #54c8ff;
}
i.inverted.bordered.blue.icon.icon.icon.icon.icon.icon,
i.inverted.circular.blue.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.blue.icons,
i.inverted.circular.blue.icons {
  background-color: #2185d0;
  color: #FFFFFF;
}
i.violet.icon.icon.icon.icon.icon.icon {
  color: #6435c9;
}
i.inverted.violet.icon.icon.icon.icon.icon.icon {
  color: #a291fb;
}
i.inverted.bordered.violet.icon.icon.icon.icon.icon.icon,
i.inverted.circular.violet.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.violet.icons,
i.inverted.circular.violet.icons {
  background-color: #6435c9;
  color: #FFFFFF;
}
i.purple.icon.icon.icon.icon.icon.icon {
  color: #a333c8;
}
i.inverted.purple.icon.icon.icon.icon.icon.icon {
  color: #dc73ff;
}
i.inverted.bordered.purple.icon.icon.icon.icon.icon.icon,
i.inverted.circular.purple.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.purple.icons,
i.inverted.circular.purple.icons {
  background-color: #a333c8;
  color: #FFFFFF;
}
i.pink.icon.icon.icon.icon.icon.icon {
  color: #e03997;
}
i.inverted.pink.icon.icon.icon.icon.icon.icon {
  color: #ff8edf;
}
i.inverted.bordered.pink.icon.icon.icon.icon.icon.icon,
i.inverted.circular.pink.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.pink.icons,
i.inverted.circular.pink.icons {
  background-color: #e03997;
  color: #FFFFFF;
}
i.brown.icon.icon.icon.icon.icon.icon {
  color: #a5673f;
}
i.inverted.brown.icon.icon.icon.icon.icon.icon {
  color: #d67c1c;
}
i.inverted.bordered.brown.icon.icon.icon.icon.icon.icon,
i.inverted.circular.brown.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.brown.icons,
i.inverted.circular.brown.icons {
  background-color: #a5673f;
  color: #FFFFFF;
}
i.grey.icon.icon.icon.icon.icon.icon {
  color: #767676;
}
i.inverted.grey.icon.icon.icon.icon.icon.icon {
  color: #dcddde;
}
i.inverted.bordered.grey.icon.icon.icon.icon.icon.icon,
i.inverted.circular.grey.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.grey.icons,
i.inverted.circular.grey.icons {
  background-color: #767676;
  color: #FFFFFF;
}
i.black.icon.icon.icon.icon.icon.icon {
  color: #1b1c1d;
}
i.inverted.black.icon.icon.icon.icon.icon.icon {
  color: #545454;
}
i.inverted.bordered.black.icon.icon.icon.icon.icon.icon,
i.inverted.circular.black.icon.icon.icon.icon.icon.icon,
i.inverted.bordered.black.icons,
i.inverted.circular.black.icons {
  background-color: #1b1c1d;
  color: #FFFFFF;
}
/* -------------------
        Sizes
-------------------- */
i.icon,
i.icons {
  font-size: 1em;
  line-height: 1;
  font-style: normal;
}
i.mini.mini.mini.icon,
i.mini.mini.mini.icons {
  font-size: 0.4em;
  vertical-align: middle;
}
i.tiny.tiny.tiny.icon,
i.tiny.tiny.tiny.icons {
  font-size: 0.5em;
  vertical-align: middle;
}
i.small.small.small.icon,
i.small.small.small.icons {
  font-size: 0.75em;
  vertical-align: middle;
}
i.large.large.large.icon,
i.large.large.large.icons {
  font-size: 1.5em;
  vertical-align: middle;
}
i.big.big.big.icon,
i.big.big.big.icons {
  font-size: 2em;
  vertical-align: middle;
}
i.huge.huge.huge.icon,
i.huge.huge.huge.icons {
  font-size: 4em;
  vertical-align: middle;
}
i.massive.massive.massive.icon,
i.massive.massive.massive.icons {
  font-size: 8em;
  vertical-align: middle;
}
/*******************************
                Groups
    *******************************/
i.icons {
  display: inline-block;
  position: relative;
  line-height: 1;
  min-width: 1.18em;
  min-height: 1em;
  margin: 0 0.25rem 0 0;
  text-align: center;
}
i.icons .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
}
i.icons .icon:not(.corner):not(.rotated):not(.flipped) {
  transform: translateX(-50%) translateY(-50%);
}
i.icons .icon:first-child {
  position: static;
  width: auto;
  height: auto;
  vertical-align: top;
}
i.icons:not(.bordered):not(.circular) .icon:first-child:not(.rotated):not(.flipped) {
  transform: none;
}
/* Corner Icon */
i.icons .corner.icon {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  font-size: 0.45em;
  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;
}
i.icons .corner.icon:not(.rotated):not(.flipped) {
  transform: none;
}
i.icons .icon.corner[class*="top right"] {
  top: 0;
  left: auto;
  right: 0;
  bottom: auto;
}
i.icons .icon.corner[class*="top left"] {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
}
i.icons .icon.corner[class*="bottom left"] {
  top: auto;
  left: 0;
  right: auto;
  bottom: 0;
}
i.icons .icon.corner[class*="bottom right"] {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
}
i.icons .inverted.corner.icon {
  text-shadow: -1px -1px 0 #1b1c1d, 1px -1px 0 #1b1c1d, -1px 1px 0 #1b1c1d, 1px 1px 0 #1b1c1d;
}
/*************************************************
       Bordered/circular with corner or group icons
    *************************************************/
i.bordered.icons,
i.circular.icons {
  width: 2em;
  height: 2em;
  box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
  vertical-align: middle;
}
i.bordered.icons.colored,
i.circular.icons.colored {
  box-shadow: 0 0 0 0.1em currentColor inset;
}
i.circular.icons {
  border-radius: 500em;
}
i.bordered.icons i.icon:first-child,
i.circular.icons i.icon:first-child {
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
}
/* Inverted Icon */
i.bordered.inverted.icons,
i.circular.inverted.icons {
  border: none;
  box-shadow: none;
  background-color: #1b1c1d;
  color: #FFFFFF;
}
/* Corner Icon */
i.bordered.icons .icon.corner,
i.circular.icons .icon.corner,
i.bordered.icons .icon.corner[class*="bottom right"],
i.circular.icons .icon.corner[class*="bottom right"] {
  top: auto;
  left: auto;
  right: 1.15em;
  bottom: 1.15em;
}
i.bordered.icons .icon.corner[class*="top right"],
i.circular.icons .icon.corner[class*="top right"] {
  top: 1.15em;
  left: auto;
  right: 1.15em;
  bottom: auto;
}
i.bordered.icons .icon.corner[class*="top left"],
i.circular.icons .icon.corner[class*="top left"] {
  top: 1.15em;
  left: 1.15em;
  right: auto;
  bottom: auto;
}
i.bordered.icons .icon.corner[class*="bottom left"],
i.circular.icons .icon.corner[class*="bottom left"] {
  top: auto;
  left: 1.15em;
  right: auto;
  bottom: 1.15em;
}
/* Deprecated *In/Out Naming Conflict) */
i.icon.linkedin.in::before {
  content: "\f0e1";
}
i.icon.zoom.in::before {
  content: "\f00e";
}
i.icon.zoom.out::before {
  content: "\f010";
}
i.icon.sign.in::before {
  content: "\f2f6";
}
i.icon.in.cart::before {
  content: "\f218";
}
i.icon.log.out::before {
  content: "\f2f5";
}
i.icon.sign.out::before {
  content: "\f2f5";
}
i.icon.sign.in.alternate::before {
  content: "\f2f6";
}
i.icon.sign.out.alternate::before {
  content: "\f2f5";
}
/*******************************
            Solid Icons
    *******************************/
/* Icons */
i.icon.ad::before {
  content: "\f641";
}
i.icon.address.book::before {
  content: "\f2b9";
}
i.icon.address.card::before {
  content: "\f2bb";
}
i.icon.adjust::before {
  content: "\f042";
}
i.icon.air.freshener::before {
  content: "\f5d0";
}
i.icon.align.center::before {
  content: "\f037";
}
i.icon.align.justify::before {
  content: "\f039";
}
i.icon.align.left::before {
  content: "\f036";
}
i.icon.align.right::before {
  content: "\f038";
}
i.icon.allergies::before {
  content: "\f461";
}
i.icon.ambulance::before {
  content: "\f0f9";
}
i.icon.american.sign.language.interpreting::before {
  content: "\f2a3";
}
i.icon.anchor::before {
  content: "\f13d";
}
i.icon.angle.double.down::before {
  content: "\f103";
}
i.icon.angle.double.left::before {
  content: "\f100";
}
i.icon.angle.double.right::before {
  content: "\f101";
}
i.icon.angle.double.up::before {
  content: "\f102";
}
i.icon.angle.left::before {
  content: "\f104";
}
i.icon.angle.right::before {
  content: "\f105";
}
i.icon.angle.up::before {
  content: "\f106";
}
i.icon.angle.down::before {
  content: "\f107";
}
i.icon.angry::before {
  content: "\f556";
}
i.icon.ankh::before {
  content: "\f644";
}
i.icon.archive::before {
  content: "\f187";
}
i.icon.archway::before {
  content: "\f557";
}
i.icon.arrow.alternate.circle.down::before {
  content: "\f358";
}
i.icon.arrow.alternate.circle.left::before {
  content: "\f359";
}
i.icon.arrow.alternate.circle.right::before {
  content: "\f35a";
}
i.icon.arrow.alternate.circle.up::before {
  content: "\f35b";
}
i.icon.arrow.circle.down::before {
  content: "\f0ab";
}
i.icon.arrow.circle.left::before {
  content: "\f0a8";
}
i.icon.arrow.circle.right::before {
  content: "\f0a9";
}
i.icon.arrow.circle.up::before {
  content: "\f0aa";
}
i.icon.arrow.down::before {
  content: "\f063";
}
i.icon.arrow.left::before {
  content: "\f060";
}
i.icon.arrow.right::before {
  content: "\f061";
}
i.icon.arrow.up::before {
  content: "\f062";
}
i.icon.arrows.alternate::before {
  content: "\f0b2";
}
i.icon.arrows.alternate.horizontal::before {
  content: "\f337";
}
i.icon.arrows.alternate.vertical::before {
  content: "\f338";
}
i.icon.assistive.listening.systems::before {
  content: "\f2a2";
}
i.icon.asterisk::before {
  content: "\f069";
}
i.icon.at::before {
  content: "\f1fa";
}
i.icon.atlas::before {
  content: "\f558";
}
i.icon.atom::before {
  content: "\f5d2";
}
i.icon.audio.description::before {
  content: "\f29e";
}
i.icon.award::before {
  content: "\f559";
}
i.icon.baby::before {
  content: "\f77c";
}
i.icon.baby.carriage::before {
  content: "\f77d";
}
i.icon.backspace::before {
  content: "\f55a";
}
i.icon.backward::before {
  content: "\f04a";
}
i.icon.bacon::before {
  content: "\f7e5";
}
i.icon.bacteria::before {
  content: "\e059";
}
i.icon.bacterium::before {
  content: "\e05a";
}
i.icon.bahai::before {
  content: "\f666";
}
i.icon.balance.scale::before {
  content: "\f24e";
}
i.icon.balance.scale.left::before {
  content: "\f515";
}
i.icon.balance.scale.right::before {
  content: "\f516";
}
i.icon.ban::before {
  content: "\f05e";
}
i.icon.band.aid::before {
  content: "\f462";
}
i.icon.barcode::before {
  content: "\f02a";
}
i.icon.bars::before {
  content: "\f0c9";
}
i.icon.baseball.ball::before {
  content: "\f433";
}
i.icon.basketball.ball::before {
  content: "\f434";
}
i.icon.bath::before {
  content: "\f2cd";
}
i.icon.battery.empty::before {
  content: "\f244";
}
i.icon.battery.full::before {
  content: "\f240";
}
i.icon.battery.half::before {
  content: "\f242";
}
i.icon.battery.quarter::before {
  content: "\f243";
}
i.icon.battery.three.quarters::before {
  content: "\f241";
}
i.icon.bed::before {
  content: "\f236";
}
i.icon.beer::before {
  content: "\f0fc";
}
i.icon.bell::before {
  content: "\f0f3";
}
i.icon.bell.slash::before {
  content: "\f1f6";
}
i.icon.bezier.curve::before {
  content: "\f55b";
}
i.icon.bible::before {
  content: "\f647";
}
i.icon.bicycle::before {
  content: "\f206";
}
i.icon.biking::before {
  content: "\f84a";
}
i.icon.binoculars::before {
  content: "\f1e5";
}
i.icon.biohazard::before {
  content: "\f780";
}
i.icon.birthday.cake::before {
  content: "\f1fd";
}
i.icon.blender::before {
  content: "\f517";
}
i.icon.blender.phone::before {
  content: "\f6b6";
}
i.icon.blind::before {
  content: "\f29d";
}
i.icon.blog::before {
  content: "\f781";
}
i.icon.bold::before {
  content: "\f032";
}
i.icon.bolt::before {
  content: "\f0e7";
}
i.icon.bomb::before {
  content: "\f1e2";
}
i.icon.bone::before {
  content: "\f5d7";
}
i.icon.bong::before {
  content: "\f55c";
}
i.icon.book::before {
  content: "\f02d";
}
i.icon.book.dead::before {
  content: "\f6b7";
}
i.icon.book.medical::before {
  content: "\f7e6";
}
i.icon.book.open::before {
  content: "\f518";
}
i.icon.book.reader::before {
  content: "\f5da";
}
i.icon.bookmark::before {
  content: "\f02e";
}
i.icon.border.all::before {
  content: "\f84c";
}
i.icon.border.none::before {
  content: "\f850";
}
i.icon.border.style::before {
  content: "\f853";
}
i.icon.bowling.ball::before {
  content: "\f436";
}
i.icon.box::before {
  content: "\f466";
}
i.icon.box.open::before {
  content: "\f49e";
}
i.icon.box.tissue::before {
  content: "\e05b";
}
i.icon.boxes::before {
  content: "\f468";
}
i.icon.braille::before {
  content: "\f2a1";
}
i.icon.brain::before {
  content: "\f5dc";
}
i.icon.bread.slice::before {
  content: "\f7ec";
}
i.icon.briefcase::before {
  content: "\f0b1";
}
i.icon.briefcase.medical::before {
  content: "\f469";
}
i.icon.broadcast.tower::before {
  content: "\f519";
}
i.icon.broom::before {
  content: "\f51a";
}
i.icon.brush::before {
  content: "\f55d";
}
i.icon.bug::before {
  content: "\f188";
}
i.icon.building::before {
  content: "\f1ad";
}
i.icon.bullhorn::before {
  content: "\f0a1";
}
i.icon.bullseye::before {
  content: "\f140";
}
i.icon.burn::before {
  content: "\f46a";
}
i.icon.bus::before {
  content: "\f207";
}
i.icon.bus.alternate::before {
  content: "\f55e";
}
i.icon.business.time::before {
  content: "\f64a";
}
i.icon.calculator::before {
  content: "\f1ec";
}
i.icon.calendar::before {
  content: "\f133";
}
i.icon.calendar.alternate::before {
  content: "\f073";
}
i.icon.calendar.check::before {
  content: "\f274";
}
i.icon.calendar.day::before {
  content: "\f783";
}
i.icon.calendar.minus::before {
  content: "\f272";
}
i.icon.calendar.plus::before {
  content: "\f271";
}
i.icon.calendar.times::before {
  content: "\f273";
}
i.icon.calendar.week::before {
  content: "\f784";
}
i.icon.camera::before {
  content: "\f030";
}
i.icon.camera.retro::before {
  content: "\f083";
}
i.icon.campground::before {
  content: "\f6bb";
}
i.icon.candy.cane::before {
  content: "\f786";
}
i.icon.cannabis::before {
  content: "\f55f";
}
i.icon.capsules::before {
  content: "\f46b";
}
i.icon.car::before {
  content: "\f1b9";
}
i.icon.car.alternate::before {
  content: "\f5de";
}
i.icon.car.battery::before {
  content: "\f5df";
}
i.icon.car.crash::before {
  content: "\f5e1";
}
i.icon.car.side::before {
  content: "\f5e4";
}
i.icon.caravan::before {
  content: "\f8ff";
}
i.icon.caret.down::before {
  content: "\f0d7";
}
i.icon.caret.left::before {
  content: "\f0d9";
}
i.icon.caret.right::before {
  content: "\f0da";
}
i.icon.caret.square.down::before {
  content: "\f150";
}
i.icon.caret.square.left::before {
  content: "\f191";
}
i.icon.caret.square.right::before {
  content: "\f152";
}
i.icon.caret.square.up::before {
  content: "\f151";
}
i.icon.caret.up::before {
  content: "\f0d8";
}
i.icon.carrot::before {
  content: "\f787";
}
i.icon.cart.arrow.down::before {
  content: "\f218";
}
i.icon.cart.plus::before {
  content: "\f217";
}
i.icon.cash.register::before {
  content: "\f788";
}
i.icon.cat::before {
  content: "\f6be";
}
i.icon.certificate::before {
  content: "\f0a3";
}
i.icon.chair::before {
  content: "\f6c0";
}
i.icon.chalkboard::before {
  content: "\f51b";
}
i.icon.chalkboard.teacher::before {
  content: "\f51c";
}
i.icon.charging.station::before {
  content: "\f5e7";
}
i.icon.chart.area::before {
  content: "\f1fe";
}
i.icon.chart.bar::before {
  content: "\f080";
}
i.icon.chart.pie::before {
  content: "\f200";
}
i.icon.chartline::before {
  content: "\f201";
}
i.icon.check::before {
  content: "\f00c";
}
i.icon.check.circle::before {
  content: "\f058";
}
i.icon.check.double::before {
  content: "\f560";
}
i.icon.check.square::before {
  content: "\f14a";
}
i.icon.cheese::before {
  content: "\f7ef";
}
i.icon.chess::before {
  content: "\f439";
}
i.icon.chess.bishop::before {
  content: "\f43a";
}
i.icon.chess.board::before {
  content: "\f43c";
}
i.icon.chess.king::before {
  content: "\f43f";
}
i.icon.chess.knight::before {
  content: "\f441";
}
i.icon.chess.pawn::before {
  content: "\f443";
}
i.icon.chess.queen::before {
  content: "\f445";
}
i.icon.chess.rook::before {
  content: "\f447";
}
i.icon.chevron.circle.down::before {
  content: "\f13a";
}
i.icon.chevron.circle.left::before {
  content: "\f137";
}
i.icon.chevron.circle.right::before {
  content: "\f138";
}
i.icon.chevron.circle.up::before {
  content: "\f139";
}
i.icon.chevron.down::before {
  content: "\f078";
}
i.icon.chevron.left::before {
  content: "\f053";
}
i.icon.chevron.right::before {
  content: "\f054";
}
i.icon.chevron.up::before {
  content: "\f077";
}
i.icon.child::before {
  content: "\f1ae";
}
i.icon.church::before {
  content: "\f51d";
}
i.icon.circle::before {
  content: "\f111";
}
i.icon.circle.notch::before {
  content: "\f1ce";
}
i.icon.city::before {
  content: "\f64f";
}
i.icon.clinic.medical::before {
  content: "\f7f2";
}
i.icon.clipboard::before {
  content: "\f328";
}
i.icon.clipboard.check::before {
  content: "\f46c";
}
i.icon.clipboard.list::before {
  content: "\f46d";
}
i.icon.clock::before {
  content: "\f017";
}
i.icon.clone::before {
  content: "\f24d";
}
i.icon.closed.captioning::before {
  content: "\f20a";
}
i.icon.cloud::before {
  content: "\f0c2";
}
i.icon.cloud.download.alternate::before {
  content: "\f381";
}
i.icon.cloud.meatball::before {
  content: "\f73b";
}
i.icon.cloud.moon::before {
  content: "\f6c3";
}
i.icon.cloud.moon.rain::before {
  content: "\f73c";
}
i.icon.cloud.rain::before {
  content: "\f73d";
}
i.icon.cloud.showers.heavy::before {
  content: "\f740";
}
i.icon.cloud.sun::before {
  content: "\f6c4";
}
i.icon.cloud.sun.rain::before {
  content: "\f743";
}
i.icon.cloud.upload.alternate::before {
  content: "\f382";
}
i.icon.cocktail::before {
  content: "\f561";
}
i.icon.code::before {
  content: "\f121";
}
i.icon.code.branch::before {
  content: "\f126";
}
i.icon.coffee::before {
  content: "\f0f4";
}
i.icon.cog::before {
  content: "\f013";
}
i.icon.cogs::before {
  content: "\f085";
}
i.icon.coins::before {
  content: "\f51e";
}
i.icon.columns::before {
  content: "\f0db";
}
i.icon.comment::before {
  content: "\f075";
}
i.icon.comment.alternate::before {
  content: "\f27a";
}
i.icon.comment.dollar::before {
  content: "\f651";
}
i.icon.comment.dots::before {
  content: "\f4ad";
}
i.icon.comment.medical::before {
  content: "\f7f5";
}
i.icon.comment.slash::before {
  content: "\f4b3";
}
i.icon.comments::before {
  content: "\f086";
}
i.icon.comments.dollar::before {
  content: "\f653";
}
i.icon.compact.disc::before {
  content: "\f51f";
}
i.icon.compass::before {
  content: "\f14e";
}
i.icon.compress::before {
  content: "\f066";
}
i.icon.compress.alternate::before {
  content: "\f422";
}
i.icon.compress.arrows.alternate::before {
  content: "\f78c";
}
i.icon.concierge.bell::before {
  content: "\f562";
}
i.icon.cookie::before {
  content: "\f563";
}
i.icon.cookie.bite::before {
  content: "\f564";
}
i.icon.copy::before {
  content: "\f0c5";
}
i.icon.copyright::before {
  content: "\f1f9";
}
i.icon.couch::before {
  content: "\f4b8";
}
i.icon.credit.card::before {
  content: "\f09d";
}
i.icon.crop::before {
  content: "\f125";
}
i.icon.crop.alternate::before {
  content: "\f565";
}
i.icon.cross::before {
  content: "\f654";
}
i.icon.crosshairs::before {
  content: "\f05b";
}
i.icon.crow::before {
  content: "\f520";
}
i.icon.crown::before {
  content: "\f521";
}
i.icon.crutch::before {
  content: "\f7f7";
}
i.icon.cube::before {
  content: "\f1b2";
}
i.icon.cubes::before {
  content: "\f1b3";
}
i.icon.cut::before {
  content: "\f0c4";
}
i.icon.database::before {
  content: "\f1c0";
}
i.icon.deaf::before {
  content: "\f2a4";
}
i.icon.democrat::before {
  content: "\f747";
}
i.icon.desktop::before {
  content: "\f108";
}
i.icon.dharmachakra::before {
  content: "\f655";
}
i.icon.diagnoses::before {
  content: "\f470";
}
i.icon.dice::before {
  content: "\f522";
}
i.icon.dice.d20::before {
  content: "\f6cf";
}
i.icon.dice.d6::before {
  content: "\f6d1";
}
i.icon.dice.five::before {
  content: "\f523";
}
i.icon.dice.four::before {
  content: "\f524";
}
i.icon.dice.one::before {
  content: "\f525";
}
i.icon.dice.six::before {
  content: "\f526";
}
i.icon.dice.three::before {
  content: "\f527";
}
i.icon.dice.two::before {
  content: "\f528";
}
i.icon.digital.tachograph::before {
  content: "\f566";
}
i.icon.directions::before {
  content: "\f5eb";
}
i.icon.disease::before {
  content: "\f7fa";
}
i.icon.divide::before {
  content: "\f529";
}
i.icon.dizzy::before {
  content: "\f567";
}
i.icon.dna::before {
  content: "\f471";
}
i.icon.dog::before {
  content: "\f6d3";
}
i.icon.dollar.sign::before {
  content: "\f155";
}
i.icon.dolly::before {
  content: "\f472";
}
i.icon.dolly.flatbed::before {
  content: "\f474";
}
i.icon.donate::before {
  content: "\f4b9";
}
i.icon.door.closed::before {
  content: "\f52a";
}
i.icon.door.open::before {
  content: "\f52b";
}
i.icon.dot.circle::before {
  content: "\f192";
}
i.icon.dove::before {
  content: "\f4ba";
}
i.icon.download::before {
  content: "\f019";
}
i.icon.drafting.compass::before {
  content: "\f568";
}
i.icon.dragon::before {
  content: "\f6d5";
}
i.icon.draw.polygon::before {
  content: "\f5ee";
}
i.icon.drum::before {
  content: "\f569";
}
i.icon.drum.steelpan::before {
  content: "\f56a";
}
i.icon.drumstick.bite::before {
  content: "\f6d7";
}
i.icon.dumbbell::before {
  content: "\f44b";
}
i.icon.dumpster::before {
  content: "\f793";
}
i.icon.dumpster.fire::before {
  content: "\f794";
}
i.icon.dungeon::before {
  content: "\f6d9";
}
i.icon.edit::before {
  content: "\f044";
}
i.icon.egg::before {
  content: "\f7fb";
}
i.icon.eject::before {
  content: "\f052";
}
i.icon.ellipsis.horizontal::before {
  content: "\f141";
}
i.icon.ellipsis.vertical::before {
  content: "\f142";
}
i.icon.envelope::before {
  content: "\f0e0";
}
i.icon.envelope.open::before {
  content: "\f2b6";
}
i.icon.envelope.open.text::before {
  content: "\f658";
}
i.icon.envelope.square::before {
  content: "\f199";
}
i.icon.equals::before {
  content: "\f52c";
}
i.icon.eraser::before {
  content: "\f12d";
}
i.icon.ethernet::before {
  content: "\f796";
}
i.icon.euro.sign::before {
  content: "\f153";
}
i.icon.exchange.alternate::before {
  content: "\f362";
}
i.icon.exclamation::before {
  content: "\f12a";
}
i.icon.exclamation.circle::before {
  content: "\f06a";
}
i.icon.exclamation.triangle::before {
  content: "\f071";
}
i.icon.expand::before {
  content: "\f065";
}
i.icon.expand.alternate::before {
  content: "\f424";
}
i.icon.expand.arrows.alternate::before {
  content: "\f31e";
}
i.icon.external.alternate::before {
  content: "\f35d";
}
i.icon.external.link.square.alternate::before {
  content: "\f360";
}
i.icon.eye::before {
  content: "\f06e";
}
i.icon.eye.dropper::before {
  content: "\f1fb";
}
i.icon.eye.slash::before {
  content: "\f070";
}
i.icon.fan::before {
  content: "\f863";
}
i.icon.fast.backward::before {
  content: "\f049";
}
i.icon.fast.forward::before {
  content: "\f050";
}
i.icon.faucet::before {
  content: "\e005";
}
i.icon.fax::before {
  content: "\f1ac";
}
i.icon.feather::before {
  content: "\f52d";
}
i.icon.feather.alternate::before {
  content: "\f56b";
}
i.icon.female::before {
  content: "\f182";
}
i.icon.fighter.jet::before {
  content: "\f0fb";
}
i.icon.file::before {
  content: "\f15b";
}
i.icon.file.alternate::before {
  content: "\f15c";
}
i.icon.file.archive::before {
  content: "\f1c6";
}
i.icon.file.audio::before {
  content: "\f1c7";
}
i.icon.file.code::before {
  content: "\f1c9";
}
i.icon.file.contract::before {
  content: "\f56c";
}
i.icon.file.csv::before {
  content: "\f6dd";
}
i.icon.file.download::before {
  content: "\f56d";
}
i.icon.file.excel::before {
  content: "\f1c3";
}
i.icon.file.export::before {
  content: "\f56e";
}
i.icon.file.image::before {
  content: "\f1c5";
}
i.icon.file.import::before {
  content: "\f56f";
}
i.icon.file.invoice::before {
  content: "\f570";
}
i.icon.file.invoice.dollar::before {
  content: "\f571";
}
i.icon.file.medical::before {
  content: "\f477";
}
i.icon.file.medical.alternate::before {
  content: "\f478";
}
i.icon.file.pdf::before {
  content: "\f1c1";
}
i.icon.file.powerpoint::before {
  content: "\f1c4";
}
i.icon.file.prescription::before {
  content: "\f572";
}
i.icon.file.signature::before {
  content: "\f573";
}
i.icon.file.upload::before {
  content: "\f574";
}
i.icon.file.video::before {
  content: "\f1c8";
}
i.icon.file.word::before {
  content: "\f1c2";
}
i.icon.fill::before {
  content: "\f575";
}
i.icon.fill.drip::before {
  content: "\f576";
}
i.icon.film::before {
  content: "\f008";
}
i.icon.filter::before {
  content: "\f0b0";
}
i.icon.fingerprint::before {
  content: "\f577";
}
i.icon.fire::before {
  content: "\f06d";
}
i.icon.fire.alternate::before {
  content: "\f7e4";
}
i.icon.fire.extinguisher::before {
  content: "\f134";
}
i.icon.first.aid::before {
  content: "\f479";
}
i.icon.fish::before {
  content: "\f578";
}
i.icon.fist.raised::before {
  content: "\f6de";
}
i.icon.flag::before {
  content: "\f024";
}
i.icon.flag.checkered::before {
  content: "\f11e";
}
i.icon.flag.usa::before {
  content: "\f74d";
}
i.icon.flask::before {
  content: "\f0c3";
}
i.icon.flushed::before {
  content: "\f579";
}
i.icon.folder::before {
  content: "\f07b";
}
i.icon.folder.minus::before {
  content: "\f65d";
}
i.icon.folder.open::before {
  content: "\f07c";
}
i.icon.folder.plus::before {
  content: "\f65e";
}
i.icon.font::before {
  content: "\f031";
}
i.icon.football.ball::before {
  content: "\f44e";
}
i.icon.forward::before {
  content: "\f04e";
}
i.icon.frog::before {
  content: "\f52e";
}
i.icon.frown::before {
  content: "\f119";
}
i.icon.frown.open::before {
  content: "\f57a";
}
i.icon.fruit-apple::before {
  content: "\f5d1";
}
i.icon.funnel.dollar::before {
  content: "\f662";
}
i.icon.futbol::before {
  content: "\f1e3";
}
i.icon.gamepad::before {
  content: "\f11b";
}
i.icon.gas.pump::before {
  content: "\f52f";
}
i.icon.gavel::before {
  content: "\f0e3";
}
i.icon.gem::before {
  content: "\f3a5";
}
i.icon.genderless::before {
  content: "\f22d";
}
i.icon.ghost::before {
  content: "\f6e2";
}
i.icon.gift::before {
  content: "\f06b";
}
i.icon.gifts::before {
  content: "\f79c";
}
i.icon.glass.cheers::before {
  content: "\f79f";
}
i.icon.glass.martini::before {
  content: "\f000";
}
i.icon.glass.martini.alternate::before {
  content: "\f57b";
}
i.icon.glass.whiskey::before {
  content: "\f7a0";
}
i.icon.glasses::before {
  content: "\f530";
}
i.icon.globe::before {
  content: "\f0ac";
}
i.icon.globe.africa::before {
  content: "\f57c";
}
i.icon.globe.americas::before {
  content: "\f57d";
}
i.icon.globe.asia::before {
  content: "\f57e";
}
i.icon.globe.europe::before {
  content: "\f7a2";
}
i.icon.golf.ball::before {
  content: "\f450";
}
i.icon.gopuram::before {
  content: "\f664";
}
i.icon.graduation.cap::before {
  content: "\f19d";
}
i.icon.greater.than::before {
  content: "\f531";
}
i.icon.greater.than.equal::before {
  content: "\f532";
}
i.icon.grimace::before {
  content: "\f57f";
}
i.icon.grin::before {
  content: "\f580";
}
i.icon.grin.alternate::before {
  content: "\f581";
}
i.icon.grin.beam::before {
  content: "\f582";
}
i.icon.grin.beam.sweat::before {
  content: "\f583";
}
i.icon.grin.hearts::before {
  content: "\f584";
}
i.icon.grin.squint::before {
  content: "\f585";
}
i.icon.grin.squint.tears::before {
  content: "\f586";
}
i.icon.grin.stars::before {
  content: "\f587";
}
i.icon.grin.tears::before {
  content: "\f588";
}
i.icon.grin.tongue::before {
  content: "\f589";
}
i.icon.grin.tongue.squint::before {
  content: "\f58a";
}
i.icon.grin.tongue.wink::before {
  content: "\f58b";
}
i.icon.grin.wink::before {
  content: "\f58c";
}
i.icon.grip.horizontal::before {
  content: "\f58d";
}
i.icon.grip.lines::before {
  content: "\f7a4";
}
i.icon.grip.lines.vertical::before {
  content: "\f7a5";
}
i.icon.grip.vertical::before {
  content: "\f58e";
}
i.icon.guitar::before {
  content: "\f7a6";
}
i.icon.h.square::before {
  content: "\f0fd";
}
i.icon.hamburger::before {
  content: "\f805";
}
i.icon.hammer::before {
  content: "\f6e3";
}
i.icon.hamsa::before {
  content: "\f665";
}
i.icon.hand.holding::before {
  content: "\f4bd";
}
i.icon.hand.holding.heart::before {
  content: "\f4be";
}
i.icon.hand.holding.medical::before {
  content: "\e05c";
}
i.icon.hand.holding.usd::before {
  content: "\f4c0";
}
i.icon.hand.holding.water::before {
  content: "\f4c1";
}
i.icon.hand.lizard::before {
  content: "\f258";
}
i.icon.hand.middle.finger::before {
  content: "\f806";
}
i.icon.hand.paper::before {
  content: "\f256";
}
i.icon.hand.peace::before {
  content: "\f25b";
}
i.icon.hand.point.down::before {
  content: "\f0a7";
}
i.icon.hand.point.left::before {
  content: "\f0a5";
}
i.icon.hand.point.right::before {
  content: "\f0a4";
}
i.icon.hand.point.up::before {
  content: "\f0a6";
}
i.icon.hand.pointer::before {
  content: "\f25a";
}
i.icon.hand.rock::before {
  content: "\f255";
}
i.icon.hand.scissors::before {
  content: "\f257";
}
i.icon.hand.sparkles::before {
  content: "\e05d";
}
i.icon.hand.spock::before {
  content: "\f259";
}
i.icon.hands::before {
  content: "\f4c2";
}
i.icon.hands.helping::before {
  content: "\f4c4";
}
i.icon.hands.wash::before {
  content: "\e05e";
}
i.icon.handshake::before {
  content: "\f2b5";
}
i.icon.handshake.alternate.slash::before {
  content: "\e05f";
}
i.icon.handshake.slash::before {
  content: "\e060";
}
i.icon.hanukiah::before {
  content: "\f6e6";
}
i.icon.hard.hat::before {
  content: "\f807";
}
i.icon.hashtag::before {
  content: "\f292";
}
i.icon.hat.cowboy::before {
  content: "\f8c0";
}
i.icon.hat.cowboy.side::before {
  content: "\f8c1";
}
i.icon.hat.wizard::before {
  content: "\f6e8";
}
i.icon.hdd::before {
  content: "\f0a0";
}
i.icon.head.side.cough::before {
  content: "\e061";
}
i.icon.head.side.cough.slash::before {
  content: "\e062";
}
i.icon.head.side.mask::before {
  content: "\e063";
}
i.icon.head.side.virus::before {
  content: "\e064";
}
i.icon.heading::before {
  content: "\f1dc";
}
i.icon.headphones::before {
  content: "\f025";
}
i.icon.headphones.alternate::before {
  content: "\f58f";
}
i.icon.headset::before {
  content: "\f590";
}
i.icon.heart::before {
  content: "\f004";
}
i.icon.heart.broken::before {
  content: "\f7a9";
}
i.icon.heartbeat::before {
  content: "\f21e";
}
i.icon.helicopter::before {
  content: "\f533";
}
i.icon.highlighter::before {
  content: "\f591";
}
i.icon.hiking::before {
  content: "\f6ec";
}
i.icon.hippo::before {
  content: "\f6ed";
}
i.icon.history::before {
  content: "\f1da";
}
i.icon.hockey.puck::before {
  content: "\f453";
}
i.icon.holly.berry::before {
  content: "\f7aa";
}
i.icon.home::before {
  content: "\f015";
}
i.icon.horse::before {
  content: "\f6f0";
}
i.icon.horse.head::before {
  content: "\f7ab";
}
i.icon.hospital::before {
  content: "\f0f8";
}
i.icon.hospital.alternate::before {
  content: "\f47d";
}
i.icon.hospital.symbol::before {
  content: "\f47e";
}
i.icon.hospital.user::before {
  content: "\f80d";
}
i.icon.hot.tub::before {
  content: "\f593";
}
i.icon.hotdog::before {
  content: "\f80f";
}
i.icon.hotel::before {
  content: "\f594";
}
i.icon.hourglass::before {
  content: "\f254";
}
i.icon.hourglass.end::before {
  content: "\f253";
}
i.icon.hourglass.half::before {
  content: "\f252";
}
i.icon.hourglass.start::before {
  content: "\f251";
}
i.icon.house.damage::before {
  content: "\f6f1";
}
i.icon.house.user::before {
  content: "\e065";
}
i.icon.hryvnia::before {
  content: "\f6f2";
}
i.icon.i.cursor::before {
  content: "\f246";
}
i.icon.ice.cream::before {
  content: "\f810";
}
i.icon.icicles::before {
  content: "\f7ad";
}
i.icon.icons::before {
  content: "\f86d";
}
i.icon.id.badge::before {
  content: "\f2c1";
}
i.icon.id.card::before {
  content: "\f2c2";
}
i.icon.id.card.alternate::before {
  content: "\f47f";
}
i.icon.igloo::before {
  content: "\f7ae";
}
i.icon.image::before {
  content: "\f03e";
}
i.icon.images::before {
  content: "\f302";
}
i.icon.inbox::before {
  content: "\f01c";
}
i.icon.indent::before {
  content: "\f03c";
}
i.icon.industry::before {
  content: "\f275";
}
i.icon.infinity::before {
  content: "\f534";
}
i.icon.info::before {
  content: "\f129";
}
i.icon.info.circle::before {
  content: "\f05a";
}
i.icon.italic::before {
  content: "\f033";
}
i.icon.jedi::before {
  content: "\f669";
}
i.icon.joint::before {
  content: "\f595";
}
i.icon.journal.whills::before {
  content: "\f66a";
}
i.icon.kaaba::before {
  content: "\f66b";
}
i.icon.key::before {
  content: "\f084";
}
i.icon.keyboard::before {
  content: "\f11c";
}
i.icon.khanda::before {
  content: "\f66d";
}
i.icon.kiss::before {
  content: "\f596";
}
i.icon.kiss.beam::before {
  content: "\f597";
}
i.icon.kiss.wink.heart::before {
  content: "\f598";
}
i.icon.kiwi.bird::before {
  content: "\f535";
}
i.icon.landmark::before {
  content: "\f66f";
}
i.icon.language::before {
  content: "\f1ab";
}
i.icon.laptop::before {
  content: "\f109";
}
i.icon.laptop.code::before {
  content: "\f5fc";
}
i.icon.laptop.house::before {
  content: "\e066";
}
i.icon.laptop.medical::before {
  content: "\f812";
}
i.icon.laugh::before {
  content: "\f599";
}
i.icon.laugh.beam::before {
  content: "\f59a";
}
i.icon.laugh.squint::before {
  content: "\f59b";
}
i.icon.laugh.wink::before {
  content: "\f59c";
}
i.icon.layer.group::before {
  content: "\f5fd";
}
i.icon.leaf::before {
  content: "\f06c";
}
i.icon.lemon::before {
  content: "\f094";
}
i.icon.less.than::before {
  content: "\f536";
}
i.icon.less.than.equal::before {
  content: "\f537";
}
i.icon.level.down.alternate::before {
  content: "\f3be";
}
i.icon.level.up.alternate::before {
  content: "\f3bf";
}
i.icon.life.ring::before {
  content: "\f1cd";
}
i.icon.lightbulb::before {
  content: "\f0eb";
}
i.icon.linkify::before {
  content: "\f0c1";
}
i.icon.lira.sign::before {
  content: "\f195";
}
i.icon.list::before {
  content: "\f03a";
}
i.icon.list.alternate::before {
  content: "\f022";
}
i.icon.list.ol::before {
  content: "\f0cb";
}
i.icon.list.ul::before {
  content: "\f0ca";
}
i.icon.location.arrow::before {
  content: "\f124";
}
i.icon.lock::before {
  content: "\f023";
}
i.icon.lock.open::before {
  content: "\f3c1";
}
i.icon.long.arrow.alternate.down::before {
  content: "\f309";
}
i.icon.long.arrow.alternate.left::before {
  content: "\f30a";
}
i.icon.long.arrow.alternate.right::before {
  content: "\f30b";
}
i.icon.long.arrow.alternate.up::before {
  content: "\f30c";
}
i.icon.low.vision::before {
  content: "\f2a8";
}
i.icon.luggage.cart::before {
  content: "\f59d";
}
i.icon.lungs::before {
  content: "\f604";
}
i.icon.lungs.virus::before {
  content: "\e067";
}
i.icon.magic::before {
  content: "\f0d0";
}
i.icon.magnet::before {
  content: "\f076";
}
i.icon.mail.bulk::before {
  content: "\f674";
}
i.icon.male::before {
  content: "\f183";
}
i.icon.map::before {
  content: "\f279";
}
i.icon.map.marked::before {
  content: "\f59f";
}
i.icon.map.marked.alternate::before {
  content: "\f5a0";
}
i.icon.map.marker::before {
  content: "\f041";
}
i.icon.map.marker.alternate::before {
  content: "\f3c5";
}
i.icon.map.pin::before {
  content: "\f276";
}
i.icon.map.signs::before {
  content: "\f277";
}
i.icon.marker::before {
  content: "\f5a1";
}
i.icon.mars::before {
  content: "\f222";
}
i.icon.mars.double::before {
  content: "\f227";
}
i.icon.mars.stroke::before {
  content: "\f229";
}
i.icon.mars.stroke.horizontal::before {
  content: "\f22b";
}
i.icon.mars.stroke.vertical::before {
  content: "\f22a";
}
i.icon.mask::before {
  content: "\f6fa";
}
i.icon.medal::before {
  content: "\f5a2";
}
i.icon.medkit::before {
  content: "\f0fa";
}
i.icon.meh::before {
  content: "\f11a";
}
i.icon.meh.blank::before {
  content: "\f5a4";
}
i.icon.meh.rolling.eyes::before {
  content: "\f5a5";
}
i.icon.memory::before {
  content: "\f538";
}
i.icon.menorah::before {
  content: "\f676";
}
i.icon.mercury::before {
  content: "\f223";
}
i.icon.meteor::before {
  content: "\f753";
}
i.icon.microchip::before {
  content: "\f2db";
}
i.icon.microphone::before {
  content: "\f130";
}
i.icon.microphone.alternate::before {
  content: "\f3c9";
}
i.icon.microphone.alternate.slash::before {
  content: "\f539";
}
i.icon.microphone.slash::before {
  content: "\f131";
}
i.icon.microscope::before {
  content: "\f610";
}
i.icon.minus::before {
  content: "\f068";
}
i.icon.minus.circle::before {
  content: "\f056";
}
i.icon.minus.square::before {
  content: "\f146";
}
i.icon.mitten::before {
  content: "\f7b5";
}
i.icon.mobile::before {
  content: "\f10b";
}
i.icon.mobile.alternate::before {
  content: "\f3cd";
}
i.icon.money.bill::before {
  content: "\f0d6";
}
i.icon.money.bill.alternate::before {
  content: "\f3d1";
}
i.icon.money.bill.wave::before {
  content: "\f53a";
}
i.icon.money.bill.wave.alternate::before {
  content: "\f53b";
}
i.icon.money.check::before {
  content: "\f53c";
}
i.icon.money.check.alternate::before {
  content: "\f53d";
}
i.icon.monument::before {
  content: "\f5a6";
}
i.icon.moon::before {
  content: "\f186";
}
i.icon.mortar.pestle::before {
  content: "\f5a7";
}
i.icon.mosque::before {
  content: "\f678";
}
i.icon.motorcycle::before {
  content: "\f21c";
}
i.icon.mountain::before {
  content: "\f6fc";
}
i.icon.mouse::before {
  content: "\f8cc";
}
i.icon.mouse.pointer::before {
  content: "\f245";
}
i.icon.mug.hot::before {
  content: "\f7b6";
}
i.icon.music::before {
  content: "\f001";
}
i.icon.network.wired::before {
  content: "\f6ff";
}
i.icon.neuter::before {
  content: "\f22c";
}
i.icon.newspaper::before {
  content: "\f1ea";
}
i.icon.not.equal::before {
  content: "\f53e";
}
i.icon.notes.medical::before {
  content: "\f481";
}
i.icon.object.group::before {
  content: "\f247";
}
i.icon.object.ungroup::before {
  content: "\f248";
}
i.icon.oil.can::before {
  content: "\f613";
}
i.icon.om::before {
  content: "\f679";
}
i.icon.otter::before {
  content: "\f700";
}
i.icon.outdent::before {
  content: "\f03b";
}
i.icon.pager::before {
  content: "\f815";
}
i.icon.paint.brush::before {
  content: "\f1fc";
}
i.icon.paint.roller::before {
  content: "\f5aa";
}
i.icon.palette::before {
  content: "\f53f";
}
i.icon.pallet::before {
  content: "\f482";
}
i.icon.paper.plane::before {
  content: "\f1d8";
}
i.icon.paperclip::before {
  content: "\f0c6";
}
i.icon.parachute.box::before {
  content: "\f4cd";
}
i.icon.paragraph::before {
  content: "\f1dd";
}
i.icon.parking::before {
  content: "\f540";
}
i.icon.passport::before {
  content: "\f5ab";
}
i.icon.pastafarianism::before {
  content: "\f67b";
}
i.icon.paste::before {
  content: "\f0ea";
}
i.icon.pause::before {
  content: "\f04c";
}
i.icon.pause.circle::before {
  content: "\f28b";
}
i.icon.paw::before {
  content: "\f1b0";
}
i.icon.peace::before {
  content: "\f67c";
}
i.icon.pen::before {
  content: "\f304";
}
i.icon.pen.alternate::before {
  content: "\f305";
}
i.icon.pen.fancy::before {
  content: "\f5ac";
}
i.icon.pen.nib::before {
  content: "\f5ad";
}
i.icon.pen.square::before {
  content: "\f14b";
}
i.icon.pencil.alternate::before {
  content: "\f303";
}
i.icon.pencil.ruler::before {
  content: "\f5ae";
}
i.icon.people.arrows::before {
  content: "\e068";
}
i.icon.people.carry::before {
  content: "\f4ce";
}
i.icon.pepper.hot::before {
  content: "\f816";
}
i.icon.percent::before {
  content: "\f295";
}
i.icon.percentage::before {
  content: "\f541";
}
i.icon.person.booth::before {
  content: "\f756";
}
i.icon.phone::before {
  content: "\f095";
}
i.icon.phone.alternate::before {
  content: "\f879";
}
i.icon.phone.slash::before {
  content: "\f3dd";
}
i.icon.phone.square::before {
  content: "\f098";
}
i.icon.phone.square.alternate::before {
  content: "\f87b";
}
i.icon.phone.volume::before {
  content: "\f2a0";
}
i.icon.photo.video::before {
  content: "\f87c";
}
i.icon.piggy.bank::before {
  content: "\f4d3";
}
i.icon.pills::before {
  content: "\f484";
}
i.icon.pizza.slice::before {
  content: "\f818";
}
i.icon.place.of.worship::before {
  content: "\f67f";
}
i.icon.plane::before {
  content: "\f072";
}
i.icon.plane.arrival::before {
  content: "\f5af";
}
i.icon.plane.departure::before {
  content: "\f5b0";
}
i.icon.plane.slash::before {
  content: "\e069";
}
i.icon.play::before {
  content: "\f04b";
}
i.icon.play.circle::before {
  content: "\f144";
}
i.icon.plug::before {
  content: "\f1e6";
}
i.icon.plus::before {
  content: "\f067";
}
i.icon.plus.circle::before {
  content: "\f055";
}
i.icon.plus.square::before {
  content: "\f0fe";
}
i.icon.podcast::before {
  content: "\f2ce";
}
i.icon.poll::before {
  content: "\f681";
}
i.icon.poll.horizontal::before {
  content: "\f682";
}
i.icon.poo::before {
  content: "\f2fe";
}
i.icon.poo.storm::before {
  content: "\f75a";
}
i.icon.poop::before {
  content: "\f619";
}
i.icon.portrait::before {
  content: "\f3e0";
}
i.icon.pound.sign::before {
  content: "\f154";
}
i.icon.power.off::before {
  content: "\f011";
}
i.icon.pray::before {
  content: "\f683";
}
i.icon.praying.hands::before {
  content: "\f684";
}
i.icon.prescription::before {
  content: "\f5b1";
}
i.icon.prescription.bottle::before {
  content: "\f485";
}
i.icon.prescription.bottle.alternate::before {
  content: "\f486";
}
i.icon.print::before {
  content: "\f02f";
}
i.icon.procedures::before {
  content: "\f487";
}
i.icon.project.diagram::before {
  content: "\f542";
}
i.icon.pump.medical::before {
  content: "\e06a";
}
i.icon.pump.soap::before {
  content: "\e06b";
}
i.icon.puzzle.piece::before {
  content: "\f12e";
}
i.icon.qrcode::before {
  content: "\f029";
}
i.icon.question::before {
  content: "\f128";
}
i.icon.question.circle::before {
  content: "\f059";
}
i.icon.quidditch::before {
  content: "\f458";
}
i.icon.quote.left::before {
  content: "\f10d";
}
i.icon.quote.right::before {
  content: "\f10e";
}
i.icon.quran::before {
  content: "\f687";
}
i.icon.radiation::before {
  content: "\f7b9";
}
i.icon.radiation.alternate::before {
  content: "\f7ba";
}
i.icon.rainbow::before {
  content: "\f75b";
}
i.icon.random::before {
  content: "\f074";
}
i.icon.receipt::before {
  content: "\f543";
}
i.icon.record.vinyl::before {
  content: "\f8d9";
}
i.icon.recycle::before {
  content: "\f1b8";
}
i.icon.redo::before {
  content: "\f01e";
}
i.icon.redo.alternate::before {
  content: "\f2f9";
}
i.icon.registered::before {
  content: "\f25d";
}
i.icon.remove.format::before {
  content: "\f87d";
}
i.icon.reply::before {
  content: "\f3e5";
}
i.icon.reply.all::before {
  content: "\f122";
}
i.icon.republican::before {
  content: "\f75e";
}
i.icon.restroom::before {
  content: "\f7bd";
}
i.icon.retweet::before {
  content: "\f079";
}
i.icon.ribbon::before {
  content: "\f4d6";
}
i.icon.ring::before {
  content: "\f70b";
}
i.icon.road::before {
  content: "\f018";
}
i.icon.robot::before {
  content: "\f544";
}
i.icon.rocket::before {
  content: "\f135";
}
i.icon.route::before {
  content: "\f4d7";
}
i.icon.rss::before {
  content: "\f09e";
}
i.icon.rss.square::before {
  content: "\f143";
}
i.icon.ruble.sign::before {
  content: "\f158";
}
i.icon.ruler::before {
  content: "\f545";
}
i.icon.ruler.combined::before {
  content: "\f546";
}
i.icon.ruler.horizontal::before {
  content: "\f547";
}
i.icon.ruler.vertical::before {
  content: "\f548";
}
i.icon.running::before {
  content: "\f70c";
}
i.icon.rupee.sign::before {
  content: "\f156";
}
i.icon.sad.cry::before {
  content: "\f5b3";
}
i.icon.sad.tear::before {
  content: "\f5b4";
}
i.icon.satellite::before {
  content: "\f7bf";
}
i.icon.satellite.dish::before {
  content: "\f7c0";
}
i.icon.save::before {
  content: "\f0c7";
}
i.icon.school::before {
  content: "\f549";
}
i.icon.screwdriver::before {
  content: "\f54a";
}
i.icon.scroll::before {
  content: "\f70e";
}
i.icon.sd.card::before {
  content: "\f7c2";
}
i.icon.search::before {
  content: "\f002";
}
i.icon.search.dollar::before {
  content: "\f688";
}
i.icon.search.location::before {
  content: "\f689";
}
i.icon.search.minus::before {
  content: "\f010";
}
i.icon.search.plus::before {
  content: "\f00e";
}
i.icon.seedling::before {
  content: "\f4d8";
}
i.icon.server::before {
  content: "\f233";
}
i.icon.shapes::before {
  content: "\f61f";
}
i.icon.share::before {
  content: "\f064";
}
i.icon.share.alternate::before {
  content: "\f1e0";
}
i.icon.share.alternate.square::before {
  content: "\f1e1";
}
i.icon.share.square::before {
  content: "\f14d";
}
i.icon.shekel.sign::before {
  content: "\f20b";
}
i.icon.shield.alternate::before {
  content: "\f3ed";
}
i.icon.shield.virus::before {
  content: "\e06c";
}
i.icon.ship::before {
  content: "\f21a";
}
i.icon.shipping.fast::before {
  content: "\f48b";
}
i.icon.shoe.prints::before {
  content: "\f54b";
}
i.icon.shopping.bag::before {
  content: "\f290";
}
i.icon.shopping.basket::before {
  content: "\f291";
}
i.icon.shopping.cart::before {
  content: "\f07a";
}
i.icon.shower::before {
  content: "\f2cc";
}
i.icon.shuttle.van::before {
  content: "\f5b6";
}
i.icon.sign::before {
  content: "\f4d9";
}
i.icon.sign.language::before {
  content: "\f2a7";
}
i.icon.signal::before {
  content: "\f012";
}
i.icon.signature::before {
  content: "\f5b7";
}
i.icon.sim.card::before {
  content: "\f7c4";
}
i.icon.sink::before {
  content: "\e06d";
}
i.icon.sitemap::before {
  content: "\f0e8";
}
i.icon.skating::before {
  content: "\f7c5";
}
i.icon.skiing::before {
  content: "\f7c9";
}
i.icon.skiing.nordic::before {
  content: "\f7ca";
}
i.icon.skull::before {
  content: "\f54c";
}
i.icon.skull.crossbones::before {
  content: "\f714";
}
i.icon.slash::before {
  content: "\f715";
}
i.icon.sleigh::before {
  content: "\f7cc";
}
i.icon.sliders.horizontal::before {
  content: "\f1de";
}
i.icon.smile::before {
  content: "\f118";
}
i.icon.smile.beam::before {
  content: "\f5b8";
}
i.icon.smile.wink::before {
  content: "\f4da";
}
i.icon.smog::before {
  content: "\f75f";
}
i.icon.smoking::before {
  content: "\f48d";
}
i.icon.smoking.ban::before {
  content: "\f54d";
}
i.icon.sms::before {
  content: "\f7cd";
}
i.icon.snowboarding::before {
  content: "\f7ce";
}
i.icon.snowflake::before {
  content: "\f2dc";
}
i.icon.snowman::before {
  content: "\f7d0";
}
i.icon.snowplow::before {
  content: "\f7d2";
}
i.icon.soap::before {
  content: "\e06e";
}
i.icon.socks::before {
  content: "\f696";
}
i.icon.solar.panel::before {
  content: "\f5ba";
}
i.icon.sort::before {
  content: "\f0dc";
}
i.icon.sort.alphabet.down::before {
  content: "\f15d";
}
i.icon.sort.alphabet.down.alternate::before {
  content: "\f881";
}
i.icon.sort.alphabet.up::before {
  content: "\f15e";
}
i.icon.sort.alphabet.up.alternate::before {
  content: "\f882";
}
i.icon.sort.amount.down::before {
  content: "\f160";
}
i.icon.sort.amount.down.alternate::before {
  content: "\f884";
}
i.icon.sort.amount.up::before {
  content: "\f161";
}
i.icon.sort.amount.up.alternate::before {
  content: "\f885";
}
i.icon.sort.down::before {
  content: "\f0dd";
}
i.icon.sort.numeric.down::before {
  content: "\f162";
}
i.icon.sort.numeric.down.alternate::before {
  content: "\f886";
}
i.icon.sort.numeric.up::before {
  content: "\f163";
}
i.icon.sort.numeric.up.alternate::before {
  content: "\f887";
}
i.icon.sort.up::before {
  content: "\f0de";
}
i.icon.spa::before {
  content: "\f5bb";
}
i.icon.space.shuttle::before {
  content: "\f197";
}
i.icon.spell.check::before {
  content: "\f891";
}
i.icon.spider::before {
  content: "\f717";
}
i.icon.spinner::before {
  content: "\f110";
}
i.icon.splotch::before {
  content: "\f5bc";
}
i.icon.spray.can::before {
  content: "\f5bd";
}
i.icon.square::before {
  content: "\f0c8";
}
i.icon.square.full::before {
  content: "\f45c";
}
i.icon.square.root.alternate::before {
  content: "\f698";
}
i.icon.stamp::before {
  content: "\f5bf";
}
i.icon.star::before {
  content: "\f005";
}
i.icon.star.and.crescent::before {
  content: "\f699";
}
i.icon.star.half::before {
  content: "\f089";
}
i.icon.star.half.alternate::before {
  content: "\f5c0";
}
i.icon.star.of.david::before {
  content: "\f69a";
}
i.icon.star.of.life::before {
  content: "\f621";
}
i.icon.step.backward::before {
  content: "\f048";
}
i.icon.step.forward::before {
  content: "\f051";
}
i.icon.stethoscope::before {
  content: "\f0f1";
}
i.icon.sticky.note::before {
  content: "\f249";
}
i.icon.stop::before {
  content: "\f04d";
}
i.icon.stop.circle::before {
  content: "\f28d";
}
i.icon.stopwatch::before {
  content: "\f2f2";
}
i.icon.stopwatch.twenty::before {
  content: "\e06f";
}
i.icon.store::before {
  content: "\f54e";
}
i.icon.store.alternate::before {
  content: "\f54f";
}
i.icon.store.alternate.slash::before {
  content: "\e070";
}
i.icon.store.slash::before {
  content: "\e071";
}
i.icon.stream::before {
  content: "\f550";
}
i.icon.street.view::before {
  content: "\f21d";
}
i.icon.strikethrough::before {
  content: "\f0cc";
}
i.icon.stroopwafel::before {
  content: "\f551";
}
i.icon.subscript::before {
  content: "\f12c";
}
i.icon.subway::before {
  content: "\f239";
}
i.icon.suitcase::before {
  content: "\f0f2";
}
i.icon.suitcase.rolling::before {
  content: "\f5c1";
}
i.icon.sun::before {
  content: "\f185";
}
i.icon.superscript::before {
  content: "\f12b";
}
i.icon.surprise::before {
  content: "\f5c2";
}
i.icon.swatchbook::before {
  content: "\f5c3";
}
i.icon.swimmer::before {
  content: "\f5c4";
}
i.icon.swimming.pool::before {
  content: "\f5c5";
}
i.icon.synagogue::before {
  content: "\f69b";
}
i.icon.sync::before {
  content: "\f021";
}
i.icon.sync.alternate::before {
  content: "\f2f1";
}
i.icon.syringe::before {
  content: "\f48e";
}
i.icon.table::before {
  content: "\f0ce";
}
i.icon.table.tennis::before {
  content: "\f45d";
}
i.icon.tablet::before {
  content: "\f10a";
}
i.icon.tablet.alternate::before {
  content: "\f3fa";
}
i.icon.tablets::before {
  content: "\f490";
}
i.icon.tachometer.alternate::before {
  content: "\f3fd";
}
i.icon.tag::before {
  content: "\f02b";
}
i.icon.tags::before {
  content: "\f02c";
}
i.icon.tape::before {
  content: "\f4db";
}
i.icon.tasks::before {
  content: "\f0ae";
}
i.icon.taxi::before {
  content: "\f1ba";
}
i.icon.teeth::before {
  content: "\f62e";
}
i.icon.teeth.open::before {
  content: "\f62f";
}
i.icon.temperature.high::before {
  content: "\f769";
}
i.icon.temperature.low::before {
  content: "\f76b";
}
i.icon.tenge::before {
  content: "\f7d7";
}
i.icon.terminal::before {
  content: "\f120";
}
i.icon.text.height::before {
  content: "\f034";
}
i.icon.text.width::before {
  content: "\f035";
}
i.icon.th::before {
  content: "\f00a";
}
i.icon.th.large::before {
  content: "\f009";
}
i.icon.th.list::before {
  content: "\f00b";
}
i.icon.theater.masks::before {
  content: "\f630";
}
i.icon.thermometer::before {
  content: "\f491";
}
i.icon.thermometer.empty::before {
  content: "\f2cb";
}
i.icon.thermometer.full::before {
  content: "\f2c7";
}
i.icon.thermometer.half::before {
  content: "\f2c9";
}
i.icon.thermometer.quarter::before {
  content: "\f2ca";
}
i.icon.thermometer.three.quarters::before {
  content: "\f2c8";
}
i.icon.thumbs.down::before {
  content: "\f165";
}
i.icon.thumbs.up::before {
  content: "\f164";
}
i.icon.thumbtack::before {
  content: "\f08d";
}
i.icon.ticket.alternate::before {
  content: "\f3ff";
}
i.icon.times::before {
  content: "\f00d";
}
i.icon.times.circle::before {
  content: "\f057";
}
i.icon.tint::before {
  content: "\f043";
}
i.icon.tint.slash::before {
  content: "\f5c7";
}
i.icon.tired::before {
  content: "\f5c8";
}
i.icon.toggle.off::before {
  content: "\f204";
}
i.icon.toggle.on::before {
  content: "\f205";
}
i.icon.toilet::before {
  content: "\f7d8";
}
i.icon.toilet.paper::before {
  content: "\f71e";
}
i.icon.toilet.paper.slash::before {
  content: "\e072";
}
i.icon.toolbox::before {
  content: "\f552";
}
i.icon.tools::before {
  content: "\f7d9";
}
i.icon.tooth::before {
  content: "\f5c9";
}
i.icon.torah::before {
  content: "\f6a0";
}
i.icon.torii.gate::before {
  content: "\f6a1";
}
i.icon.tractor::before {
  content: "\f722";
}
i.icon.trademark::before {
  content: "\f25c";
}
i.icon.traffic.light::before {
  content: "\f637";
}
i.icon.trailer::before {
  content: "\e041";
}
i.icon.train::before {
  content: "\f238";
}
i.icon.tram::before {
  content: "\f7da";
}
i.icon.transgender::before {
  content: "\f224";
}
i.icon.transgender.alternate::before {
  content: "\f225";
}
i.icon.trash::before {
  content: "\f1f8";
}
i.icon.trash.alternate::before {
  content: "\f2ed";
}
i.icon.trash.restore::before {
  content: "\f829";
}
i.icon.trash.restore.alternate::before {
  content: "\f82a";
}
i.icon.tree::before {
  content: "\f1bb";
}
i.icon.trophy::before {
  content: "\f091";
}
i.icon.truck::before {
  content: "\f0d1";
}
i.icon.truck.monster::before {
  content: "\f63b";
}
i.icon.truck.moving::before {
  content: "\f4df";
}
i.icon.truck.packing::before {
  content: "\f4de";
}
i.icon.truck.pickup::before {
  content: "\f63c";
}
i.icon.tshirt::before {
  content: "\f553";
}
i.icon.tty::before {
  content: "\f1e4";
}
i.icon.tv::before {
  content: "\f26c";
}
i.icon.umbrella::before {
  content: "\f0e9";
}
i.icon.umbrella.beach::before {
  content: "\f5ca";
}
i.icon.underline::before {
  content: "\f0cd";
}
i.icon.undo::before {
  content: "\f0e2";
}
i.icon.undo.alternate::before {
  content: "\f2ea";
}
i.icon.universal.access::before {
  content: "\f29a";
}
i.icon.university::before {
  content: "\f19c";
}
i.icon.unlink::before {
  content: "\f127";
}
i.icon.unlock::before {
  content: "\f09c";
}
i.icon.unlock.alternate::before {
  content: "\f13e";
}
i.icon.upload::before {
  content: "\f093";
}
i.icon.user::before {
  content: "\f007";
}
i.icon.user.alternate::before {
  content: "\f406";
}
i.icon.user.alternate.slash::before {
  content: "\f4fa";
}
i.icon.user.astronaut::before {
  content: "\f4fb";
}
i.icon.user.check::before {
  content: "\f4fc";
}
i.icon.user.circle::before {
  content: "\f2bd";
}
i.icon.user.clock::before {
  content: "\f4fd";
}
i.icon.user.cog::before {
  content: "\f4fe";
}
i.icon.user.edit::before {
  content: "\f4ff";
}
i.icon.user.friends::before {
  content: "\f500";
}
i.icon.user.graduate::before {
  content: "\f501";
}
i.icon.user.injured::before {
  content: "\f728";
}
i.icon.user.lock::before {
  content: "\f502";
}
i.icon.user.md::before {
  content: "\f0f0";
}
i.icon.user.minus::before {
  content: "\f503";
}
i.icon.user.ninja::before {
  content: "\f504";
}
i.icon.user.nurse::before {
  content: "\f82f";
}
i.icon.user.plus::before {
  content: "\f234";
}
i.icon.user.secret::before {
  content: "\f21b";
}
i.icon.user.shield::before {
  content: "\f505";
}
i.icon.user.slash::before {
  content: "\f506";
}
i.icon.user.tag::before {
  content: "\f507";
}
i.icon.user.tie::before {
  content: "\f508";
}
i.icon.user.times::before {
  content: "\f235";
}
i.icon.users::before {
  content: "\f0c0";
}
i.icon.users.cog::before {
  content: "\f509";
}
i.icon.users.slash::before {
  content: "\e073";
}
i.icon.utensil.spoon::before {
  content: "\f2e5";
}
i.icon.utensils::before {
  content: "\f2e7";
}
i.icon.vector.square::before {
  content: "\f5cb";
}
i.icon.venus::before {
  content: "\f221";
}
i.icon.venus.double::before {
  content: "\f226";
}
i.icon.venus.mars::before {
  content: "\f228";
}
i.icon.vest::before {
  content: "\e085";
}
i.icon.vest.patches::before {
  content: "\e086";
}
i.icon.vial::before {
  content: "\f492";
}
i.icon.vials::before {
  content: "\f493";
}
i.icon.video::before {
  content: "\f03d";
}
i.icon.video.slash::before {
  content: "\f4e2";
}
i.icon.vihara::before {
  content: "\f6a7";
}
i.icon.virus::before {
  content: "\e074";
}
i.icon.virus.slash::before {
  content: "\e075";
}
i.icon.viruses::before {
  content: "\e076";
}
i.icon.voicemail::before {
  content: "\f897";
}
i.icon.volleyball.ball::before {
  content: "\f45f";
}
i.icon.volume.down::before {
  content: "\f027";
}
i.icon.volume.mute::before {
  content: "\f6a9";
}
i.icon.volume.off::before {
  content: "\f026";
}
i.icon.volume.up::before {
  content: "\f028";
}
i.icon.vote.yea::before {
  content: "\f772";
}
i.icon.vr.cardboard::before {
  content: "\f729";
}
i.icon.walking::before {
  content: "\f554";
}
i.icon.wallet::before {
  content: "\f555";
}
i.icon.warehouse::before {
  content: "\f494";
}
i.icon.water::before {
  content: "\f773";
}
i.icon.wave.square::before {
  content: "\f83e";
}
i.icon.weight::before {
  content: "\f496";
}
i.icon.weight.hanging::before {
  content: "\f5cd";
}
i.icon.wheelchair::before {
  content: "\f193";
}
i.icon.wifi::before {
  content: "\f1eb";
}
i.icon.wind::before {
  content: "\f72e";
}
i.icon.window.close::before {
  content: "\f410";
}
i.icon.window.maximize::before {
  content: "\f2d0";
}
i.icon.window.minimize::before {
  content: "\f2d1";
}
i.icon.window.restore::before {
  content: "\f2d2";
}
i.icon.wine.bottle::before {
  content: "\f72f";
}
i.icon.wine.glass::before {
  content: "\f4e3";
}
i.icon.wine.glass.alternate::before {
  content: "\f5ce";
}
i.icon.won.sign::before {
  content: "\f159";
}
i.icon.wrench::before {
  content: "\f0ad";
}
i.icon.x.ray::before {
  content: "\f497";
}
i.icon.yen.sign::before {
  content: "\f157";
}
i.icon.yin.yang::before {
  content: "\f6ad";
}
/* Aliases */
i.icon.add::before {
  content: "\f067";
}
i.icon.add.circle::before {
  content: "\f055";
}
i.icon.add.square::before {
  content: "\f0fe";
}
i.icon.add.to.calendar::before {
  content: "\f271";
}
i.icon.add.to.cart::before {
  content: "\f217";
}
i.icon.add.user::before {
  content: "\f234";
}
i.icon.alarm::before {
  content: "\f0f3";
}
i.icon.alarm.mute::before {
  content: "\f1f6";
}
i.icon.ald::before {
  content: "\f2a2";
}
i.icon.als::before {
  content: "\f2a2";
}
i.icon.announcement::before {
  content: "\f0a1";
}
i.icon.area.chart::before {
  content: "\f1fe";
}
i.icon.area.graph::before {
  content: "\f1fe";
}
i.icon.arrow.down.cart::before {
  content: "\f218";
}
i.icon.asexual::before {
  content: "\f22d";
}
i.icon.asl::before {
  content: "\f2a3";
}
i.icon.asl.interpreting::before {
  content: "\f2a3";
}
i.icon.assistive.listening.devices::before {
  content: "\f2a2";
}
i.icon.attach::before {
  content: "\f0c6";
}
i.icon.attention::before {
  content: "\f06a";
}
i.icon.balance::before {
  content: "\f24e";
}
i.icon.bar::before {
  content: "\f0fc";
}
i.icon.bathtub::before {
  content: "\f2cd";
}
i.icon.battery.four::before {
  content: "\f240";
}
i.icon.battery.high::before {
  content: "\f241";
}
i.icon.battery.low::before {
  content: "\f243";
}
i.icon.battery.medium::before {
  content: "\f242";
}
i.icon.battery.one::before {
  content: "\f243";
}
i.icon.battery.three::before {
  content: "\f241";
}
i.icon.battery.two::before {
  content: "\f242";
}
i.icon.battery.zero::before {
  content: "\f244";
}
i.icon.birthday::before {
  content: "\f1fd";
}
i.icon.block.layout::before {
  content: "\f009";
}
i.icon.broken.chain::before {
  content: "\f127";
}
i.icon.browser::before {
  content: "\f022";
}
i.icon.call::before {
  content: "\f095";
}
i.icon.call.square::before {
  content: "\f098";
}
i.icon.cancel::before {
  content: "\f00d";
}
i.icon.cart::before {
  content: "\f07a";
}
i.icon.cc::before {
  content: "\f20a";
}
i.icon.chain::before {
  content: "\f0c1";
}
i.icon.chat::before {
  content: "\f075";
}
i.icon.checked.calendar::before {
  content: "\f274";
}
i.icon.checkmark::before {
  content: "\f00c";
}
i.icon.checkmark.box::before {
  content: "\f14a";
}
i.icon.chess.rock::before {
  content: "\f447";
}
i.icon.circle.notched::before {
  content: "\f1ce";
}
i.icon.circle.thin::before {
  content: "\f111";
}
i.icon.close::before {
  content: "\f00d";
}
i.icon.cloud.download::before {
  content: "\f381";
}
i.icon.cloud.upload::before {
  content: "\f382";
}
i.icon.cny::before {
  content: "\f157";
}
i.icon.cocktail::before {
  content: "\f000";
}
i.icon.commenting::before {
  content: "\f27a";
}
i.icon.compose::before {
  content: "\f303";
}
i.icon.computer::before {
  content: "\f108";
}
i.icon.configure::before {
  content: "\f0ad";
}
i.icon.content::before {
  content: "\f0c9";
}
i.icon.conversation::before {
  content: "\f086";
}
i.icon.credit.card.alternative::before {
  content: "\f09d";
}
i.icon.currency::before {
  content: "\f3d1";
}
i.icon.dashboard::before {
  content: "\f3fd";
}
i.icon.deafness::before {
  content: "\f2a4";
}
i.icon.delete::before {
  content: "\f00d";
}
i.icon.delete.calendar::before {
  content: "\f273";
}
i.icon.detective::before {
  content: "\f21b";
}
i.icon.diamond::before {
  content: "\f3a5";
}
i.icon.discussions::before {
  content: "\f086";
}
i.icon.disk::before {
  content: "\f0a0";
}
i.icon.doctor::before {
  content: "\f0f0";
}
i.icon.dollar::before {
  content: "\f155";
}
i.icon.dont::before {
  content: "\f05e";
}
i.icon.drivers.license::before {
  content: "\f2c2";
}
i.icon.dropdown::before {
  content: "\f0d7";
}
i.icon.emergency::before {
  content: "\f0f9";
}
i.icon.erase::before {
  content: "\f12d";
}
i.icon.eur::before {
  content: "\f153";
}
i.icon.euro::before {
  content: "\f153";
}
i.icon.exchange::before {
  content: "\f362";
}
i.icon.external::before {
  content: "\f35d";
}
i.icon.external.share::before {
  content: "\f14d";
}
i.icon.external.square::before {
  content: "\f360";
}
i.icon.eyedropper::before {
  content: "\f1fb";
}
i.icon.factory::before {
  content: "\f275";
}
i.icon.favorite::before {
  content: "\f005";
}
i.icon.feed::before {
  content: "\f09e";
}
i.icon.female.homosexual::before {
  content: "\f226";
}
i.icon.file.text::before {
  content: "\f15c";
}
i.icon.find::before {
  content: "\f1e5";
}
i.icon.first.aid::before {
  content: "\f0fa";
}
i.icon.food::before {
  content: "\f2e7";
}
i.icon.fork::before {
  content: "\f126";
}
i.icon.game::before {
  content: "\f11b";
}
i.icon.gay::before {
  content: "\f227";
}
i.icon.gbp::before {
  content: "\f154";
}
i.icon.grab::before {
  content: "\f255";
}
i.icon.graduation::before {
  content: "\f19d";
}
i.icon.grid.layout::before {
  content: "\f00a";
}
i.icon.group::before {
  content: "\f0c0";
}
i.icon.h::before {
  content: "\f0fd";
}
i.icon.hamburger::before {
  content: "\f0c9";
}
i.icon.hand.victory::before {
  content: "\f25b";
}
i.icon.handicap::before {
  content: "\f193";
}
i.icon.hard.of.hearing::before {
  content: "\f2a4";
}
i.icon.header::before {
  content: "\f1dc";
}
i.icon.heart.empty::before {
  content: "\f004";
}
i.icon.help::before {
  content: "\f128";
}
i.icon.help.circle::before {
  content: "\f059";
}
i.icon.heterosexual::before {
  content: "\f228";
}
i.icon.hide::before {
  content: "\f070";
}
i.icon.hotel::before {
  content: "\f236";
}
i.icon.hourglass.four::before {
  content: "\f254";
}
i.icon.hourglass.full::before {
  content: "\f254";
}
i.icon.hourglass.one::before {
  content: "\f251";
}
i.icon.hourglass.three::before {
  content: "\f253";
}
i.icon.hourglass.two::before {
  content: "\f252";
}
i.icon.hourglass.zero::before {
  content: "\f253";
}
i.icon.idea::before {
  content: "\f0eb";
}
i.icon.ils::before {
  content: "\f20b";
}
i.icon.inr::before {
  content: "\f156";
}
i.icon.intergender::before {
  content: "\f224";
}
i.icon.intersex::before {
  content: "\f224";
}
i.icon.jpy::before {
  content: "\f157";
}
i.icon.krw::before {
  content: "\f159";
}
i.icon.lab::before {
  content: "\f0c3";
}
i.icon.law::before {
  content: "\f24e";
}
i.icon.legal::before {
  content: "\f0e3";
}
i.icon.lesbian::before {
  content: "\f226";
}
i.icon.level.down::before {
  content: "\f3be";
}
i.icon.level.up::before {
  content: "\f3bf";
}
i.icon.lightning::before {
  content: "\f0e7";
}
i.icon.like::before {
  content: "\f004";
}
i.icon.linegraph::before {
  content: "\f201";
}
i.icon.linkify::before {
  content: "\f0c1";
}
i.icon.lira::before {
  content: "\f195";
}
i.icon.list.layout::before {
  content: "\f00b";
}
i.icon.magnify::before {
  content: "\f00e";
}
i.icon.mail::before {
  content: "\f0e0";
}
i.icon.mail.forward::before {
  content: "\f064";
}
i.icon.mail.square::before {
  content: "\f199";
}
i.icon.male.homosexual::before {
  content: "\f227";
}
i.icon.man::before {
  content: "\f222";
}
i.icon.marker::before {
  content: "\f041";
}
i.icon.mars.alternate::before {
  content: "\f229";
}
i.icon.mars.horizontal::before {
  content: "\f22b";
}
i.icon.mars.vertical::before {
  content: "\f22a";
}
i.icon.meanpath::before {
  content: "\f0c8";
}
i.icon.military::before {
  content: "\f0fb";
}
i.icon.money::before {
  content: "\f3d1";
}
i.icon.move::before {
  content: "\f0b2";
}
i.icon.mute::before {
  content: "\f131";
}
i.icon.non.binary.transgender::before {
  content: "\f223";
}
i.icon.numbered.list::before {
  content: "\f0cb";
}
i.icon.options::before {
  content: "\f1de";
}
i.icon.ordered.list::before {
  content: "\f0cb";
}
i.icon.other.gender::before {
  content: "\f229";
}
i.icon.other.gender.horizontal::before {
  content: "\f22b";
}
i.icon.other.gender.vertical::before {
  content: "\f22a";
}
i.icon.payment::before {
  content: "\f09d";
}
i.icon.pencil::before {
  content: "\f303";
}
i.icon.pencil.square::before {
  content: "\f14b";
}
i.icon.photo::before {
  content: "\f030";
}
i.icon.picture::before {
  content: "\f03e";
}
i.icon.pie.chart::before {
  content: "\f200";
}
i.icon.pie.graph::before {
  content: "\f200";
}
i.icon.pin::before {
  content: "\f08d";
}
i.icon.plus.cart::before {
  content: "\f217";
}
i.icon.point::before {
  content: "\f041";
}
i.icon.pointing.down::before {
  content: "\f0a7";
}
i.icon.pointing.left::before {
  content: "\f0a5";
}
i.icon.pointing.right::before {
  content: "\f0a4";
}
i.icon.pointing.up::before {
  content: "\f0a6";
}
i.icon.pound::before {
  content: "\f154";
}
i.icon.power::before {
  content: "\f011";
}
i.icon.power.cord::before {
  content: "\f1e6";
}
i.icon.privacy::before {
  content: "\f084";
}
i.icon.protect::before {
  content: "\f023";
}
i.icon.puzzle::before {
  content: "\f12e";
}
i.icon.r.circle::before {
  content: "\f25d";
}
i.icon.radio::before {
  content: "\f192";
}
i.icon.rain::before {
  content: "\f0e9";
}
i.icon.record::before {
  content: "\f03d";
}
i.icon.refresh::before {
  content: "\f021";
}
i.icon.remove::before {
  content: "\f00d";
}
i.icon.remove.bookmark::before {
  content: "\f02e";
}
i.icon.remove.circle::before {
  content: "\f057";
}
i.icon.remove.from.calendar::before {
  content: "\f272";
}
i.icon.remove.user::before {
  content: "\f235";
}
i.icon.repeat::before {
  content: "\f01e";
}
i.icon.resize.horizontal::before {
  content: "\f337";
}
i.icon.resize.vertical::before {
  content: "\f338";
}
i.icon.rmb::before {
  content: "\f157";
}
i.icon.rouble::before {
  content: "\f158";
}
i.icon.rub::before {
  content: "\f158";
}
i.icon.ruble::before {
  content: "\f158";
}
i.icon.rupee::before {
  content: "\f156";
}
i.icon.s15::before {
  content: "\f2cd";
}
i.icon.selected.radio::before {
  content: "\f192";
}
i.icon.send::before {
  content: "\f1d8";
}
i.icon.setting::before {
  content: "\f013";
}
i.icon.settings::before {
  content: "\f085";
}
i.icon.shekel::before {
  content: "\f20b";
}
i.icon.sheqel::before {
  content: "\f20b";
}
i.icon.shield::before {
  content: "\f3ed";
}
i.icon.shipping::before {
  content: "\f0d1";
}
i.icon.shop::before {
  content: "\f07a";
}
i.icon.shuffle::before {
  content: "\f074";
}
i.icon.shutdown::before {
  content: "\f011";
}
i.icon.sidebar::before {
  content: "\f0c9";
}
i.icon.signing::before {
  content: "\f2a7";
}
i.icon.signup::before {
  content: "\f044";
}
i.icon.sliders::before {
  content: "\f1de";
}
i.icon.soccer::before {
  content: "\f1e3";
}
i.icon.sort.alphabet.ascending::before {
  content: "\f15d";
}
i.icon.sort.alphabet.descending::before {
  content: "\f15e";
}
i.icon.sort.ascending::before {
  content: "\f0de";
}
i.icon.sort.content.ascending::before {
  content: "\f160";
}
i.icon.sort.content.descending::before {
  content: "\f161";
}
i.icon.sort.descending::before {
  content: "\f0dd";
}
i.icon.sort.numeric.ascending::before {
  content: "\f162";
}
i.icon.sort.numeric.descending::before {
  content: "\f163";
}
i.icon.sound::before {
  content: "\f025";
}
i.icon.spoon::before {
  content: "\f2e5";
}
i.icon.spy::before {
  content: "\f21b";
}
i.icon.star.empty::before {
  content: "\f005";
}
i.icon.star.half.empty::before {
  content: "\f089";
}
i.icon.star.half.full::before {
  content: "\f089";
}
i.icon.student::before {
  content: "\f19d";
}
i.icon.talk::before {
  content: "\f27a";
}
i.icon.target::before {
  content: "\f140";
}
i.icon.teletype::before {
  content: "\f1e4";
}
i.icon.television::before {
  content: "\f26c";
}
i.icon.text.cursor::before {
  content: "\f246";
}
i.icon.text.telephone::before {
  content: "\f1e4";
}
i.icon.theme::before {
  content: "\f043";
}
i.icon.thermometer::before {
  content: "\f2c7";
}
i.icon.thumb.tack::before {
  content: "\f08d";
}
i.icon.ticket::before {
  content: "\f3ff";
}
i.icon.time::before {
  content: "\f017";
}
i.icon.times.rectangle::before {
  content: "\f410";
}
i.icon.tm::before {
  content: "\f25c";
}
i.icon.toggle.down::before {
  content: "\f150";
}
i.icon.toggle.left::before {
  content: "\f191";
}
i.icon.toggle.right::before {
  content: "\f152";
}
i.icon.toggle.up::before {
  content: "\f151";
}
i.icon.translate::before {
  content: "\f1ab";
}
i.icon.travel::before {
  content: "\f0b1";
}
i.icon.treatment::before {
  content: "\f0f1";
}
i.icon.triangle.down::before {
  content: "\f0d7";
}
i.icon.triangle.left::before {
  content: "\f0d9";
}
i.icon.triangle.right::before {
  content: "\f0da";
}
i.icon.triangle.up::before {
  content: "\f0d8";
}
i.icon.try::before {
  content: "\f195";
}
i.icon.unhide::before {
  content: "\f06e";
}
i.icon.unlinkify::before {
  content: "\f127";
}
i.icon.unmute::before {
  content: "\f130";
}
i.icon.unordered.list::before {
  content: "\f0ca";
}
i.icon.usd::before {
  content: "\f155";
}
i.icon.user.cancel::before {
  content: "\f235";
}
i.icon.user.close::before {
  content: "\f235";
}
i.icon.user.delete::before {
  content: "\f235";
}
i.icon.user.doctor::before {
  content: "\f0f0";
}
i.icon.user.x::before {
  content: "\f235";
}
i.icon.vcard::before {
  content: "\f2bb";
}
i.icon.video.camera::before {
  content: "\f03d";
}
i.icon.video.play::before {
  content: "\f144";
}
i.icon.volume.control.phone::before {
  content: "\f2a0";
}
i.icon.wait::before {
  content: "\f017";
}
i.icon.warning::before {
  content: "\f12a";
}
i.icon.warning.circle::before {
  content: "\f06a";
}
i.icon.warning.sign::before {
  content: "\f071";
}
i.icon.wi.fi::before {
  content: "\f1eb";
}
i.icon.winner::before {
  content: "\f091";
}
i.icon.wizard::before {
  content: "\f0d0";
}
i.icon.woman::before {
  content: "\f221";
}
i.icon.won::before {
  content: "\f159";
}
i.icon.world::before {
  content: "\f0ac";
}
i.icon.write::before {
  content: "\f303";
}
i.icon.write.square::before {
  content: "\f14b";
}
i.icon.x::before {
  content: "\f00d";
}
i.icon.yen::before {
  content: "\f157";
}
i.icon.zip::before {
  content: "\f187";
}
i.icon.zoom::before {
  content: "\f00e";
}
/*******************************
             Outline Icons
    *******************************/
i.icon.outline {
  font-family: "outline-icons";
}
/* Icons */
i.icon.address.book.outline::before {
  content: "\f2b9";
}
i.icon.address.card.outline::before {
  content: "\f2bb";
}
i.icon.angry.outline::before {
  content: "\f556";
}
i.icon.arrow.alternate.circle.down.outline::before {
  content: "\f358";
}
i.icon.arrow.alternate.circle.left.outline::before {
  content: "\f359";
}
i.icon.arrow.alternate.circle.right.outline::before {
  content: "\f35a";
}
i.icon.arrow.alternate.circle.up.outline::before {
  content: "\f35b";
}
i.icon.bell.outline::before {
  content: "\f0f3";
}
i.icon.bell.slash.outline::before {
  content: "\f1f6";
}
i.icon.bookmark.outline::before {
  content: "\f02e";
}
i.icon.building.outline::before {
  content: "\f1ad";
}
i.icon.calendar.alternate.outline::before {
  content: "\f073";
}
i.icon.calendar.check.outline::before {
  content: "\f274";
}
i.icon.calendar.minus.outline::before {
  content: "\f272";
}
i.icon.calendar.outline::before {
  content: "\f133";
}
i.icon.calendar.plus.outline::before {
  content: "\f271";
}
i.icon.calendar.times.outline::before {
  content: "\f273";
}
i.icon.caret.square.down.outline::before {
  content: "\f150";
}
i.icon.caret.square.left.outline::before {
  content: "\f191";
}
i.icon.caret.square.right.outline::before {
  content: "\f152";
}
i.icon.caret.square.up.outline::before {
  content: "\f151";
}
i.icon.chart.bar.outline::before {
  content: "\f080";
}
i.icon.check.circle.outline::before {
  content: "\f058";
}
i.icon.check.square.outline::before {
  content: "\f14a";
}
i.icon.circle.outline::before {
  content: "\f111";
}
i.icon.clipboard.outline::before {
  content: "\f328";
}
i.icon.clock.outline::before {
  content: "\f017";
}
i.icon.clone.outline::before {
  content: "\f24d";
}
i.icon.closed.captioning.outline::before {
  content: "\f20a";
}
i.icon.comment.alternate.outline::before {
  content: "\f27a";
}
i.icon.comment.dots.outline::before {
  content: "\f4ad";
}
i.icon.comment.outline::before {
  content: "\f075";
}
i.icon.comments.outline::before {
  content: "\f086";
}
i.icon.compass.outline::before {
  content: "\f14e";
}
i.icon.copy.outline::before {
  content: "\f0c5";
}
i.icon.copyright.outline::before {
  content: "\f1f9";
}
i.icon.credit.card.outline::before {
  content: "\f09d";
}
i.icon.dizzy.outline::before {
  content: "\f567";
}
i.icon.dot.circle.outline::before {
  content: "\f192";
}
i.icon.edit.outline::before {
  content: "\f044";
}
i.icon.envelope.open.outline::before {
  content: "\f2b6";
}
i.icon.envelope.outline::before {
  content: "\f0e0";
}
i.icon.eye.outline::before {
  content: "\f06e";
}
i.icon.eye.slash.outline::before {
  content: "\f070";
}
i.icon.file.alternate.outline::before {
  content: "\f15c";
}
i.icon.file.archive.outline::before {
  content: "\f1c6";
}
i.icon.file.audio.outline::before {
  content: "\f1c7";
}
i.icon.file.code.outline::before {
  content: "\f1c9";
}
i.icon.file.excel.outline::before {
  content: "\f1c3";
}
i.icon.file.image.outline::before {
  content: "\f1c5";
}
i.icon.file.outline::before {
  content: "\f15b";
}
i.icon.file.pdf.outline::before {
  content: "\f1c1";
}
i.icon.file.powerpoint.outline::before {
  content: "\f1c4";
}
i.icon.file.video.outline::before {
  content: "\f1c8";
}
i.icon.file.word.outline::before {
  content: "\f1c2";
}
i.icon.flag.outline::before {
  content: "\f024";
}
i.icon.flushed.outline::before {
  content: "\f579";
}
i.icon.folder.open.outline::before {
  content: "\f07c";
}
i.icon.folder.outline::before {
  content: "\f07b";
}
i.icon.frown.open.outline::before {
  content: "\f57a";
}
i.icon.frown.outline::before {
  content: "\f119";
}
i.icon.futbol.outline::before {
  content: "\f1e3";
}
i.icon.gem.outline::before {
  content: "\f3a5";
}
i.icon.grimace.outline::before {
  content: "\f57f";
}
i.icon.grin.alternate.outline::before {
  content: "\f581";
}
i.icon.grin.beam.outline::before {
  content: "\f582";
}
i.icon.grin.beam.sweat.outline::before {
  content: "\f583";
}
i.icon.grin.hearts.outline::before {
  content: "\f584";
}
i.icon.grin.outline::before {
  content: "\f580";
}
i.icon.grin.squint.outline::before {
  content: "\f585";
}
i.icon.grin.squint.tears.outline::before {
  content: "\f586";
}
i.icon.grin.stars.outline::before {
  content: "\f587";
}
i.icon.grin.tears.outline::before {
  content: "\f588";
}
i.icon.grin.tongue.outline::before {
  content: "\f589";
}
i.icon.grin.tongue.squint.outline::before {
  content: "\f58a";
}
i.icon.grin.tongue.wink.outline::before {
  content: "\f58b";
}
i.icon.grin.wink.outline::before {
  content: "\f58c";
}
i.icon.hand.lizard.outline::before {
  content: "\f258";
}
i.icon.hand.paper.outline::before {
  content: "\f256";
}
i.icon.hand.peace.outline::before {
  content: "\f25b";
}
i.icon.hand.point.down.outline::before {
  content: "\f0a7";
}
i.icon.hand.point.left.outline::before {
  content: "\f0a5";
}
i.icon.hand.point.right.outline::before {
  content: "\f0a4";
}
i.icon.hand.point.up.outline::before {
  content: "\f0a6";
}
i.icon.hand.pointer.outline::before {
  content: "\f25a";
}
i.icon.hand.rock.outline::before {
  content: "\f255";
}
i.icon.hand.scissors.outline::before {
  content: "\f257";
}
i.icon.hand.spock.outline::before {
  content: "\f259";
}
i.icon.handshake.outline::before {
  content: "\f2b5";
}
i.icon.hdd.outline::before {
  content: "\f0a0";
}
i.icon.heart.outline::before {
  content: "\f004";
}
i.icon.hospital.outline::before {
  content: "\f0f8";
}
i.icon.hourglass.outline::before {
  content: "\f254";
}
i.icon.id.badge.outline::before {
  content: "\f2c1";
}
i.icon.id.card.outline::before {
  content: "\f2c2";
}
i.icon.image.outline::before {
  content: "\f03e";
}
i.icon.images.outline::before {
  content: "\f302";
}
i.icon.keyboard.outline::before {
  content: "\f11c";
}
i.icon.kiss.beam.outline::before {
  content: "\f597";
}
i.icon.kiss.outline::before {
  content: "\f596";
}
i.icon.kiss.wink.heart.outline::before {
  content: "\f598";
}
i.icon.laugh.beam.outline::before {
  content: "\f59a";
}
i.icon.laugh.outline::before {
  content: "\f599";
}
i.icon.laugh.squint.outline::before {
  content: "\f59b";
}
i.icon.laugh.wink.outline::before {
  content: "\f59c";
}
i.icon.lemon.outline::before {
  content: "\f094";
}
i.icon.life.ring.outline::before {
  content: "\f1cd";
}
i.icon.lightbulb.outline::before {
  content: "\f0eb";
}
i.icon.list.alternate.outline::before {
  content: "\f022";
}
i.icon.map.outline::before {
  content: "\f279";
}
i.icon.meh.blank.outline::before {
  content: "\f5a4";
}
i.icon.meh.outline::before {
  content: "\f11a";
}
i.icon.meh.rolling.eyes.outline::before {
  content: "\f5a5";
}
i.icon.minus.square.outline::before {
  content: "\f146";
}
i.icon.money.bill.alternate.outline::before {
  content: "\f3d1";
}
i.icon.moon.outline::before {
  content: "\f186";
}
i.icon.newspaper.outline::before {
  content: "\f1ea";
}
i.icon.object.group.outline::before {
  content: "\f247";
}
i.icon.object.ungroup.outline::before {
  content: "\f248";
}
i.icon.paper.plane.outline::before {
  content: "\f1d8";
}
i.icon.pause.circle.outline::before {
  content: "\f28b";
}
i.icon.play.circle.outline::before {
  content: "\f144";
}
i.icon.plus.square.outline::before {
  content: "\f0fe";
}
i.icon.question.circle.outline::before {
  content: "\f059";
}
i.icon.registered.outline::before {
  content: "\f25d";
}
i.icon.sad.cry.outline::before {
  content: "\f5b3";
}
i.icon.sad.tear.outline::before {
  content: "\f5b4";
}
i.icon.save.outline::before {
  content: "\f0c7";
}
i.icon.share.square.outline::before {
  content: "\f14d";
}
i.icon.smile.beam.outline::before {
  content: "\f5b8";
}
i.icon.smile.outline::before {
  content: "\f118";
}
i.icon.smile.wink.outline::before {
  content: "\f4da";
}
i.icon.snowflake.outline::before {
  content: "\f2dc";
}
i.icon.square.outline::before {
  content: "\f0c8";
}
i.icon.star.half.outline::before {
  content: "\f089";
}
i.icon.star.outline::before {
  content: "\f005";
}
i.icon.sticky.note.outline::before {
  content: "\f249";
}
i.icon.stop.circle.outline::before {
  content: "\f28d";
}
i.icon.sun.outline::before {
  content: "\f185";
}
i.icon.surprise.outline::before {
  content: "\f5c2";
}
i.icon.thumbs.down.outline::before {
  content: "\f165";
}
i.icon.thumbs.up.outline::before {
  content: "\f164";
}
i.icon.times.circle.outline::before {
  content: "\f057";
}
i.icon.tired.outline::before {
  content: "\f5c8";
}
i.icon.trash.alternate.outline::before {
  content: "\f2ed";
}
i.icon.user.circle.outline::before {
  content: "\f2bd";
}
i.icon.user.outline::before {
  content: "\f007";
}
i.icon.window.close.outline::before {
  content: "\f410";
}
i.icon.window.maximize.outline::before {
  content: "\f2d0";
}
i.icon.window.minimize.outline::before {
  content: "\f2d1";
}
i.icon.window.restore.outline::before {
  content: "\f2d2";
}
/* Aliases */
/*******************************
              Brand Icons
    *******************************/
/* Icons */
i.icon.\35 00px::before {
  content: "\f26e";
  font-family: "brand-icons";
}
i.icon.accessible::before {
  content: "\f368";
  font-family: "brand-icons";
}
i.icon.accusoft::before {
  content: "\f369";
  font-family: "brand-icons";
}
i.icon.acquisitions.incorporated::before {
  content: "\f6af";
  font-family: "brand-icons";
}
i.icon.adn::before {
  content: "\f170";
  font-family: "brand-icons";
}
i.icon.adversal::before {
  content: "\f36a";
  font-family: "brand-icons";
}
i.icon.affiliatetheme::before {
  content: "\f36b";
  font-family: "brand-icons";
}
i.icon.airbnb::before {
  content: "\f834";
  font-family: "brand-icons";
}
i.icon.algolia::before {
  content: "\f36c";
  font-family: "brand-icons";
}
i.icon.alipay::before {
  content: "\f642";
  font-family: "brand-icons";
}
i.icon.amazon::before {
  content: "\f270";
  font-family: "brand-icons";
}
i.icon.amazon.pay::before {
  content: "\f42c";
  font-family: "brand-icons";
}
i.icon.amilia::before {
  content: "\f36d";
  font-family: "brand-icons";
}
i.icon.android::before {
  content: "\f17b";
  font-family: "brand-icons";
}
i.icon.angellist::before {
  content: "\f209";
  font-family: "brand-icons";
}
i.icon.angrycreative::before {
  content: "\f36e";
  font-family: "brand-icons";
}
i.icon.angular::before {
  content: "\f420";
  font-family: "brand-icons";
}
i.icon.app.store::before {
  content: "\f36f";
  font-family: "brand-icons";
}
i.icon.app.store.ios::before {
  content: "\f370";
  font-family: "brand-icons";
}
i.icon.apper::before {
  content: "\f371";
  font-family: "brand-icons";
}
i.icon.apple::before {
  content: "\f179";
  font-family: "brand-icons";
}
i.icon.apple.pay::before {
  content: "\f415";
  font-family: "brand-icons";
}
i.icon.artstation::before {
  content: "\f77a";
  font-family: "brand-icons";
}
i.icon.asymmetrik::before {
  content: "\f372";
  font-family: "brand-icons";
}
i.icon.atlassian::before {
  content: "\f77b";
  font-family: "brand-icons";
}
i.icon.audible::before {
  content: "\f373";
  font-family: "brand-icons";
}
i.icon.autoprefixer::before {
  content: "\f41c";
  font-family: "brand-icons";
}
i.icon.avianex::before {
  content: "\f374";
  font-family: "brand-icons";
}
i.icon.aviato::before {
  content: "\f421";
  font-family: "brand-icons";
}
i.icon.aws::before {
  content: "\f375";
  font-family: "brand-icons";
}
i.icon.bandcamp::before {
  content: "\f2d5";
  font-family: "brand-icons";
}
i.icon.battle.net::before {
  content: "\f835";
  font-family: "brand-icons";
}
i.icon.behance::before {
  content: "\f1b4";
  font-family: "brand-icons";
}
i.icon.behance.square::before {
  content: "\f1b5";
  font-family: "brand-icons";
}
i.icon.bimobject::before {
  content: "\f378";
  font-family: "brand-icons";
}
i.icon.bitbucket::before {
  content: "\f171";
  font-family: "brand-icons";
}
i.icon.bitcoin::before {
  content: "\f379";
  font-family: "brand-icons";
}
i.icon.bity::before {
  content: "\f37a";
  font-family: "brand-icons";
}
i.icon.black.tie::before {
  content: "\f27e";
  font-family: "brand-icons";
}
i.icon.blackberry::before {
  content: "\f37b";
  font-family: "brand-icons";
}
i.icon.blogger::before {
  content: "\f37c";
  font-family: "brand-icons";
}
i.icon.blogger.b::before {
  content: "\f37d";
  font-family: "brand-icons";
}
i.icon.bluetooth::before {
  content: "\f293";
  font-family: "brand-icons";
}
i.icon.bluetooth.b::before {
  content: "\f294";
  font-family: "brand-icons";
}
i.icon.bootstrap::before {
  content: "\f836";
  font-family: "brand-icons";
}
i.icon.btc::before {
  content: "\f15a";
  font-family: "brand-icons";
}
i.icon.buffer::before {
  content: "\f837";
  font-family: "brand-icons";
}
i.icon.buromobelexperte::before {
  content: "\f37f";
  font-family: "brand-icons";
}
i.icon.buy.n.large::before {
  content: "\f8a6";
  font-family: "brand-icons";
}
i.icon.buysellads::before {
  content: "\f20d";
  font-family: "brand-icons";
}
i.icon.canadian.maple.leaf::before {
  content: "\f785";
  font-family: "brand-icons";
}
i.icon.cc.amazon.pay::before {
  content: "\f42d";
  font-family: "brand-icons";
}
i.icon.cc.amex::before {
  content: "\f1f3";
  font-family: "brand-icons";
}
i.icon.cc.apple.pay::before {
  content: "\f416";
  font-family: "brand-icons";
}
i.icon.cc.diners.club::before {
  content: "\f24c";
  font-family: "brand-icons";
}
i.icon.cc.discover::before {
  content: "\f1f2";
  font-family: "brand-icons";
}
i.icon.cc.jcb::before {
  content: "\f24b";
  font-family: "brand-icons";
}
i.icon.cc.mastercard::before {
  content: "\f1f1";
  font-family: "brand-icons";
}
i.icon.cc.paypal::before {
  content: "\f1f4";
  font-family: "brand-icons";
}
i.icon.cc.stripe::before {
  content: "\f1f5";
  font-family: "brand-icons";
}
i.icon.cc.visa::before {
  content: "\f1f0";
  font-family: "brand-icons";
}
i.icon.centercode::before {
  content: "\f380";
  font-family: "brand-icons";
}
i.icon.centos::before {
  content: "\f789";
  font-family: "brand-icons";
}
i.icon.chrome::before {
  content: "\f268";
  font-family: "brand-icons";
}
i.icon.chromecast::before {
  content: "\f838";
  font-family: "brand-icons";
}
i.icon.cloudflare::before {
  content: "\e07d";
  font-family: "brand-icons";
}
i.icon.cloudscale::before {
  content: "\f383";
  font-family: "brand-icons";
}
i.icon.cloudsmith::before {
  content: "\f384";
  font-family: "brand-icons";
}
i.icon.cloudversify::before {
  content: "\f385";
  font-family: "brand-icons";
}
i.icon.codepen::before {
  content: "\f1cb";
  font-family: "brand-icons";
}
i.icon.codiepie::before {
  content: "\f284";
  font-family: "brand-icons";
}
i.icon.confluence::before {
  content: "\f78d";
  font-family: "brand-icons";
}
i.icon.connectdevelop::before {
  content: "\f20e";
  font-family: "brand-icons";
}
i.icon.contao::before {
  content: "\f26d";
  font-family: "brand-icons";
}
i.icon.cotton.bureau::before {
  content: "\f89e";
  font-family: "brand-icons";
}
i.icon.cpanel::before {
  content: "\f388";
  font-family: "brand-icons";
}
i.icon.creative.commons::before {
  content: "\f25e";
  font-family: "brand-icons";
}
i.icon.creative.commons.by::before {
  content: "\f4e7";
  font-family: "brand-icons";
}
i.icon.creative.commons.nc::before {
  content: "\f4e8";
  font-family: "brand-icons";
}
i.icon.creative.commons.nc.eu::before {
  content: "\f4e9";
  font-family: "brand-icons";
}
i.icon.creative.commons.nc.jp::before {
  content: "\f4ea";
  font-family: "brand-icons";
}
i.icon.creative.commons.nd::before {
  content: "\f4eb";
  font-family: "brand-icons";
}
i.icon.creative.commons.pd::before {
  content: "\f4ec";
  font-family: "brand-icons";
}
i.icon.creative.commons.pd.alternate::before {
  content: "\f4ed";
  font-family: "brand-icons";
}
i.icon.creative.commons.remix::before {
  content: "\f4ee";
  font-family: "brand-icons";
}
i.icon.creative.commons.sa::before {
  content: "\f4ef";
  font-family: "brand-icons";
}
i.icon.creative.commons.sampling::before {
  content: "\f4f0";
  font-family: "brand-icons";
}
i.icon.creative.commons.sampling.plus::before {
  content: "\f4f1";
  font-family: "brand-icons";
}
i.icon.creative.commons.share::before {
  content: "\f4f2";
  font-family: "brand-icons";
}
i.icon.creative.commons.zero::before {
  content: "\f4f3";
  font-family: "brand-icons";
}
i.icon.critical.role::before {
  content: "\f6c9";
  font-family: "brand-icons";
}
i.icon.css3::before {
  content: "\f13c";
  font-family: "brand-icons";
}
i.icon.css3.alternate::before {
  content: "\f38b";
  font-family: "brand-icons";
}
i.icon.cuttlefish::before {
  content: "\f38c";
  font-family: "brand-icons";
}
i.icon.d.and.d::before {
  content: "\f38d";
  font-family: "brand-icons";
}
i.icon.d.and.d.beyond::before {
  content: "\f6ca";
  font-family: "brand-icons";
}
i.icon.dailymotion::before {
  content: "\e052";
  font-family: "brand-icons";
}
i.icon.dashcube::before {
  content: "\f210";
  font-family: "brand-icons";
}
i.icon.deezer::before {
  content: "\e077";
  font-family: "brand-icons";
}
i.icon.delicious::before {
  content: "\f1a5";
  font-family: "brand-icons";
}
i.icon.deploydog::before {
  content: "\f38e";
  font-family: "brand-icons";
}
i.icon.deskpro::before {
  content: "\f38f";
  font-family: "brand-icons";
}
i.icon.dev::before {
  content: "\f6cc";
  font-family: "brand-icons";
}
i.icon.deviantart::before {
  content: "\f1bd";
  font-family: "brand-icons";
}
i.icon.dhl::before {
  content: "\f790";
  font-family: "brand-icons";
}
i.icon.diaspora::before {
  content: "\f791";
  font-family: "brand-icons";
}
i.icon.digg::before {
  content: "\f1a6";
  font-family: "brand-icons";
}
i.icon.digital.ocean::before {
  content: "\f391";
  font-family: "brand-icons";
}
i.icon.discord::before {
  content: "\f392";
  font-family: "brand-icons";
}
i.icon.discourse::before {
  content: "\f393";
  font-family: "brand-icons";
}
i.icon.dochub::before {
  content: "\f394";
  font-family: "brand-icons";
}
i.icon.docker::before {
  content: "\f395";
  font-family: "brand-icons";
}
i.icon.draft2digital::before {
  content: "\f396";
  font-family: "brand-icons";
}
i.icon.dribbble::before {
  content: "\f17d";
  font-family: "brand-icons";
}
i.icon.dribbble.square::before {
  content: "\f397";
  font-family: "brand-icons";
}
i.icon.dropbox::before {
  content: "\f16b";
  font-family: "brand-icons";
}
i.icon.drupal::before {
  content: "\f1a9";
  font-family: "brand-icons";
}
i.icon.dyalog::before {
  content: "\f399";
  font-family: "brand-icons";
}
i.icon.earlybirds::before {
  content: "\f39a";
  font-family: "brand-icons";
}
i.icon.ebay::before {
  content: "\f4f4";
  font-family: "brand-icons";
}
i.icon.edge::before {
  content: "\f282";
  font-family: "brand-icons";
}
i.icon.edge.legacy::before {
  content: "\e078";
  font-family: "brand-icons";
}
i.icon.elementor::before {
  content: "\f430";
  font-family: "brand-icons";
}
i.icon.ello::before {
  content: "\f5f1";
  font-family: "brand-icons";
}
i.icon.ember::before {
  content: "\f423";
  font-family: "brand-icons";
}
i.icon.empire::before {
  content: "\f1d1";
  font-family: "brand-icons";
}
i.icon.envira::before {
  content: "\f299";
  font-family: "brand-icons";
}
i.icon.erlang::before {
  content: "\f39d";
  font-family: "brand-icons";
}
i.icon.ethereum::before {
  content: "\f42e";
  font-family: "brand-icons";
}
i.icon.etsy::before {
  content: "\f2d7";
  font-family: "brand-icons";
}
i.icon.evernote::before {
  content: "\f839";
  font-family: "brand-icons";
}
i.icon.expeditedssl::before {
  content: "\f23e";
  font-family: "brand-icons";
}
i.icon.facebook::before {
  content: "\f09a";
  font-family: "brand-icons";
}
i.icon.facebook.f::before {
  content: "\f39e";
  font-family: "brand-icons";
}
i.icon.facebook.messenger::before {
  content: "\f39f";
  font-family: "brand-icons";
}
i.icon.facebook.square::before {
  content: "\f082";
  font-family: "brand-icons";
}
i.icon.fantasy.flight.games::before {
  content: "\f6dc";
  font-family: "brand-icons";
}
i.icon.fedex::before {
  content: "\f797";
  font-family: "brand-icons";
}
i.icon.fedora::before {
  content: "\f798";
  font-family: "brand-icons";
}
i.icon.figma::before {
  content: "\f799";
  font-family: "brand-icons";
}
i.icon.firefox::before {
  content: "\f269";
  font-family: "brand-icons";
}
i.icon.firefox.browser::before {
  content: "\e007";
  font-family: "brand-icons";
}
i.icon.first.order::before {
  content: "\f2b0";
  font-family: "brand-icons";
}
i.icon.first.order.alternate::before {
  content: "\f50a";
  font-family: "brand-icons";
}
i.icon.firstdraft::before {
  content: "\f3a1";
  font-family: "brand-icons";
}
i.icon.flickr::before {
  content: "\f16e";
  font-family: "brand-icons";
}
i.icon.flipboard::before {
  content: "\f44d";
  font-family: "brand-icons";
}
i.icon.fly::before {
  content: "\f417";
  font-family: "brand-icons";
}
i.icon.font.awesome::before {
  content: "\f2b4";
  font-family: "brand-icons";
}
i.icon.font.awesome.alternate::before {
  content: "\f35c";
  font-family: "brand-icons";
}
i.icon.font.awesome.flag::before {
  content: "\f425";
  font-family: "brand-icons";
}
i.icon.fonticons::before {
  content: "\f280";
  font-family: "brand-icons";
}
i.icon.fonticons.fi::before {
  content: "\f3a2";
  font-family: "brand-icons";
}
i.icon.fort.awesome::before {
  content: "\f286";
  font-family: "brand-icons";
}
i.icon.fort.awesome.alternate::before {
  content: "\f3a3";
  font-family: "brand-icons";
}
i.icon.forumbee::before {
  content: "\f211";
  font-family: "brand-icons";
}
i.icon.foursquare::before {
  content: "\f180";
  font-family: "brand-icons";
}
i.icon.free.code.camp::before {
  content: "\f2c5";
  font-family: "brand-icons";
}
i.icon.freebsd::before {
  content: "\f3a4";
  font-family: "brand-icons";
}
i.icon.fulcrum::before {
  content: "\f50b";
  font-family: "brand-icons";
}
i.icon.galactic.republic::before {
  content: "\f50c";
  font-family: "brand-icons";
}
i.icon.galactic.senate::before {
  content: "\f50d";
  font-family: "brand-icons";
}
i.icon.get.pocket::before {
  content: "\f265";
  font-family: "brand-icons";
}
i.icon.gg::before {
  content: "\f260";
  font-family: "brand-icons";
}
i.icon.gg.circle::before {
  content: "\f261";
  font-family: "brand-icons";
}
i.icon.git::before {
  content: "\f1d3";
  font-family: "brand-icons";
}
i.icon.git.alternate::before {
  content: "\f841";
  font-family: "brand-icons";
}
i.icon.git.square::before {
  content: "\f1d2";
  font-family: "brand-icons";
}
i.icon.github::before {
  content: "\f09b";
  font-family: "brand-icons";
}
i.icon.github.alternate::before {
  content: "\f113";
  font-family: "brand-icons";
}
i.icon.github.square::before {
  content: "\f092";
  font-family: "brand-icons";
}
i.icon.gitkraken::before {
  content: "\f3a6";
  font-family: "brand-icons";
}
i.icon.gitlab::before {
  content: "\f296";
  font-family: "brand-icons";
}
i.icon.gitter::before {
  content: "\f426";
  font-family: "brand-icons";
}
i.icon.glide::before {
  content: "\f2a5";
  font-family: "brand-icons";
}
i.icon.glide.g::before {
  content: "\f2a6";
  font-family: "brand-icons";
}
i.icon.gofore::before {
  content: "\f3a7";
  font-family: "brand-icons";
}
i.icon.goodreads::before {
  content: "\f3a8";
  font-family: "brand-icons";
}
i.icon.goodreads.g::before {
  content: "\f3a9";
  font-family: "brand-icons";
}
i.icon.google::before {
  content: "\f1a0";
  font-family: "brand-icons";
}
i.icon.google.drive::before {
  content: "\f3aa";
  font-family: "brand-icons";
}
i.icon.google.pay::before {
  content: "\e079";
  font-family: "brand-icons";
}
i.icon.google.play::before {
  content: "\f3ab";
  font-family: "brand-icons";
}
i.icon.google.plus::before {
  content: "\f2b3";
  font-family: "brand-icons";
}
i.icon.google.plus.g::before {
  content: "\f0d5";
  font-family: "brand-icons";
}
i.icon.google.plus.square::before {
  content: "\f0d4";
  font-family: "brand-icons";
}
i.icon.google.wallet::before {
  content: "\f1ee";
  font-family: "brand-icons";
}
i.icon.gratipay::before {
  content: "\f184";
  font-family: "brand-icons";
}
i.icon.grav::before {
  content: "\f2d6";
  font-family: "brand-icons";
}
i.icon.gripfire::before {
  content: "\f3ac";
  font-family: "brand-icons";
}
i.icon.grunt::before {
  content: "\f3ad";
  font-family: "brand-icons";
}
i.icon.guilded::before {
  content: "\e07e";
  font-family: "brand-icons";
}
i.icon.gulp::before {
  content: "\f3ae";
  font-family: "brand-icons";
}
i.icon.hacker.news::before {
  content: "\f1d4";
  font-family: "brand-icons";
}
i.icon.hacker.news.square::before {
  content: "\f3af";
  font-family: "brand-icons";
}
i.icon.hackerrank::before {
  content: "\f5f7";
  font-family: "brand-icons";
}
i.icon.hips::before {
  content: "\f452";
  font-family: "brand-icons";
}
i.icon.hire.a.helper::before {
  content: "\f3b0";
  font-family: "brand-icons";
}
i.icon.hive::before {
  content: "\e07f";
  font-family: "brand-icons";
}
i.icon.hooli::before {
  content: "\f427";
  font-family: "brand-icons";
}
i.icon.hornbill::before {
  content: "\f592";
  font-family: "brand-icons";
}
i.icon.hotjar::before {
  content: "\f3b1";
  font-family: "brand-icons";
}
i.icon.houzz::before {
  content: "\f27c";
  font-family: "brand-icons";
}
i.icon.html5::before {
  content: "\f13b";
  font-family: "brand-icons";
}
i.icon.hubspot::before {
  content: "\f3b2";
  font-family: "brand-icons";
}
i.icon.ideal::before {
  content: "\e013";
  font-family: "brand-icons";
}
i.icon.imdb::before {
  content: "\f2d8";
  font-family: "brand-icons";
}
i.icon.innosoft::before {
  content: "\e080";
  font-family: "brand-icons";
}
i.icon.instagram::before {
  content: "\f16d";
  font-family: "brand-icons";
}
i.icon.instagram.square::before {
  content: "\e055";
  font-family: "brand-icons";
}
i.icon.instalod::before {
  content: "\e081";
  font-family: "brand-icons";
}
i.icon.intercom::before {
  content: "\f7af";
  font-family: "brand-icons";
}
i.icon.internet.explorer::before {
  content: "\f26b";
  font-family: "brand-icons";
}
i.icon.invision::before {
  content: "\f7b0";
  font-family: "brand-icons";
}
i.icon.ioxhost::before {
  content: "\f208";
  font-family: "brand-icons";
}
i.icon.itch.io::before {
  content: "\f83a";
  font-family: "brand-icons";
}
i.icon.itunes::before {
  content: "\f3b4";
  font-family: "brand-icons";
}
i.icon.itunes.note::before {
  content: "\f3b5";
  font-family: "brand-icons";
}
i.icon.java::before {
  content: "\f4e4";
  font-family: "brand-icons";
}
i.icon.jedi.order::before {
  content: "\f50e";
  font-family: "brand-icons";
}
i.icon.jenkins::before {
  content: "\f3b6";
  font-family: "brand-icons";
}
i.icon.jira::before {
  content: "\f7b1";
  font-family: "brand-icons";
}
i.icon.joget::before {
  content: "\f3b7";
  font-family: "brand-icons";
}
i.icon.joomla::before {
  content: "\f1aa";
  font-family: "brand-icons";
}
i.icon.js::before {
  content: "\f3b8";
  font-family: "brand-icons";
}
i.icon.js.square::before {
  content: "\f3b9";
  font-family: "brand-icons";
}
i.icon.jsfiddle::before {
  content: "\f1cc";
  font-family: "brand-icons";
}
i.icon.kaggle::before {
  content: "\f5fa";
  font-family: "brand-icons";
}
i.icon.keybase::before {
  content: "\f4f5";
  font-family: "brand-icons";
}
i.icon.keycdn::before {
  content: "\f3ba";
  font-family: "brand-icons";
}
i.icon.kickstarter::before {
  content: "\f3bb";
  font-family: "brand-icons";
}
i.icon.kickstarter.k::before {
  content: "\f3bc";
  font-family: "brand-icons";
}
i.icon.korvue::before {
  content: "\f42f";
  font-family: "brand-icons";
}
i.icon.laravel::before {
  content: "\f3bd";
  font-family: "brand-icons";
}
i.icon.lastfm::before {
  content: "\f202";
  font-family: "brand-icons";
}
i.icon.lastfm.square::before {
  content: "\f203";
  font-family: "brand-icons";
}
i.icon.leanpub::before {
  content: "\f212";
  font-family: "brand-icons";
}
i.icon.lesscss::before {
  content: "\f41d";
  font-family: "brand-icons";
}
i.icon.linechat::before {
  content: "\f3c0";
  font-family: "brand-icons";
}
i.icon.linkedin::before {
  content: "\f08c";
  font-family: "brand-icons";
}
i.icon.linode::before {
  content: "\f2b8";
  font-family: "brand-icons";
}
i.icon.linux::before {
  content: "\f17c";
  font-family: "brand-icons";
}
i.icon.lyft::before {
  content: "\f3c3";
  font-family: "brand-icons";
}
i.icon.magento::before {
  content: "\f3c4";
  font-family: "brand-icons";
}
i.icon.mailchimp::before {
  content: "\f59e";
  font-family: "brand-icons";
}
i.icon.mandalorian::before {
  content: "\f50f";
  font-family: "brand-icons";
}
i.icon.markdown::before {
  content: "\f60f";
  font-family: "brand-icons";
}
i.icon.mastodon::before {
  content: "\f4f6";
  font-family: "brand-icons";
}
i.icon.maxcdn::before {
  content: "\f136";
  font-family: "brand-icons";
}
i.icon.mdb::before {
  content: "\f8ca";
  font-family: "brand-icons";
}
i.icon.medapps::before {
  content: "\f3c6";
  font-family: "brand-icons";
}
i.icon.medium::before {
  content: "\f23a";
  font-family: "brand-icons";
}
i.icon.medium.m::before {
  content: "\f3c7";
  font-family: "brand-icons";
}
i.icon.medrt::before {
  content: "\f3c8";
  font-family: "brand-icons";
}
i.icon.meetup::before {
  content: "\f2e0";
  font-family: "brand-icons";
}
i.icon.megaport::before {
  content: "\f5a3";
  font-family: "brand-icons";
}
i.icon.mendeley::before {
  content: "\f7b3";
  font-family: "brand-icons";
}
i.icon.microblog::before {
  content: "\e01a";
  font-family: "brand-icons";
}
i.icon.microsoft::before {
  content: "\f3ca";
  font-family: "brand-icons";
}
i.icon.mix::before {
  content: "\f3cb";
  font-family: "brand-icons";
}
i.icon.mixcloud::before {
  content: "\f289";
  font-family: "brand-icons";
}
i.icon.mixer::before {
  content: "\e056";
  font-family: "brand-icons";
}
i.icon.mizuni::before {
  content: "\f3cc";
  font-family: "brand-icons";
}
i.icon.modx::before {
  content: "\f285";
  font-family: "brand-icons";
}
i.icon.monero::before {
  content: "\f3d0";
  font-family: "brand-icons";
}
i.icon.napster::before {
  content: "\f3d2";
  font-family: "brand-icons";
}
i.icon.neos::before {
  content: "\f612";
  font-family: "brand-icons";
}
i.icon.nimblr::before {
  content: "\f5a8";
  font-family: "brand-icons";
}
i.icon.node::before {
  content: "\f419";
  font-family: "brand-icons";
}
i.icon.node.js::before {
  content: "\f3d3";
  font-family: "brand-icons";
}
i.icon.npm::before {
  content: "\f3d4";
  font-family: "brand-icons";
}
i.icon.ns8::before {
  content: "\f3d5";
  font-family: "brand-icons";
}
i.icon.nutritionix::before {
  content: "\f3d6";
  font-family: "brand-icons";
}
i.icon.octopus.deploy::before {
  content: "\e082";
  font-family: "brand-icons";
}
i.icon.odnoklassniki::before {
  content: "\f263";
  font-family: "brand-icons";
}
i.icon.odnoklassniki.square::before {
  content: "\f264";
  font-family: "brand-icons";
}
i.icon.old.republic::before {
  content: "\f510";
  font-family: "brand-icons";
}
i.icon.opencart::before {
  content: "\f23d";
  font-family: "brand-icons";
}
i.icon.openid::before {
  content: "\f19b";
  font-family: "brand-icons";
}
i.icon.opera::before {
  content: "\f26a";
  font-family: "brand-icons";
}
i.icon.optin.monster::before {
  content: "\f23c";
  font-family: "brand-icons";
}
i.icon.orcid::before {
  content: "\f8d2";
  font-family: "brand-icons";
}
i.icon.osi::before {
  content: "\f41a";
  font-family: "brand-icons";
}
i.icon.page4::before {
  content: "\f3d7";
  font-family: "brand-icons";
}
i.icon.pagelines::before {
  content: "\f18c";
  font-family: "brand-icons";
}
i.icon.palfed::before {
  content: "\f3d8";
  font-family: "brand-icons";
}
i.icon.patreon::before {
  content: "\f3d9";
  font-family: "brand-icons";
}
i.icon.paypal::before {
  content: "\f1ed";
  font-family: "brand-icons";
}
i.icon.penny.arcade::before {
  content: "\f704";
  font-family: "brand-icons";
}
i.icon.perbyte::before {
  content: "\e083";
  font-family: "brand-icons";
}
i.icon.periscope::before {
  content: "\f3da";
  font-family: "brand-icons";
}
i.icon.phabricator::before {
  content: "\f3db";
  font-family: "brand-icons";
}
i.icon.phoenix.framework::before {
  content: "\f3dc";
  font-family: "brand-icons";
}
i.icon.phoenix.squadron::before {
  content: "\f511";
  font-family: "brand-icons";
}
i.icon.php::before {
  content: "\f457";
  font-family: "brand-icons";
}
i.icon.pied.piper::before {
  content: "\f2ae";
  font-family: "brand-icons";
}
i.icon.pied.piper.alternate::before {
  content: "\f1a8";
  font-family: "brand-icons";
}
i.icon.pied.piper.hat::before {
  content: "\f4e5";
  font-family: "brand-icons";
}
i.icon.pied.piper.pp::before {
  content: "\f1a7";
  font-family: "brand-icons";
}
i.icon.pied.piper.square::before {
  content: "\e01e";
  font-family: "brand-icons";
}
i.icon.pinterest::before {
  content: "\f0d2";
  font-family: "brand-icons";
}
i.icon.pinterest.p::before {
  content: "\f231";
  font-family: "brand-icons";
}
i.icon.pinterest.square::before {
  content: "\f0d3";
  font-family: "brand-icons";
}
i.icon.playstation::before {
  content: "\f3df";
  font-family: "brand-icons";
}
i.icon.product.hunt::before {
  content: "\f288";
  font-family: "brand-icons";
}
i.icon.pushed::before {
  content: "\f3e1";
  font-family: "brand-icons";
}
i.icon.python::before {
  content: "\f3e2";
  font-family: "brand-icons";
}
i.icon.qq::before {
  content: "\f1d6";
  font-family: "brand-icons";
}
i.icon.quinscape::before {
  content: "\f459";
  font-family: "brand-icons";
}
i.icon.quora::before {
  content: "\f2c4";
  font-family: "brand-icons";
}
i.icon.r.project::before {
  content: "\f4f7";
  font-family: "brand-icons";
}
i.icon.raspberry.pi::before {
  content: "\f7bb";
  font-family: "brand-icons";
}
i.icon.ravelry::before {
  content: "\f2d9";
  font-family: "brand-icons";
}
i.icon.react::before {
  content: "\f41b";
  font-family: "brand-icons";
}
i.icon.reacteurope::before {
  content: "\f75d";
  font-family: "brand-icons";
}
i.icon.readme::before {
  content: "\f4d5";
  font-family: "brand-icons";
}
i.icon.rebel::before {
  content: "\f1d0";
  font-family: "brand-icons";
}
i.icon.reddit::before {
  content: "\f1a1";
  font-family: "brand-icons";
}
i.icon.reddit.alien::before {
  content: "\f281";
  font-family: "brand-icons";
}
i.icon.reddit.square::before {
  content: "\f1a2";
  font-family: "brand-icons";
}
i.icon.redhat::before {
  content: "\f7bc";
  font-family: "brand-icons";
}
i.icon.redriver::before {
  content: "\f3e3";
  font-family: "brand-icons";
}
i.icon.redyeti::before {
  content: "\f69d";
  font-family: "brand-icons";
}
i.icon.renren::before {
  content: "\f18b";
  font-family: "brand-icons";
}
i.icon.replyd::before {
  content: "\f3e6";
  font-family: "brand-icons";
}
i.icon.researchgate::before {
  content: "\f4f8";
  font-family: "brand-icons";
}
i.icon.resolving::before {
  content: "\f3e7";
  font-family: "brand-icons";
}
i.icon.rev::before {
  content: "\f5b2";
  font-family: "brand-icons";
}
i.icon.rocketchat::before {
  content: "\f3e8";
  font-family: "brand-icons";
}
i.icon.rockrms::before {
  content: "\f3e9";
  font-family: "brand-icons";
}
i.icon.rust::before {
  content: "\e07a";
  font-family: "brand-icons";
}
i.icon.safari::before {
  content: "\f267";
  font-family: "brand-icons";
}
i.icon.salesforce::before {
  content: "\f83b";
  font-family: "brand-icons";
}
i.icon.sass::before {
  content: "\f41e";
  font-family: "brand-icons";
}
i.icon.schlix::before {
  content: "\f3ea";
  font-family: "brand-icons";
}
i.icon.scribd::before {
  content: "\f28a";
  font-family: "brand-icons";
}
i.icon.searchengin::before {
  content: "\f3eb";
  font-family: "brand-icons";
}
i.icon.sellcast::before {
  content: "\f2da";
  font-family: "brand-icons";
}
i.icon.sellsy::before {
  content: "\f213";
  font-family: "brand-icons";
}
i.icon.servicestack::before {
  content: "\f3ec";
  font-family: "brand-icons";
}
i.icon.shirtsinbulk::before {
  content: "\f214";
  font-family: "brand-icons";
}
i.icon.shopify::before {
  content: "\e057";
  font-family: "brand-icons";
}
i.icon.shopware::before {
  content: "\f5b5";
  font-family: "brand-icons";
}
i.icon.simplybuilt::before {
  content: "\f215";
  font-family: "brand-icons";
}
i.icon.sistrix::before {
  content: "\f3ee";
  font-family: "brand-icons";
}
i.icon.sith::before {
  content: "\f512";
  font-family: "brand-icons";
}
i.icon.sketch::before {
  content: "\f7c6";
  font-family: "brand-icons";
}
i.icon.skyatlas::before {
  content: "\f216";
  font-family: "brand-icons";
}
i.icon.skype::before {
  content: "\f17e";
  font-family: "brand-icons";
}
i.icon.slack::before {
  content: "\f198";
  font-family: "brand-icons";
}
i.icon.slack.hash::before {
  content: "\f3ef";
  font-family: "brand-icons";
}
i.icon.slideshare::before {
  content: "\f1e7";
  font-family: "brand-icons";
}
i.icon.snapchat::before {
  content: "\f2ab";
  font-family: "brand-icons";
}
i.icon.snapchat.ghost::before {
  content: "\f2ac";
  font-family: "brand-icons";
}
i.icon.snapchat.square::before {
  content: "\f2ad";
  font-family: "brand-icons";
}
i.icon.soundcloud::before {
  content: "\f1be";
  font-family: "brand-icons";
}
i.icon.sourcetree::before {
  content: "\f7d3";
  font-family: "brand-icons";
}
i.icon.speakap::before {
  content: "\f3f3";
  font-family: "brand-icons";
}
i.icon.speaker.deck::before {
  content: "\f83c";
  font-family: "brand-icons";
}
i.icon.spotify::before {
  content: "\f1bc";
  font-family: "brand-icons";
}
i.icon.squarespace::before {
  content: "\f5be";
  font-family: "brand-icons";
}
i.icon.stack.exchange::before {
  content: "\f18d";
  font-family: "brand-icons";
}
i.icon.stack.overflow::before {
  content: "\f16c";
  font-family: "brand-icons";
}
i.icon.stackpath::before {
  content: "\f842";
  font-family: "brand-icons";
}
i.icon.staylinked::before {
  content: "\f3f5";
  font-family: "brand-icons";
}
i.icon.steam::before {
  content: "\f1b6";
  font-family: "brand-icons";
}
i.icon.steam.square::before {
  content: "\f1b7";
  font-family: "brand-icons";
}
i.icon.steam.symbol::before {
  content: "\f3f6";
  font-family: "brand-icons";
}
i.icon.sticker.mule::before {
  content: "\f3f7";
  font-family: "brand-icons";
}
i.icon.strava::before {
  content: "\f428";
  font-family: "brand-icons";
}
i.icon.stripe::before {
  content: "\f429";
  font-family: "brand-icons";
}
i.icon.stripe.s::before {
  content: "\f42a";
  font-family: "brand-icons";
}
i.icon.studiovinari::before {
  content: "\f3f8";
  font-family: "brand-icons";
}
i.icon.stumbleupon::before {
  content: "\f1a4";
  font-family: "brand-icons";
}
i.icon.stumbleupon.circle::before {
  content: "\f1a3";
  font-family: "brand-icons";
}
i.icon.superpowers::before {
  content: "\f2dd";
  font-family: "brand-icons";
}
i.icon.supple::before {
  content: "\f3f9";
  font-family: "brand-icons";
}
i.icon.suse::before {
  content: "\f7d6";
  font-family: "brand-icons";
}
i.icon.swift::before {
  content: "\f8e1";
  font-family: "brand-icons";
}
i.icon.symfony::before {
  content: "\f83d";
  font-family: "brand-icons";
}
i.icon.teamspeak::before {
  content: "\f4f9";
  font-family: "brand-icons";
}
i.icon.telegram::before {
  content: "\f2c6";
  font-family: "brand-icons";
}
i.icon.telegram.plane::before {
  content: "\f3fe";
  font-family: "brand-icons";
}
i.icon.tencent.weibo::before {
  content: "\f1d5";
  font-family: "brand-icons";
}
i.icon.themeco::before {
  content: "\f5c6";
  font-family: "brand-icons";
}
i.icon.themeisle::before {
  content: "\f2b2";
  font-family: "brand-icons";
}
i.icon.think.peaks::before {
  content: "\f731";
  font-family: "brand-icons";
}
i.icon.tiktok::before {
  content: "\e07b";
  font-family: "brand-icons";
}
i.icon.trade.federation::before {
  content: "\f513";
  font-family: "brand-icons";
}
i.icon.trello::before {
  content: "\f181";
  font-family: "brand-icons";
}
i.icon.tumblr::before {
  content: "\f173";
  font-family: "brand-icons";
}
i.icon.tumblr.square::before {
  content: "\f174";
  font-family: "brand-icons";
}
i.icon.twitch::before {
  content: "\f1e8";
  font-family: "brand-icons";
}
i.icon.twitter::before {
  content: "\f099";
  font-family: "brand-icons";
}
i.icon.twitter.square::before {
  content: "\f081";
  font-family: "brand-icons";
}
i.icon.typo3::before {
  content: "\f42b";
  font-family: "brand-icons";
}
i.icon.uber::before {
  content: "\f402";
  font-family: "brand-icons";
}
i.icon.ubuntu::before {
  content: "\f7df";
  font-family: "brand-icons";
}
i.icon.uikit::before {
  content: "\f403";
  font-family: "brand-icons";
}
i.icon.umbraco::before {
  content: "\f8e8";
  font-family: "brand-icons";
}
i.icon.uncharted::before {
  content: "\e084";
  font-family: "brand-icons";
}
i.icon.uniregistry::before {
  content: "\f404";
  font-family: "brand-icons";
}
i.icon.unity::before {
  content: "\e049";
  font-family: "brand-icons";
}
i.icon.unsplash::before {
  content: "\e07c";
  font-family: "brand-icons";
}
i.icon.untappd::before {
  content: "\f405";
  font-family: "brand-icons";
}
i.icon.ups::before {
  content: "\f7e0";
  font-family: "brand-icons";
}
i.icon.usb::before {
  content: "\f287";
  font-family: "brand-icons";
}
i.icon.usps::before {
  content: "\f7e1";
  font-family: "brand-icons";
}
i.icon.ussunnah::before {
  content: "\f407";
  font-family: "brand-icons";
}
i.icon.vaadin::before {
  content: "\f408";
  font-family: "brand-icons";
}
i.icon.viacoin::before {
  content: "\f237";
  font-family: "brand-icons";
}
i.icon.viadeo::before {
  content: "\f2a9";
  font-family: "brand-icons";
}
i.icon.viadeo.square::before {
  content: "\f2aa";
  font-family: "brand-icons";
}
i.icon.viber::before {
  content: "\f409";
  font-family: "brand-icons";
}
i.icon.vimeo::before {
  content: "\f40a";
  font-family: "brand-icons";
}
i.icon.vimeo.square::before {
  content: "\f194";
  font-family: "brand-icons";
}
i.icon.vimeo.v::before {
  content: "\f27d";
  font-family: "brand-icons";
}
i.icon.vine::before {
  content: "\f1ca";
  font-family: "brand-icons";
}
i.icon.vk::before {
  content: "\f189";
  font-family: "brand-icons";
}
i.icon.vnv::before {
  content: "\f40b";
  font-family: "brand-icons";
}
i.icon.vuejs::before {
  content: "\f41f";
  font-family: "brand-icons";
}
i.icon.watchman.monitoring::before {
  content: "\e087";
  font-family: "brand-icons";
}
i.icon.waze::before {
  content: "\f83f";
  font-family: "brand-icons";
}
i.icon.weebly::before {
  content: "\f5cc";
  font-family: "brand-icons";
}
i.icon.weibo::before {
  content: "\f18a";
  font-family: "brand-icons";
}
i.icon.weixin::before {
  content: "\f1d7";
  font-family: "brand-icons";
}
i.icon.whatsapp::before {
  content: "\f232";
  font-family: "brand-icons";
}
i.icon.whatsapp.square::before {
  content: "\f40c";
  font-family: "brand-icons";
}
i.icon.whmcs::before {
  content: "\f40d";
  font-family: "brand-icons";
}
i.icon.wikipedia.w::before {
  content: "\f266";
  font-family: "brand-icons";
}
i.icon.windows::before {
  content: "\f17a";
  font-family: "brand-icons";
}
i.icon.wix::before {
  content: "\f5cf";
  font-family: "brand-icons";
}
i.icon.wizards.of.the.coast::before {
  content: "\f730";
  font-family: "brand-icons";
}
i.icon.wodu::before {
  content: "\e088";
  font-family: "brand-icons";
}
i.icon.wolf.pack.battalion::before {
  content: "\f514";
  font-family: "brand-icons";
}
i.icon.wordpress::before {
  content: "\f19a";
  font-family: "brand-icons";
}
i.icon.wordpress.simple::before {
  content: "\f411";
  font-family: "brand-icons";
}
i.icon.wpbeginner::before {
  content: "\f297";
  font-family: "brand-icons";
}
i.icon.wpexplorer::before {
  content: "\f2de";
  font-family: "brand-icons";
}
i.icon.wpforms::before {
  content: "\f298";
  font-family: "brand-icons";
}
i.icon.wpressr::before {
  content: "\f3e4";
  font-family: "brand-icons";
}
i.icon.xbox::before {
  content: "\f412";
  font-family: "brand-icons";
}
i.icon.xing::before {
  content: "\f168";
  font-family: "brand-icons";
}
i.icon.xing.square::before {
  content: "\f169";
  font-family: "brand-icons";
}
i.icon.y.combinator::before {
  content: "\f23b";
  font-family: "brand-icons";
}
i.icon.yahoo::before {
  content: "\f19e";
  font-family: "brand-icons";
}
i.icon.yammer::before {
  content: "\f840";
  font-family: "brand-icons";
}
i.icon.yandex::before {
  content: "\f413";
  font-family: "brand-icons";
}
i.icon.yandex.international::before {
  content: "\f414";
  font-family: "brand-icons";
}
i.icon.yarn::before {
  content: "\f7e3";
  font-family: "brand-icons";
}
i.icon.yelp::before {
  content: "\f1e9";
  font-family: "brand-icons";
}
i.icon.yoast::before {
  content: "\f2b1";
  font-family: "brand-icons";
}
i.icon.youtube::before {
  content: "\f167";
  font-family: "brand-icons";
}
i.icon.youtube.square::before {
  content: "\f431";
  font-family: "brand-icons";
}
i.icon.zhihu::before {
  content: "\f63f";
  font-family: "brand-icons";
}
/* Aliases */
i.icon.american.express::before {
  content: "\f1f3";
  font-family: "brand-icons";
}
i.icon.american.express.card::before {
  content: "\f1f3";
  font-family: "brand-icons";
}
i.icon.amex::before {
  content: "\f1f3";
  font-family: "brand-icons";
}
i.icon.bitbucket.square::before {
  content: "\f171";
  font-family: "brand-icons";
}
i.icon.bluetooth.alternative::before {
  content: "\f294";
  font-family: "brand-icons";
}
i.icon.credit.card.amazon.pay::before {
  content: "\f42d";
  font-family: "brand-icons";
}
i.icon.credit.card.american.express::before {
  content: "\f1f3";
  font-family: "brand-icons";
}
i.icon.credit.card.diners.club::before {
  content: "\f24c";
  font-family: "brand-icons";
}
i.icon.credit.card.discover::before {
  content: "\f1f2";
  font-family: "brand-icons";
}
i.icon.credit.card.jcb::before {
  content: "\f24b";
  font-family: "brand-icons";
}
i.icon.credit.card.mastercard::before {
  content: "\f1f1";
  font-family: "brand-icons";
}
i.icon.credit.card.paypal::before {
  content: "\f1f4";
  font-family: "brand-icons";
}
i.icon.credit.card.stripe::before {
  content: "\f1f5";
  font-family: "brand-icons";
}
i.icon.credit.card.visa::before {
  content: "\f1f0";
  font-family: "brand-icons";
}
i.icon.diners.club::before {
  content: "\f24c";
  font-family: "brand-icons";
}
i.icon.diners.club.card::before {
  content: "\f24c";
  font-family: "brand-icons";
}
i.icon.discover::before {
  content: "\f1f2";
  font-family: "brand-icons";
}
i.icon.discover.card::before {
  content: "\f1f2";
  font-family: "brand-icons";
}
i.icon.disk.outline::before {
  content: "\f369";
  font-family: "brand-icons";
}
i.icon.dribble::before {
  content: "\f17d";
  font-family: "brand-icons";
}
i.icon.eercast::before {
  content: "\f2da";
  font-family: "brand-icons";
}
i.icon.envira.gallery::before {
  content: "\f299";
  font-family: "brand-icons";
}
i.icon.fa::before {
  content: "\f2b4";
  font-family: "brand-icons";
}
i.icon.facebook.official::before {
  content: "\f082";
  font-family: "brand-icons";
}
i.icon.five.hundred.pixels::before {
  content: "\f26e";
  font-family: "brand-icons";
}
i.icon.gittip::before {
  content: "\f184";
  font-family: "brand-icons";
}
i.icon.google.plus.circle::before {
  content: "\f2b3";
  font-family: "brand-icons";
}
i.icon.google.plus.official::before {
  content: "\f2b3";
  font-family: "brand-icons";
}
i.icon.japan.credit.bureau::before {
  content: "\f24b";
  font-family: "brand-icons";
}
i.icon.japan.credit.bureau.card::before {
  content: "\f24b";
  font-family: "brand-icons";
}
i.icon.jcb::before {
  content: "\f24b";
  font-family: "brand-icons";
}
i.icon.linkedin.square::before {
  content: "\f08c";
  font-family: "brand-icons";
}
i.icon.mastercard::before {
  content: "\f1f1";
  font-family: "brand-icons";
}
i.icon.mastercard.card::before {
  content: "\f1f1";
  font-family: "brand-icons";
}
i.icon.microsoft.edge::before {
  content: "\f282";
  font-family: "brand-icons";
}
i.icon.ms.edge::before {
  content: "\f282";
  font-family: "brand-icons";
}
i.icon.new.pied.piper::before {
  content: "\f2ae";
  font-family: "brand-icons";
}
i.icon.optinmonster::before {
  content: "\f23c";
  font-family: "brand-icons";
}
i.icon.paypal.card::before {
  content: "\f1f4";
  font-family: "brand-icons";
}
i.icon.pied.piper.hat::before {
  content: "\f2ae";
  font-family: "brand-icons";
}
i.icon.pocket::before {
  content: "\f265";
  font-family: "brand-icons";
}
i.icon.stripe.card::before {
  content: "\f1f5";
  font-family: "brand-icons";
}
i.icon.theme.isle::before {
  content: "\f2b2";
  font-family: "brand-icons";
}
i.icon.visa::before {
  content: "\f1f0";
  font-family: "brand-icons";
}
i.icon.visa.card::before {
  content: "\f1f0";
  font-family: "brand-icons";
}
i.icon.wechat::before {
  content: "\f1d7";
  font-family: "brand-icons";
}
i.icon.wikipedia::before {
  content: "\f266";
  font-family: "brand-icons";
}
i.icon.wordpress.beginner::before {
  content: "\f297";
  font-family: "brand-icons";
}
i.icon.wordpress.forms::before {
  content: "\f298";
  font-family: "brand-icons";
}
i.icon.yc::before {
  content: "\f23b";
  font-family: "brand-icons";
}
i.icon.ycombinator::before {
  content: "\f23b";
  font-family: "brand-icons";
}
i.icon.youtube.play::before {
  content: "\f167";
  font-family: "brand-icons";
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Image
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Image
*******************************/
/* -------------------
       Element
-------------------- */
/* -------------------
       Types
-------------------- */
/* Avatar */
/* -------------------
       Variations
-------------------- */
/* Spaced */
/* Floated */
/* Size */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Image
*******************************/
.ui.image {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  background-color: transparent;
}
img.ui.image {
  display: block;
}
.ui.image svg,
.ui.image img {
  display: block;
  max-width: 100%;
  height: auto;
}
/*******************************
            States
*******************************/
.ui.hidden.images,
.ui.ui.hidden.image {
  display: none;
}
.ui.hidden.transition.images,
.ui.hidden.transition.image {
  display: block;
  visibility: hidden;
}
.ui.images > .hidden.transition {
  display: inline-block;
  visibility: hidden;
}
.ui.disabled.images,
.ui.disabled.image {
  cursor: default;
  opacity: 0.45;
}
/*******************************
          Variations
*******************************/
/* --------------
         Inline
    --------------- */
.ui.inline.image,
.ui.inline.image svg,
.ui.inline.image img {
  display: inline-block;
}
/* ------------------
      Vertical Aligned
    ------------------- */
.ui.top.aligned.image,
.ui.top.aligned.image svg,
.ui.top.aligned.image img {
  display: inline-block;
  vertical-align: top;
}
.ui.middle.aligned.image,
.ui.middle.aligned.image svg,
.ui.middle.aligned.image img {
  display: inline-block;
  vertical-align: middle;
}
.ui.bottom.aligned.image,
.ui.bottom.aligned.image svg,
.ui.bottom.aligned.image img {
  display: inline-block;
  vertical-align: bottom;
}
.ui.top.aligned.images .image,
.ui.images .ui.top.aligned.image {
  align-self: flex-start;
}
.ui.middle.aligned.images .image,
.ui.images .ui.middle.aligned.image {
  align-self: center;
}
.ui.bottom.aligned.images .image,
.ui.images .ui.bottom.aligned.image {
  align-self: flex-end;
}
/* --------------
         Rounded
    --------------- */
.ui.rounded.images .image,
.ui.rounded.image,
.ui.rounded.images .image > *,
.ui.rounded.image > * {
  border-radius: 0.3125em;
}
/* --------------
        Bordered
    --------------- */
.ui.bordered.images .image,
.ui.bordered.images img,
.ui.bordered.images svg,
.ui.bordered.image img,
.ui.bordered.image svg,
img.ui.bordered.image {
  border: 1px solid rgba(0, 0, 0, 0.1);
}
/* --------------
        Circular
    --------------- */
.ui.circular.images,
.ui.circular.image {
  overflow: hidden;
}
.ui.circular.images .image,
.ui.circular.image,
.ui.circular.images .image > *,
.ui.circular.image > * {
  border-radius: 500rem;
}
/* --------------
         Fluid
    --------------- */
.ui.fluid.images,
.ui.fluid.image,
.ui.fluid.images img,
.ui.fluid.images svg,
.ui.fluid.image svg,
.ui.fluid.image img {
  display: block;
  width: 100%;
  height: auto;
}
/* --------------
         Avatar
    --------------- */
.ui.avatar.images .image,
.ui.avatar.images img,
.ui.avatar.images svg,
.ui.avatar.image img,
.ui.avatar.image svg,
.ui.avatar.image {
  margin-right: 0.25em;
  display: inline-block;
  width: 2em;
  height: 2em;
  border-radius: 500rem;
}
/* -------------------
           Spaced
    -------------------- */
.ui.spaced.image {
  display: inline-block !important;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ui[class*="left spaced"].image {
  margin-left: 0.5em;
  margin-right: 0;
}
.ui[class*="right spaced"].image {
  margin-left: 0;
  margin-right: 0.5em;
}
/* -------------------
           Floated
    -------------------- */
.ui.floated.image,
.ui.floated.images {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}
.ui.right.floated.images,
.ui.right.floated.image {
  float: right;
  margin-right: 0;
  margin-bottom: 1em;
  margin-left: 1em;
}
.ui.floated.images:last-child,
.ui.floated.image:last-child {
  margin-bottom: 0;
}
.ui.centered.image {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ui.centered.images {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: center;
}
/* --------------
     Sizes
--------------- */
.ui.medium.images .image,
.ui.medium.images img,
.ui.medium.images svg,
.ui.medium.image {
  width: 300px;
  height: auto;
  font-size: 1rem;
}
.ui.mini.images .image,
.ui.mini.images img,
.ui.mini.images svg,
.ui.mini.image {
  width: 35px;
  height: auto;
  font-size: 0.78571429rem;
}
.ui.tiny.images .image,
.ui.tiny.images img,
.ui.tiny.images svg,
.ui.tiny.image {
  width: 80px;
  height: auto;
  font-size: 0.85714286rem;
}
.ui.small.images .image,
.ui.small.images img,
.ui.small.images svg,
.ui.small.image {
  width: 150px;
  height: auto;
  font-size: 0.92857143rem;
}
.ui.large.images .image,
.ui.large.images img,
.ui.large.images svg,
.ui.large.image {
  width: 450px;
  height: auto;
  font-size: 1.14285714rem;
}
.ui.big.images .image,
.ui.big.images img,
.ui.big.images svg,
.ui.big.image {
  width: 600px;
  height: auto;
  font-size: 1.28571429rem;
}
.ui.huge.images .image,
.ui.huge.images img,
.ui.huge.images svg,
.ui.huge.image {
  width: 800px;
  height: auto;
  font-size: 1.42857143rem;
}
.ui.massive.images .image,
.ui.massive.images img,
.ui.massive.images svg,
.ui.massive.image {
  width: 960px;
  height: auto;
  font-size: 1.71428571rem;
}
/*******************************
                  Groups
    *******************************/
.ui.images {
  font-size: 0;
  margin: 0 -0.25rem;
}
.ui.images .image,
.ui.images > img,
.ui.images > svg {
  display: inline-block;
  margin: 0 0.25rem 0.5rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Input
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Input
*******************************/
/* -------------------
      Element
-------------------- */
/* -------------------
        Types
-------------------- */
/* Icon Input */
/* Circular Icon Input */
/* Labeled Input */
/* -------------------
        States
-------------------- */
/* Placeholder */
/* Down */
/* Focus */
/* Loader */
/* file */
/* -------------------
      Variations
-------------------- */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           Standard
*******************************/
/* --------------------
        Inputs
--------------------- */
.ui.input {
  position: relative;
  font-weight: normal;
  font-style: normal;
  display: inline-flex;
  color: rgba(0, 0, 0, 0.87);
}
.ui.input > input {
  margin: 0;
  max-width: 100%;
  flex: 1 1 auto;
  outline: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  text-align: left;
  line-height: 1.21428571em;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  transition: box-shadow 0.1s ease, border-color 0.1s ease;
  box-shadow: none;
}
.ui.input > input:not([type="color"]) {
  padding: 0.67857143em 1em;
}
.ui.input > input::-webkit-calendar-picker-indicator {
  padding: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
/* --------------------
      Placeholder
--------------------- */
/* browsers require these rules separate */
.ui.input > input::-moz-placeholder {
  color: rgba(191, 191, 191, 0.87);
}
.ui.input > input::placeholder {
  color: rgba(191, 191, 191, 0.87);
}
.ui.input > input::-moz-placeholder {
  opacity: 1;
}
.ui.input > input:-ms-input-placeholder {
  color: rgba(191, 191, 191, 0.87);
}
/*******************************
            States
*******************************/
/* --------------------
            Disabled
    --------------------- */
.ui.disabled.input,
.ui.input:not(.disabled) input[disabled] {
  opacity: 0.45;
}
.ui.disabled.input > input,
.ui.input:not(.disabled) input[disabled] {
  pointer-events: none;
}
/* --------------------
        Active
--------------------- */
.ui.input > input:active,
.ui.input.down input {
  border-color: rgba(0, 0, 0, 0.3);
  background: #fafafa;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}
.ui.form .field > textarea:hover:not(:focus),
.ui.input > textarea:hover:not(:focus),
.ui.form .field > input:hover:not(:focus),
.ui.input > input:hover:not(:focus) {
  border-color: rgba(34, 36, 38, 0.35);
}
/* --------------------
           Loading
    --------------------- */
.ui.ui.loading.input > i.icon::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}
.ui.ui.loading.input > i.icon::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
}
/* --------------------
        Focus
--------------------- */
.ui.input.focus > input,
.ui.input > input:focus {
  border-color: #85b7d9;
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.8);
  box-shadow: none;
}
.ui.input.focus > input::-moz-placeholder, .ui.input > input:focus::-moz-placeholder {
  color: rgba(115, 115, 115, 0.87);
}
.ui.input.focus > input::placeholder,
.ui.input > input:focus::placeholder {
  color: rgba(115, 115, 115, 0.87);
}
.ui.input.focus > input:-ms-input-placeholder,
.ui.input > input:focus:-ms-input-placeholder {
  color: rgba(115, 115, 115, 0.87);
}
/* --------------------
            States
    --------------------- */
.ui.input.error > input {
  background-color: #fff6f6;
  border-color: #e0b4b4;
  color: #9f3a38;
  box-shadow: none;
}
/* Placeholder */
.ui.input.error > input::-moz-placeholder {
  color: #e7bdbc;
}
.ui.input.error > input::placeholder {
  color: #e7bdbc;
}
.ui.input.error > input:-ms-input-placeholder {
  color: #e7bdbc !important;
}
/* Focused Placeholder */
.ui.input.error > input:focus::-moz-placeholder {
  color: #da9796;
}
.ui.input.error > input:focus::placeholder {
  color: #da9796;
}
.ui.input.error > input:focus:-ms-input-placeholder {
  color: #da9796 !important;
}
.ui.input.info > input {
  background-color: #f8ffff;
  border-color: #a9d5de;
  color: #276f86;
  box-shadow: none;
}
/* Placeholder */
.ui.input.info > input::-moz-placeholder {
  color: #98cfe1;
}
.ui.input.info > input::placeholder {
  color: #98cfe1;
}
.ui.input.info > input:-ms-input-placeholder {
  color: #98cfe1 !important;
}
/* Focused Placeholder */
.ui.input.info > input:focus::-moz-placeholder {
  color: #70bdd6;
}
.ui.input.info > input:focus::placeholder {
  color: #70bdd6;
}
.ui.input.info > input:focus:-ms-input-placeholder {
  color: #70bdd6 !important;
}
.ui.input.success > input {
  background-color: #fcfff5;
  border-color: #a3c293;
  color: #2c662d;
  box-shadow: none;
}
/* Placeholder */
.ui.input.success > input::-moz-placeholder {
  color: #8fcf90;
}
.ui.input.success > input::placeholder {
  color: #8fcf90;
}
.ui.input.success > input:-ms-input-placeholder {
  color: #8fcf90 !important;
}
/* Focused Placeholder */
.ui.input.success > input:focus::-moz-placeholder {
  color: #6cbf6d;
}
.ui.input.success > input:focus::placeholder {
  color: #6cbf6d;
}
.ui.input.success > input:focus:-ms-input-placeholder {
  color: #6cbf6d !important;
}
.ui.input.warning > input {
  background-color: #fffaf3;
  border-color: #c9ba9b;
  color: #573a08;
  box-shadow: none;
}
/* Placeholder */
.ui.input.warning > input::-moz-placeholder {
  color: #edad3e;
}
.ui.input.warning > input::placeholder {
  color: #edad3e;
}
.ui.input.warning > input:-ms-input-placeholder {
  color: #edad3e !important;
}
/* Focused Placeholder */
.ui.input.warning > input:focus::-moz-placeholder {
  color: #e39715;
}
.ui.input.warning > input:focus::placeholder {
  color: #e39715;
}
.ui.input.warning > input:focus:-ms-input-placeholder {
  color: #e39715 !important;
}
/*******************************
           Variations
*******************************/
/* --------------------
          Transparent
    --------------------- */
.ui.transparent.input > textarea,
.ui.transparent.input > input {
  border-color: transparent !important;
  background-color: transparent !important;
  padding: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.field .ui.transparent.input > textarea {
  padding: 0.67857143em 1em;
}
/* Transparent Icon */
:not(.field) > .ui.transparent.icon.input > i.icon {
  width: 1.1em;
}
:not(.field) > .ui.ui.ui.transparent.icon.input > input {
  padding-left: 0;
  padding-right: 2em;
}
:not(.field) > .ui.ui.ui.transparent[class*="left icon"].input > input {
  padding-left: 2em;
  padding-right: 0;
}
/* Transparent Inverted */
.ui.transparent.inverted.input {
  color: #FFFFFF;
}
.ui.ui.transparent.inverted.input > textarea,
.ui.ui.transparent.inverted.input > input {
  color: inherit;
}
.ui.transparent.inverted.input > input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.ui.transparent.inverted.input > input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.ui.transparent.inverted.input > input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
/* --------------------
             Icon
    --------------------- */
.ui.icon.input > i.icon {
  cursor: default;
  position: absolute;
  line-height: 1;
  text-align: center;
  top: 0;
  right: 0;
  margin: 0;
  height: 100%;
  width: 2.67142857em;
  opacity: 0.5;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
  transition: opacity 0.3s ease;
}
.ui.icon.input > i.icon:not(.link) {
  pointer-events: none;
}
.ui.ui.ui.ui.icon.input:not(.corner) > textarea,
.ui.ui.ui.ui.icon.input:not(.corner) > input {
  padding-right: 2.67142857em;
}
.ui.icon.input > i.icon::before,
.ui.icon.input > i.icon::after {
  left: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%;
  margin-top: -0.5em;
}
.ui.icon.input > i.link.icon {
  cursor: pointer;
}
.ui.icon.input > i.circular.icon {
  top: 0.35em;
  right: 0.5em;
}
/* Left Icon Input */
.ui[class*="left icon"].input > i.icon {
  right: auto;
  left: 1px;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui[class*="left icon"].input > i.circular.icon {
  right: auto;
  left: 0.5em;
}
.ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > textarea,
.ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > input {
  padding-left: 2.67142857em;
}
.ui.ui.ui.ui[class*="left icon"]:not(.corner).input > textarea,
.ui.ui.ui.ui[class*="left icon"]:not(.corner).input > input {
  padding-right: 1em;
}
/* Focus */
.ui.input > input:focus::-webkit-calendar-picker-indicator,
.ui.icon.input > textarea:focus ~ i.icon,
.ui.icon.input > input:focus ~ i.icon {
  opacity: 1;
}
/* --------------------
            Labeled
    --------------------- */
/* Adjacent Label */
.ui.labeled.input > .label {
  flex: 0 0 auto;
  margin: 0;
  font-size: 1em;
}
.ui.labeled.input > .label:not(.corner) {
  padding-top: 0.78571429em;
  padding-bottom: 0.78571429em;
}
/* Regular Label on Left */
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left-color: transparent;
}
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
  border-left-color: #85b7d9;
}
/* Regular Label on Right */
.ui[class*="right labeled"].input > input {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right-color: transparent !important;
}
.ui[class*="right labeled"].input > input + .label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui[class*="right labeled"].input > input:focus {
  border-right-color: #85b7d9 !important;
}
/* Corner Label */
.ui.labeled.input .corner.label {
  top: 1px;
  right: 1px;
  font-size: 0.64285714em;
  border-radius: 0 0.28571429rem 0 0;
}
/* Spacing with corner label */
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown,
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > textarea,
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > input {
  padding-right: 2.5em;
}
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .ui.dropdown,
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
  padding-right: 3.25em;
}
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > i.icon {
  margin-right: 1.25em;
}
/* Left Labeled */
.ui[class*="left icon"].input > .ui.dropdown:first-child,
.ui[class*="left icon"].input > i.icon + .ui.dropdown,
.ui[class*="left corner labeled"].input > .ui.dropdown,
.ui[class*="left corner labeled"].input > textarea,
.ui[class*="left corner labeled"].input > input {
  padding-left: 2.5em;
}
.ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > .ui.dropdown,
.ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > textarea,
.ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > input {
  padding-right: 3.25em;
}
.ui.ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown,
.ui.ui[class*="left corner labeled"][class*="left icon"].input > textarea,
.ui.ui[class*="left corner labeled"][class*="left icon"].input > input {
  padding-left: 4em;
}
.ui[class*="left corner labeled"].icon.input > i.icon {
  margin-left: 1.25em;
}
.ui[class*="left corner labeled"].icon:not([class*="left icon"]).input > input {
  padding-right: 2.5em;
}
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > input {
  padding-right: 5em;
}
.ui[class*="left icon"].input > .ui.dropdown > .search,
.ui[class*="left corner labeled"].input > .ui.dropdown > .search {
  padding-left: 2.5em;
}
.ui[class*="left icon"].input > .ui.dropdown > .menu,
.ui[class*="left corner labeled"].input > .ui.dropdown > .menu {
  padding-left: 1.25em;
}
.ui[class*="left icon"].input > .ui.dropdown > .menu > .item,
.ui[class*="left corner labeled"].input > .ui.dropdown > .menu > .item {
  padding-left: 2.5em;
  margin-left: -1.25em;
}
.ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown > .search {
  padding-left: 4em;
}
.ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown > .menu > .item {
  padding-left: 4em;
}
.ui.icon.input:not([class*="left icon"]) > .ui.dropdown > .search,
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown > .search {
  padding-right: 5.75em;
}
.ui.icon.input:not([class*="left icon"]) > .ui.dropdown > .remove.icon,
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown > .remove.icon,
.ui.icon.input:not([class*="left icon"]) > .ui.dropdown > .dropdown.icon,
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown > .dropdown.icon {
  padding-right: 2.5em;
}
@supports selector(:has(.f)) {
  .ui.icon.input:not([class*="left icon"]) > .ui.dropdown > .dropdown.icon {
    padding-right: initial;
  }
  .ui.icon.input:not([class*="left icon"]):not(:has(.ui.dropdown ~ input)) > .ui.dropdown > .dropdown.icon {
    padding-right: 2.5em;
  }
}
.ui.ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > .ui.dropdown > .search {
  padding-right: 7.25em;
}
.ui.ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > .ui.dropdown > .remove.icon,
.ui.ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > .ui.dropdown > .dropdown.icon {
  padding-right: 4em;
}
.ui.icon.input > .ui.visible.dropdown ~ i.icon,
.ui.icon.input > .ui.active.dropdown ~ i.icon,
.ui[class*="corner labeled"].input > .ui.visible.dropdown ~ .ui.corner.label,
.ui[class*="corner labeled"].input > .ui.active.dropdown ~ .ui.corner.label {
  z-index: 10;
}
.ui.icon.input > textarea ~ i.icon {
  height: 3em;
}
:not(.field) > .ui.transparent.icon.input > textarea ~ i.icon {
  height: 1.3em;
}
/* Corner Label Position */
.ui.input > .ui.corner.label {
  top: 1px;
  right: 1px;
}
.ui.input > .ui.left.corner.label {
  right: auto;
  left: 1px;
}
/* Labeled and action input states */
.ui.form .field.error > .ui.action.input > .ui.button,
.ui.form .field.error > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
.ui.action.input.error > .ui.button,
.ui.labeled.input.error:not([class*="corner labeled"]) > .ui.label {
  border-top: 1px solid #e0b4b4;
  border-bottom: 1px solid #e0b4b4;
}
.ui.form .field.error > .ui[class*="left action"].input > .ui.button,
.ui.form .field.error > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
.ui[class*="left action"].input.error > .ui.button,
.ui.labeled.input.error:not(.right):not([class*="corner labeled"]) > .ui.label {
  border-left: 1px solid #e0b4b4;
}
.ui.form .field.error > .ui.action.input:not([class*="left action"]) > input + .ui.button,
.ui.form .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
.ui.action.input.error:not([class*="left action"]) > input + .ui.button,
.ui.right.labeled.input.error:not([class*="corner labeled"]) > input + .ui.label,
.ui.form .field.error > .ui.action.input:not([class*="left action"]) > textarea + .ui.button,
.ui.form .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > textarea + .ui.label,
.ui.action.input.error:not([class*="left action"]) > textarea + .ui.button,
.ui.right.labeled.input.error:not([class*="corner labeled"]) > textarea + .ui.label {
  border-right: 1px solid #e0b4b4;
}
.ui.form .field.error > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
.ui.right.labeled.input.error:not([class*="corner labeled"]) > .ui.label:first-child {
  border-left: 1px solid #e0b4b4;
}
.ui.form .field.info > .ui.action.input > .ui.button,
.ui.form .field.info > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
.ui.action.input.info > .ui.button,
.ui.labeled.input.info:not([class*="corner labeled"]) > .ui.label {
  border-top: 1px solid #a9d5de;
  border-bottom: 1px solid #a9d5de;
}
.ui.form .field.info > .ui[class*="left action"].input > .ui.button,
.ui.form .field.info > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
.ui[class*="left action"].input.info > .ui.button,
.ui.labeled.input.info:not(.right):not([class*="corner labeled"]) > .ui.label {
  border-left: 1px solid #a9d5de;
}
.ui.form .field.info > .ui.action.input:not([class*="left action"]) > input + .ui.button,
.ui.form .field.info > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
.ui.action.input.info:not([class*="left action"]) > input + .ui.button,
.ui.right.labeled.input.info:not([class*="corner labeled"]) > input + .ui.label,
.ui.form .field.info > .ui.action.input:not([class*="left action"]) > textarea + .ui.button,
.ui.form .field.info > .ui.right.labeled.input:not([class*="corner labeled"]) > textarea + .ui.label,
.ui.action.input.info:not([class*="left action"]) > textarea + .ui.button,
.ui.right.labeled.input.info:not([class*="corner labeled"]) > textarea + .ui.label {
  border-right: 1px solid #a9d5de;
}
.ui.form .field.info > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
.ui.right.labeled.input.info:not([class*="corner labeled"]) > .ui.label:first-child {
  border-left: 1px solid #a9d5de;
}
.ui.form .field.success > .ui.action.input > .ui.button,
.ui.form .field.success > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
.ui.action.input.success > .ui.button,
.ui.labeled.input.success:not([class*="corner labeled"]) > .ui.label {
  border-top: 1px solid #a3c293;
  border-bottom: 1px solid #a3c293;
}
.ui.form .field.success > .ui[class*="left action"].input > .ui.button,
.ui.form .field.success > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
.ui[class*="left action"].input.success > .ui.button,
.ui.labeled.input.success:not(.right):not([class*="corner labeled"]) > .ui.label {
  border-left: 1px solid #a3c293;
}
.ui.form .field.success > .ui.action.input:not([class*="left action"]) > input + .ui.button,
.ui.form .field.success > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
.ui.action.input.success:not([class*="left action"]) > input + .ui.button,
.ui.right.labeled.input.success:not([class*="corner labeled"]) > input + .ui.label,
.ui.form .field.success > .ui.action.input:not([class*="left action"]) > textarea + .ui.button,
.ui.form .field.success > .ui.right.labeled.input:not([class*="corner labeled"]) > textarea + .ui.label,
.ui.action.input.success:not([class*="left action"]) > textarea + .ui.button,
.ui.right.labeled.input.success:not([class*="corner labeled"]) > textarea + .ui.label {
  border-right: 1px solid #a3c293;
}
.ui.form .field.success > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
.ui.right.labeled.input.success:not([class*="corner labeled"]) > .ui.label:first-child {
  border-left: 1px solid #a3c293;
}
.ui.form .field.warning > .ui.action.input > .ui.button,
.ui.form .field.warning > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
.ui.action.input.warning > .ui.button,
.ui.labeled.input.warning:not([class*="corner labeled"]) > .ui.label {
  border-top: 1px solid #c9ba9b;
  border-bottom: 1px solid #c9ba9b;
}
.ui.form .field.warning > .ui[class*="left action"].input > .ui.button,
.ui.form .field.warning > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
.ui[class*="left action"].input.warning > .ui.button,
.ui.labeled.input.warning:not(.right):not([class*="corner labeled"]) > .ui.label {
  border-left: 1px solid #c9ba9b;
}
.ui.form .field.warning > .ui.action.input:not([class*="left action"]) > input + .ui.button,
.ui.form .field.warning > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
.ui.action.input.warning:not([class*="left action"]) > input + .ui.button,
.ui.right.labeled.input.warning:not([class*="corner labeled"]) > input + .ui.label,
.ui.form .field.warning > .ui.action.input:not([class*="left action"]) > textarea + .ui.button,
.ui.form .field.warning > .ui.right.labeled.input:not([class*="corner labeled"]) > textarea + .ui.label,
.ui.action.input.warning:not([class*="left action"]) > textarea + .ui.button,
.ui.right.labeled.input.warning:not([class*="corner labeled"]) > textarea + .ui.label {
  border-right: 1px solid #c9ba9b;
}
.ui.form .field.warning > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
.ui.right.labeled.input.warning:not([class*="corner labeled"]) > .ui.label:first-child {
  border-left: 1px solid #c9ba9b;
}
/* --------------------
            Action
    --------------------- */
.ui.action.input > .button,
.ui.action.input > .buttons {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.ui.action.input > .button,
.ui.action.input > .buttons > .button {
  padding-top: 0.78571429em;
  padding-bottom: 0.78571429em;
  margin: 0;
}
/* Input when ui Left */
.ui[class*="left action"].input > input,
.ui[class*="left action"].input > textarea {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left-color: transparent;
}
/* Input when ui Right */
.ui.action.input:not([class*="left action"]) > input,
.ui.action.input:not([class*="left action"]) > textarea {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right-color: transparent;
}
/* Button and Dropdown */
.ui.action.input > .dropdown:first-child,
.ui.action.input > .button:first-child,
.ui.action.input > .buttons:first-child > .button {
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui.action.input > .dropdown:not(:first-child),
.ui.action.input > .button:not(:first-child),
.ui.action.input > .buttons:not(:first-child) > .button {
  border-radius: 0;
}
.ui.action.input > .dropdown:last-child,
.ui.action.input > .button:last-child,
.ui.action.input > .buttons:last-child > .button {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
/* Input Focus */
.ui.action.input:not([class*="left action"]) > input:focus,
.ui.action.input:not([class*="left action"]) > textarea:focus {
  border-right-color: #85b7d9;
}
.ui.ui[class*="left action"].input > input:focus,
.ui.ui[class*="left action"].input > textarea:focus {
  border-left-color: #85b7d9;
}
/* --------------------
           Inverted
    --------------------- */
/* Standard */
.ui.inverted.input > input {
  border: none;
}
/* --------------------
            Fluid
    --------------------- */
.ui.fluid.input {
  display: flex;
}
.ui.fluid.input > input {
  width: 0 !important;
}
/* --------------------
            File
    --------------------- */
/* width hack for chrome/edge */
.ui.file.input {
  width: 100%;
}
.ui.file.input input[type="file"] {
  width: 0;
}
.ui.form .field > input[type="file"],
.ui.file.input:not(.action) input[type="file"] {
  padding: 0;
}
.ui.action.file.input input[type="file"]::-webkit-file-upload-button {
  display: none;
}
.ui.form .field input[type="file"]::-webkit-file-upload-button,
.ui.file.input input[type="file"]::-webkit-file-upload-button {
  border: none;
  cursor: pointer;
  padding: 0.67857143em 1em;
  margin-right: 1em;
  background: #e0e1e2;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.6);
}
.ui.form .field input[type="file"]::-webkit-file-upload-button:hover,
.ui.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #cacbcd;
  color: rgba(0, 0, 0, 0.6);
}
.ui.action.file.input input[type="file"]::-ms-browse {
  display: none;
}
.ui.form .field input[type="file"]::-ms-browse,
.ui.file.input input[type="file"]::-ms-browse {
  border: none;
  cursor: pointer;
  padding: 0.67857143em 1em;
  margin: 0;
  background: #e0e1e2;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.6);
}
.ui.form .field input[type="file"]::-ms-browse:hover,
.ui.file.input input[type="file"]::-ms-browse:hover {
  background: #cacbcd;
  color: rgba(0, 0, 0, 0.6);
}
/* IE needs additional styling for input field :S */
@media all and (-ms-high-contrast: none) {
  .ui.file.input > input[type="file"],
  input[type="file"].ui.file.input {
    padding: 0 !important;
  }
}
.ui.action.file.input input[type="file"]::file-selector-button {
  display: none;
}
.ui.form .field input[type="file"]::file-selector-button,
.ui.file.input input[type="file"]::file-selector-button {
  border: none;
  cursor: pointer;
  padding: 0.67857143em 1em;
  margin-right: 1em;
  background: #e0e1e2;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.6);
}
.ui.form .field input[type="file"]::file-selector-button:hover,
.ui.file.input input[type="file"]::file-selector-button:hover {
  background: #cacbcd;
  color: rgba(0, 0, 0, 0.6);
}
input[type="file"].ui.invisible.file.input,
.ui.invisible.file.input input[type="file"] {
  left: -99999px;
  position: absolute;
}
input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary) {
  background: #cacbcd;
  color: rgba(0, 0, 0, 0.8);
}
input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary).inverted {
  background: #FFFFFF;
}
/* this is related to existing buttons, so the button color variable is used here! */
input[type="file"].ui.file.input:focus + label.ui.primary.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.primary.button:not(.basic):not(.tertiary) {
  background-color: #5d2b59;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.primary.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.primary.button:not(.basic):not(.tertiary).inverted {
  background-color: #21b8ff;
}
input[type="file"].ui.file.input:focus + label.ui.secondary.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.secondary.button:not(.basic):not(.tertiary) {
  background-color: #98f013;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.secondary.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.secondary.button:not(.basic):not(.tertiary).inverted {
  background-color: #6e6e6e;
}
input[type="file"].ui.file.input:focus + label.ui.red.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.red.button:not(.basic):not(.tertiary) {
  background-color: #d01919;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.red.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.red.button:not(.basic):not(.tertiary).inverted {
  background-color: #ff392b;
}
input[type="file"].ui.file.input:focus + label.ui.orange.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.orange.button:not(.basic):not(.tertiary) {
  background-color: #f26202;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.orange.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.orange.button:not(.basic):not(.tertiary).inverted {
  background-color: #e76b00;
}
input[type="file"].ui.file.input:focus + label.ui.yellow.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.yellow.button:not(.basic):not(.tertiary) {
  background-color: #eaae00;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.yellow.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.yellow.button:not(.basic):not(.tertiary).inverted {
  background-color: #ebcd00;
}
input[type="file"].ui.file.input:focus + label.ui.olive.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.olive.button:not(.basic):not(.tertiary) {
  background-color: #a7bd0d;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.olive.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.olive.button:not(.basic):not(.tertiary).inverted {
  background-color: #d2e745;
}
input[type="file"].ui.file.input:focus + label.ui.green.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.green.button:not(.basic):not(.tertiary) {
  background-color: #16ab39;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.green.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.green.button:not(.basic):not(.tertiary).inverted {
  background-color: #1ea92e;
}
input[type="file"].ui.file.input:focus + label.ui.teal.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.teal.button:not(.basic):not(.tertiary) {
  background-color: #009c95;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.teal.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.teal.button:not(.basic):not(.tertiary).inverted {
  background-color: #3affff;
}
input[type="file"].ui.file.input:focus + label.ui.blue.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.blue.button:not(.basic):not(.tertiary) {
  background-color: #1678c2;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.blue.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.blue.button:not(.basic):not(.tertiary).inverted {
  background-color: #21b8ff;
}
input[type="file"].ui.file.input:focus + label.ui.violet.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.violet.button:not(.basic):not(.tertiary) {
  background-color: #5829bb;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.violet.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.violet.button:not(.basic):not(.tertiary).inverted {
  background-color: #745aff;
}
input[type="file"].ui.file.input:focus + label.ui.purple.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.purple.button:not(.basic):not(.tertiary) {
  background-color: #9627ba;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.purple.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.purple.button:not(.basic):not(.tertiary).inverted {
  background-color: #cf40ff;
}
input[type="file"].ui.file.input:focus + label.ui.pink.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.pink.button:not(.basic):not(.tertiary) {
  background-color: #e61a8d;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.pink.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.pink.button:not(.basic):not(.tertiary).inverted {
  background-color: #ff5bd1;
}
input[type="file"].ui.file.input:focus + label.ui.brown.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.brown.button:not(.basic):not(.tertiary) {
  background-color: #975b33;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.brown.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.brown.button:not(.basic):not(.tertiary).inverted {
  background-color: #b0620f;
}
input[type="file"].ui.file.input:focus + label.ui.grey.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.grey.button:not(.basic):not(.tertiary) {
  background-color: #838383;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.grey.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.grey.button:not(.basic):not(.tertiary).inverted {
  background-color: #c2c4c5;
}
input[type="file"].ui.file.input:focus + label.ui.black.button:not(.basic):not(.tertiary),
.ui.file.input input[type="file"]:focus + label.ui.black.button:not(.basic):not(.tertiary) {
  background-color: #27292a;
  color: #FFFFFF;
}
input[type="file"].ui.file.input:focus + label.ui.black.button:not(.basic):not(.tertiary).inverted,
.ui.file.input input[type="file"]:focus + label.ui.black.button:not(.basic):not(.tertiary).inverted {
  background-color: #000000;
}
input[type="file"].ui.primary.file.input::-webkit-file-upload-button,
.ui.primary.file.input input[type="file"]::-webkit-file-upload-button {
  background: #6C3667;
  color: #FFFFFF;
}
input[type="file"].ui.primary.file.input::-webkit-file-upload-button:hover,
.ui.primary.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #5d2b59;
}
input[type="file"].ui.primary.file.input::-ms-browse,
.ui.primary.file.input input[type="file"]::-ms-browse {
  background: #6C3667;
  color: #FFFFFF;
}
input[type="file"].ui.primary.file.input::-ms-browse:hover,
.ui.primary.file.input input[type="file"]::-ms-browse:hover {
  background: #5d2b59;
}
input[type="file"].ui.primary.file.input::file-selector-button,
.ui.primary.file.input input[type="file"]::file-selector-button {
  background: #6C3667;
  color: #FFFFFF;
}
input[type="file"].ui.primary.file.input::file-selector-button:hover,
.ui.primary.file.input input[type="file"]::file-selector-button:hover {
  background: #5d2b59;
}
input[type="file"].ui.secondary.file.input::-webkit-file-upload-button,
.ui.secondary.file.input input[type="file"]::-webkit-file-upload-button {
  background: #88d317;
  color: #FFFFFF;
}
input[type="file"].ui.secondary.file.input::-webkit-file-upload-button:hover,
.ui.secondary.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #98f013;
}
input[type="file"].ui.secondary.file.input::-ms-browse,
.ui.secondary.file.input input[type="file"]::-ms-browse {
  background: #88d317;
  color: #FFFFFF;
}
input[type="file"].ui.secondary.file.input::-ms-browse:hover,
.ui.secondary.file.input input[type="file"]::-ms-browse:hover {
  background: #98f013;
}
input[type="file"].ui.secondary.file.input::file-selector-button,
.ui.secondary.file.input input[type="file"]::file-selector-button {
  background: #88d317;
  color: #FFFFFF;
}
input[type="file"].ui.secondary.file.input::file-selector-button:hover,
.ui.secondary.file.input input[type="file"]::file-selector-button:hover {
  background: #98f013;
}
input[type="file"].ui.red.file.input::-webkit-file-upload-button,
.ui.red.file.input input[type="file"]::-webkit-file-upload-button {
  background: #db2828;
  color: #FFFFFF;
}
input[type="file"].ui.red.file.input::-webkit-file-upload-button:hover,
.ui.red.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #d01919;
}
input[type="file"].ui.red.file.input::-ms-browse,
.ui.red.file.input input[type="file"]::-ms-browse {
  background: #db2828;
  color: #FFFFFF;
}
input[type="file"].ui.red.file.input::-ms-browse:hover,
.ui.red.file.input input[type="file"]::-ms-browse:hover {
  background: #d01919;
}
input[type="file"].ui.red.file.input::file-selector-button,
.ui.red.file.input input[type="file"]::file-selector-button {
  background: #db2828;
  color: #FFFFFF;
}
input[type="file"].ui.red.file.input::file-selector-button:hover,
.ui.red.file.input input[type="file"]::file-selector-button:hover {
  background: #d01919;
}
input[type="file"].ui.orange.file.input::-webkit-file-upload-button,
.ui.orange.file.input input[type="file"]::-webkit-file-upload-button {
  background: #f2711c;
  color: #FFFFFF;
}
input[type="file"].ui.orange.file.input::-webkit-file-upload-button:hover,
.ui.orange.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #f26202;
}
input[type="file"].ui.orange.file.input::-ms-browse,
.ui.orange.file.input input[type="file"]::-ms-browse {
  background: #f2711c;
  color: #FFFFFF;
}
input[type="file"].ui.orange.file.input::-ms-browse:hover,
.ui.orange.file.input input[type="file"]::-ms-browse:hover {
  background: #f26202;
}
input[type="file"].ui.orange.file.input::file-selector-button,
.ui.orange.file.input input[type="file"]::file-selector-button {
  background: #f2711c;
  color: #FFFFFF;
}
input[type="file"].ui.orange.file.input::file-selector-button:hover,
.ui.orange.file.input input[type="file"]::file-selector-button:hover {
  background: #f26202;
}
input[type="file"].ui.yellow.file.input::-webkit-file-upload-button,
.ui.yellow.file.input input[type="file"]::-webkit-file-upload-button {
  background: #fbbd08;
  color: #FFFFFF;
}
input[type="file"].ui.yellow.file.input::-webkit-file-upload-button:hover,
.ui.yellow.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #eaae00;
}
input[type="file"].ui.yellow.file.input::-ms-browse,
.ui.yellow.file.input input[type="file"]::-ms-browse {
  background: #fbbd08;
  color: #FFFFFF;
}
input[type="file"].ui.yellow.file.input::-ms-browse:hover,
.ui.yellow.file.input input[type="file"]::-ms-browse:hover {
  background: #eaae00;
}
input[type="file"].ui.yellow.file.input::file-selector-button,
.ui.yellow.file.input input[type="file"]::file-selector-button {
  background: #fbbd08;
  color: #FFFFFF;
}
input[type="file"].ui.yellow.file.input::file-selector-button:hover,
.ui.yellow.file.input input[type="file"]::file-selector-button:hover {
  background: #eaae00;
}
input[type="file"].ui.olive.file.input::-webkit-file-upload-button,
.ui.olive.file.input input[type="file"]::-webkit-file-upload-button {
  background: #b5cc18;
  color: #FFFFFF;
}
input[type="file"].ui.olive.file.input::-webkit-file-upload-button:hover,
.ui.olive.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #a7bd0d;
}
input[type="file"].ui.olive.file.input::-ms-browse,
.ui.olive.file.input input[type="file"]::-ms-browse {
  background: #b5cc18;
  color: #FFFFFF;
}
input[type="file"].ui.olive.file.input::-ms-browse:hover,
.ui.olive.file.input input[type="file"]::-ms-browse:hover {
  background: #a7bd0d;
}
input[type="file"].ui.olive.file.input::file-selector-button,
.ui.olive.file.input input[type="file"]::file-selector-button {
  background: #b5cc18;
  color: #FFFFFF;
}
input[type="file"].ui.olive.file.input::file-selector-button:hover,
.ui.olive.file.input input[type="file"]::file-selector-button:hover {
  background: #a7bd0d;
}
input[type="file"].ui.green.file.input::-webkit-file-upload-button,
.ui.green.file.input input[type="file"]::-webkit-file-upload-button {
  background: #21ba45;
  color: #FFFFFF;
}
input[type="file"].ui.green.file.input::-webkit-file-upload-button:hover,
.ui.green.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #16ab39;
}
input[type="file"].ui.green.file.input::-ms-browse,
.ui.green.file.input input[type="file"]::-ms-browse {
  background: #21ba45;
  color: #FFFFFF;
}
input[type="file"].ui.green.file.input::-ms-browse:hover,
.ui.green.file.input input[type="file"]::-ms-browse:hover {
  background: #16ab39;
}
input[type="file"].ui.green.file.input::file-selector-button,
.ui.green.file.input input[type="file"]::file-selector-button {
  background: #21ba45;
  color: #FFFFFF;
}
input[type="file"].ui.green.file.input::file-selector-button:hover,
.ui.green.file.input input[type="file"]::file-selector-button:hover {
  background: #16ab39;
}
input[type="file"].ui.teal.file.input::-webkit-file-upload-button,
.ui.teal.file.input input[type="file"]::-webkit-file-upload-button {
  background: #00b5ad;
  color: #FFFFFF;
}
input[type="file"].ui.teal.file.input::-webkit-file-upload-button:hover,
.ui.teal.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #009c95;
}
input[type="file"].ui.teal.file.input::-ms-browse,
.ui.teal.file.input input[type="file"]::-ms-browse {
  background: #00b5ad;
  color: #FFFFFF;
}
input[type="file"].ui.teal.file.input::-ms-browse:hover,
.ui.teal.file.input input[type="file"]::-ms-browse:hover {
  background: #009c95;
}
input[type="file"].ui.teal.file.input::file-selector-button,
.ui.teal.file.input input[type="file"]::file-selector-button {
  background: #00b5ad;
  color: #FFFFFF;
}
input[type="file"].ui.teal.file.input::file-selector-button:hover,
.ui.teal.file.input input[type="file"]::file-selector-button:hover {
  background: #009c95;
}
input[type="file"].ui.blue.file.input::-webkit-file-upload-button,
.ui.blue.file.input input[type="file"]::-webkit-file-upload-button {
  background: #2185d0;
  color: #FFFFFF;
}
input[type="file"].ui.blue.file.input::-webkit-file-upload-button:hover,
.ui.blue.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #1678c2;
}
input[type="file"].ui.blue.file.input::-ms-browse,
.ui.blue.file.input input[type="file"]::-ms-browse {
  background: #2185d0;
  color: #FFFFFF;
}
input[type="file"].ui.blue.file.input::-ms-browse:hover,
.ui.blue.file.input input[type="file"]::-ms-browse:hover {
  background: #1678c2;
}
input[type="file"].ui.blue.file.input::file-selector-button,
.ui.blue.file.input input[type="file"]::file-selector-button {
  background: #2185d0;
  color: #FFFFFF;
}
input[type="file"].ui.blue.file.input::file-selector-button:hover,
.ui.blue.file.input input[type="file"]::file-selector-button:hover {
  background: #1678c2;
}
input[type="file"].ui.violet.file.input::-webkit-file-upload-button,
.ui.violet.file.input input[type="file"]::-webkit-file-upload-button {
  background: #6435c9;
  color: #FFFFFF;
}
input[type="file"].ui.violet.file.input::-webkit-file-upload-button:hover,
.ui.violet.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #5829bb;
}
input[type="file"].ui.violet.file.input::-ms-browse,
.ui.violet.file.input input[type="file"]::-ms-browse {
  background: #6435c9;
  color: #FFFFFF;
}
input[type="file"].ui.violet.file.input::-ms-browse:hover,
.ui.violet.file.input input[type="file"]::-ms-browse:hover {
  background: #5829bb;
}
input[type="file"].ui.violet.file.input::file-selector-button,
.ui.violet.file.input input[type="file"]::file-selector-button {
  background: #6435c9;
  color: #FFFFFF;
}
input[type="file"].ui.violet.file.input::file-selector-button:hover,
.ui.violet.file.input input[type="file"]::file-selector-button:hover {
  background: #5829bb;
}
input[type="file"].ui.purple.file.input::-webkit-file-upload-button,
.ui.purple.file.input input[type="file"]::-webkit-file-upload-button {
  background: #a333c8;
  color: #FFFFFF;
}
input[type="file"].ui.purple.file.input::-webkit-file-upload-button:hover,
.ui.purple.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #9627ba;
}
input[type="file"].ui.purple.file.input::-ms-browse,
.ui.purple.file.input input[type="file"]::-ms-browse {
  background: #a333c8;
  color: #FFFFFF;
}
input[type="file"].ui.purple.file.input::-ms-browse:hover,
.ui.purple.file.input input[type="file"]::-ms-browse:hover {
  background: #9627ba;
}
input[type="file"].ui.purple.file.input::file-selector-button,
.ui.purple.file.input input[type="file"]::file-selector-button {
  background: #a333c8;
  color: #FFFFFF;
}
input[type="file"].ui.purple.file.input::file-selector-button:hover,
.ui.purple.file.input input[type="file"]::file-selector-button:hover {
  background: #9627ba;
}
input[type="file"].ui.pink.file.input::-webkit-file-upload-button,
.ui.pink.file.input input[type="file"]::-webkit-file-upload-button {
  background: #e03997;
  color: #FFFFFF;
}
input[type="file"].ui.pink.file.input::-webkit-file-upload-button:hover,
.ui.pink.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #e61a8d;
}
input[type="file"].ui.pink.file.input::-ms-browse,
.ui.pink.file.input input[type="file"]::-ms-browse {
  background: #e03997;
  color: #FFFFFF;
}
input[type="file"].ui.pink.file.input::-ms-browse:hover,
.ui.pink.file.input input[type="file"]::-ms-browse:hover {
  background: #e61a8d;
}
input[type="file"].ui.pink.file.input::file-selector-button,
.ui.pink.file.input input[type="file"]::file-selector-button {
  background: #e03997;
  color: #FFFFFF;
}
input[type="file"].ui.pink.file.input::file-selector-button:hover,
.ui.pink.file.input input[type="file"]::file-selector-button:hover {
  background: #e61a8d;
}
input[type="file"].ui.brown.file.input::-webkit-file-upload-button,
.ui.brown.file.input input[type="file"]::-webkit-file-upload-button {
  background: #a5673f;
  color: #FFFFFF;
}
input[type="file"].ui.brown.file.input::-webkit-file-upload-button:hover,
.ui.brown.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #975b33;
}
input[type="file"].ui.brown.file.input::-ms-browse,
.ui.brown.file.input input[type="file"]::-ms-browse {
  background: #a5673f;
  color: #FFFFFF;
}
input[type="file"].ui.brown.file.input::-ms-browse:hover,
.ui.brown.file.input input[type="file"]::-ms-browse:hover {
  background: #975b33;
}
input[type="file"].ui.brown.file.input::file-selector-button,
.ui.brown.file.input input[type="file"]::file-selector-button {
  background: #a5673f;
  color: #FFFFFF;
}
input[type="file"].ui.brown.file.input::file-selector-button:hover,
.ui.brown.file.input input[type="file"]::file-selector-button:hover {
  background: #975b33;
}
input[type="file"].ui.grey.file.input::-webkit-file-upload-button,
.ui.grey.file.input input[type="file"]::-webkit-file-upload-button {
  background: #767676;
  color: #FFFFFF;
}
input[type="file"].ui.grey.file.input::-webkit-file-upload-button:hover,
.ui.grey.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #838383;
}
input[type="file"].ui.grey.file.input::-ms-browse,
.ui.grey.file.input input[type="file"]::-ms-browse {
  background: #767676;
  color: #FFFFFF;
}
input[type="file"].ui.grey.file.input::-ms-browse:hover,
.ui.grey.file.input input[type="file"]::-ms-browse:hover {
  background: #838383;
}
input[type="file"].ui.grey.file.input::file-selector-button,
.ui.grey.file.input input[type="file"]::file-selector-button {
  background: #767676;
  color: #FFFFFF;
}
input[type="file"].ui.grey.file.input::file-selector-button:hover,
.ui.grey.file.input input[type="file"]::file-selector-button:hover {
  background: #838383;
}
input[type="file"].ui.black.file.input::-webkit-file-upload-button,
.ui.black.file.input input[type="file"]::-webkit-file-upload-button {
  background: #1b1c1d;
  color: #FFFFFF;
}
input[type="file"].ui.black.file.input::-webkit-file-upload-button:hover,
.ui.black.file.input input[type="file"]::-webkit-file-upload-button:hover {
  background: #27292a;
}
input[type="file"].ui.black.file.input::-ms-browse,
.ui.black.file.input input[type="file"]::-ms-browse {
  background: #1b1c1d;
  color: #FFFFFF;
}
input[type="file"].ui.black.file.input::-ms-browse:hover,
.ui.black.file.input input[type="file"]::-ms-browse:hover {
  background: #27292a;
}
input[type="file"].ui.black.file.input::file-selector-button,
.ui.black.file.input input[type="file"]::file-selector-button {
  background: #1b1c1d;
  color: #FFFFFF;
}
input[type="file"].ui.black.file.input::file-selector-button:hover,
.ui.black.file.input input[type="file"]::file-selector-button:hover {
  background: #27292a;
}
/* --------------------
        Size
--------------------- */
.ui.input {
  font-size: 1em;
}
.ui.mini.input {
  font-size: 0.78571429em;
}
.ui.tiny.input {
  font-size: 0.85714286em;
}
.ui.small.input {
  font-size: 0.92857143em;
}
.ui.large.input {
  font-size: 1.14285714em;
}
.ui.big.input {
  font-size: 1.28571429em;
}
.ui.huge.input {
  font-size: 1.42857143em;
}
.ui.massive.input {
  font-size: 1.71428571em;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Label
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Label
*******************************/
/* -------------------
       Element
-------------------- */
/* medium is not @emSize custom value required */
/* Group */
/* -------------------
        Parts
-------------------- */
/* Link */
/* Icon */
/* Image */
/* Detail */
/* Delete */
/* -------------------
        Types
-------------------- */
/* Image Label */
/* -------------------
        States
-------------------- */
/* Hover */
/* Active */
/* Active Hover */
/* -------------------
      Variations
-------------------- */
/* Basic */
/* Tag */
/* Avoids error with background: inherit; on animation */
/* Ribbon */
/* Rounding Offset on Triangle */
/* Rounding Offset on Triangle */
/* Inverted */
/* Colors */
/* Attached */
/* Corner */
/* Corner Text */
/* Horizontal */
/* Circular Padding */
/* Pointing */
/* Avoids error with background: inherit; on animation */
/* Basic Pointing */
/* Floating */
/* -------------------
        Group
-------------------- */
/* Sizing */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Label
*******************************/
.ui.label {
  display: inline-block;
  line-height: 1;
  vertical-align: baseline;
  margin: 0 0.14285714em;
  background-color: #e8e8e8;
  background-image: none;
  padding: 0.5833em 0.833em;
  color: rgba(0, 0, 0, 0.6);
  text-transform: none;
  font-weight: bold;
  border: 0 solid transparent;
  border-radius: 0.28571429rem;
  transition: background 0.1s ease;
}
.ui.label:first-child {
  margin-left: 0;
}
.ui.label:last-child {
  margin-right: 0;
}
/* Link */
a.ui.label {
  cursor: pointer;
}
/* Inside Link */
.ui.label > a {
  cursor: pointer;
  color: inherit;
  opacity: 0.5;
  transition: 0.1s opacity ease;
}
.ui.label > a:hover {
  opacity: 1;
}
/* Image */
.ui.label > img {
  width: auto !important;
  vertical-align: middle;
  height: 2.1666em;
}
/* Icon */
.ui.ui[class*="left icon"].label > .icon,
.ui.label > .icon {
  width: auto;
  margin: 0 0.75em 0 0;
}
/* Detail */
.ui.label > .detail {
  display: inline-block;
  vertical-align: top;
  font-weight: bold;
  margin-left: 1em;
  opacity: 0.8;
}
.ui.label > .detail .icon {
  margin: 0 0.25em 0 0;
}
/* Removable label */
.ui.label > .close.icon,
.ui.label > .delete.icon {
  cursor: pointer;
  font-size: 0.92857143em;
  opacity: 0.5;
  transition: background 0.1s ease;
}
.ui.label > .close.icon:hover,
.ui.label > .delete.icon:hover {
  opacity: 1;
}
/* Backward compatible positioning */
.ui.label[class*="left icon"] > .close.icon,
.ui.label[class*="left icon"] > .delete.icon {
  margin: 0 0.5em 0 0;
}
.ui.label[class*="left icon"] > .close.icon.right,
.ui.label[class*="left icon"] > .delete.icon.right {
  margin: 0 0 0 0.5em;
}
.ui.label:not(.icon) > .close.icon,
.ui.label:not(.icon) > .delete.icon {
  margin: 0 0 0 0.5em;
}
/* Label for only an icon */
.ui.icon.label > .icon {
  margin: 0 auto;
}
/* Right Side Icon */
.ui[class*="right icon"].label > .icon {
  margin: 0 0 0 0.75em;
}
/* -------------------
       Group
-------------------- */
.ui.labels > .label {
  margin: 0 0.5em 0.5em 0;
}
/* -------------------
       Coupling
-------------------- */
.ui.header > .ui.label {
  margin-top: -0.29165em;
}
/* Remove border radius on attached segment */
.ui.attached.segment > .ui.top.left.attached.label,
.ui.bottom.attached.segment > .ui.top.left.attached.label {
  border-top-left-radius: 0;
}
.ui.attached.segment > .ui.top.right.attached.label,
.ui.bottom.attached.segment > .ui.top.right.attached.label {
  border-top-right-radius: 0;
}
.ui.top.attached.segment > .ui.bottom.left.attached.label {
  border-bottom-left-radius: 0;
}
.ui.top.attached.segment > .ui.bottom.right.attached.label {
  border-bottom-right-radius: 0;
}
/* Padding on next content after a label */
.ui.top.attached.label ~ .ui.bottom.attached.label + :not(.attached),
.ui.top.attached.label + :not(.attached) {
  margin-top: 2rem !important;
}
.ui.bottom.attached.label ~ :last-child:not(.attached) {
  margin-top: 0;
  margin-bottom: 2rem !important;
}
.ui.segment:not(.basic) > .ui.top.attached.label {
  margin-top: -1px;
}
.ui.segment:not(.basic) > .ui.bottom.attached.label {
  margin-bottom: -1px;
}
.ui.segment:not(.basic) > .ui.attached.label:not(.right) {
  margin-left: -1px;
}
.ui.segment:not(.basic) > .ui.right.attached.label {
  margin-right: -1px;
}
.ui.segment:not(.basic) > .ui.attached.label:not(.left):not(.right) {
  width: calc(100% + 2px);
}
/*******************************
             Types
*******************************/
.ui.image.labels .label,
.ui.image.label {
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
  max-width: 9999px;
  vertical-align: baseline;
  text-transform: none;
  background: #e8e8e8;
  padding: 0.5833em 0.833em 0.5833em 0.5em;
  border-radius: 0.28571429rem;
  box-shadow: none;
}
.ui.image.labels .label.attached:not(.basic),
.ui.image.label.attached:not(.basic) {
  padding: 0.5833em 0.833em 0.5833em 0.5em;
}
.ui.labels .image.label,
.ui.image.labels .label {
  margin-bottom: 0.5em;
}
.ui.image.label img {
  display: inline-block;
  vertical-align: top;
  height: 2.1666em;
  margin: -0.5833em 0.5em -0.5833em -0.5em;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui.image.label .detail {
  background: rgba(0, 0, 0, 0.1);
  margin: -0.5833em -0.833em -0.5833em 0.5em;
  padding: 0.5833em 0.833em;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui.bottom.attached.image.label:not(.right) > img,
.ui.top.right.attached.image.label > img {
  border-top-left-radius: 0;
}
.ui.top.attached.image.label:not(.right) > img,
.ui.bottom.right.attached.image.label > img {
  border-bottom-left-radius: 0;
}
/* -------------------
             Tag
    -------------------- */
.ui.tag.labels .label,
.ui.tag.label {
  margin-left: 1em;
  position: relative;
  padding-left: 1.5em;
  padding-right: 1.5em;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
  transition: none;
}
.ui.tag.labels .label::before,
.ui.tag.label::before {
  position: absolute;
  transform: translateY(-50%) translateX(50%) rotate(-45deg);
  top: 50%;
  right: 100%;
  content: "";
  background-color: inherit;
  background-image: none;
  width: 1.56em;
  height: 1.56em;
  transition: none;
}
.ui.tag.labels .label::after,
.ui.tag.label::after {
  position: absolute;
  content: "";
  top: 50%;
  left: -0.25em;
  margin-top: -0.25em;
  background-color: #FFFFFF;
  width: 0.5em;
  height: 0.5em;
  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);
  border-radius: 500rem;
}
.ui.basic.tag.labels .label::before,
.ui.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  right: calc(100% + 1px);
}
.ui.basic.tag.labels .label::after,
.ui.basic.tag.label::after {
  box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.8);
}
/* -------------------
        Corner Label
    -------------------- */
.ui.corner.label {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  text-align: center;
  border-color: #e8e8e8;
  width: 4em;
  height: 4em;
  z-index: 1;
  transition: border-color 0.1s ease;
}
/* Icon Label */
.ui.corner.label {
  background-color: transparent !important;
}
.ui.corner.label::after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  z-index: -1;
  width: 0;
  height: 0;
  background-color: transparent;
  border-top: 0 solid transparent;
  border-right: 4em solid transparent;
  border-bottom: 4em solid transparent;
  border-left: 0 solid transparent;
  border-right-color: inherit;
  transition: border-color 0.1s ease;
}
.ui.corner.label .icon {
  cursor: inherit;
  position: absolute;
  top: 0.64285714em;
  left: auto;
  right: 0.57142857em;
  font-size: 1.14285714em;
  margin: 0;
}
/* Left Corner */
.ui.left.corner.label,
.ui.left.corner.label::after {
  right: auto;
  left: 0;
}
.ui.left.corner.label::after {
  border-top: 4em solid transparent;
  border-right: 4em solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 0 solid transparent;
  border-top-color: inherit;
}
.ui.left.corner.label .icon {
  left: 0.57142857em;
  right: auto;
}
/* Segment */
.ui.segment > .ui.corner.label {
  top: -1px;
  right: -1px;
}
.ui.segment > .ui.left.corner.label {
  right: auto;
  left: -1px;
}
/* -------------------
           Ribbon
    -------------------- */
.ui.ribbon.label {
  position: relative;
  margin: 0;
  min-width: -moz-max-content;
  min-width: max-content;
  border-radius: 0 0.28571429rem 0.28571429rem 0;
  border-color: rgba(0, 0, 0, 0.15);
}
.ui.ribbon.label::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  background-color: transparent;
  border-style: solid;
  border-width: 0 1.2em 1.2em 0;
  border-color: transparent;
  border-right-color: inherit;
  width: 0;
  height: 0;
}
/* Positioning */
.ui.ribbon.label {
  left: calc(-1rem - 1.2em);
  margin-right: -1.2em;
  padding-left: calc(1rem + 1.2em);
  padding-right: 1.2em;
}
.ui[class*="right ribbon"].label {
  left: calc(100% + 1rem + 1.2em);
  padding-left: 1.2em;
  padding-right: calc(1rem + 1.2em);
}
.ui.basic.ribbon.label {
  padding-top: calc(0.5833em - 1px);
  padding-bottom: calc(0.5833em - 1px);
}
.ui.basic.ribbon.label:not([class*="right ribbon"]) {
  padding-left: calc(1rem + 1.2em - 1px);
  padding-right: calc(1.2em - 1px);
}
.ui.basic[class*="right ribbon"].label {
  padding-left: calc(1.2em - 1px);
  padding-right: calc(1rem + 1.2em - 1px);
}
.ui.basic.ribbon.label::after {
  top: calc(100% + 1px);
}
.ui.basic.ribbon.label:not([class*="right ribbon"])::after {
  left: -1px;
}
.ui.basic[class*="right ribbon"].label::after {
  right: -1px;
}
/* Right Ribbon */
.ui[class*="right ribbon"].label {
  text-align: left;
  transform: translateX(-100%);
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui[class*="right ribbon"].label::after {
  left: auto;
  right: 0;
  border-style: solid;
  border-width: 1.2em 1.2em 0 0;
  border-color: transparent;
  border-top-color: inherit;
}
.ui.ui.center.ribbon.label {
  top: calc(50% - 1em);
  z-index: 1;
}
.ui.bottom.ribbon.label::after {
  bottom: 100%;
  top: auto;
  border-width: 1.2em 1.2em 0 0;
}
.ui.bottom[class*="right ribbon"].label::after {
  border-width: 1.2em 0 0 1.2em;
  border-color: transparent;
  border-left-color: inherit;
}
/* Inside Image */
.ui.image > .ribbon.label,
.ui.card .image > .ribbon.label {
  position: absolute;
  top: 1rem;
}
.ui.card .image > .ui.ribbon.label,
.ui.image > .ui.ribbon.label {
  left: calc(0.05rem - 1.2em);
}
.ui.card .image > .ui[class*="right ribbon"].label,
.ui.image > .ui[class*="right ribbon"].label {
  left: calc(100% + -0.05rem + 1.2em);
  padding-left: 0.833em;
}
.ui.card .image > .ui.bottom.ribbon.label,
.ui.image > .ui.bottom.ribbon.label {
  bottom: 1rem;
  top: auto;
}
/* Inside Table */
.ui.table td > .ui.ribbon.label {
  left: calc(-1em - 1.2em);
}
.ui.table td > .ui[class*="right ribbon"].label {
  left: calc(100% + 1em + 1.2em);
  padding-left: 0.833em;
}
/* -------------------
          Attached
    -------------------- */
.ui[class*="top attached"].label,
.ui.attached.label {
  width: 100%;
  position: absolute;
  margin: 0;
  top: 0;
  left: 0;
  padding: 0.75em 1em;
  border-radius: 0.21428571rem 0.21428571rem 0 0;
}
.ui[class*="bottom attached"].label {
  top: auto;
  bottom: 0;
  border-radius: 0 0 0.21428571rem 0.21428571rem;
}
.ui[class*="top left attached"].label {
  width: auto;
  margin-top: 0;
  border-radius: 0.21428571rem 0 0.28571429rem 0;
}
.ui[class*="top right attached"].label {
  width: auto;
  left: auto;
  right: 0;
  border-radius: 0 0.21428571rem 0 0.28571429rem;
}
.ui[class*="bottom left attached"].label {
  width: auto;
  top: auto;
  bottom: 0;
  border-radius: 0 0.28571429rem 0 0.21428571rem;
}
.ui[class*="bottom right attached"].label {
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
  width: auto;
  border-radius: 0.28571429rem 0 0.21428571rem 0;
}
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
.ui.disabled.labels .label,
.ui.label.disabled {
  opacity: 0.45;
  pointer-events: none;
}
/* -------------------
        Hover
-------------------- */
.ui.labels a.label:hover,
a.ui.label:hover {
  background-color: #e0e0e0;
  border-color: #e0e0e0;
  background-image: none;
  color: rgba(0, 0, 0, 0.8);
}
.ui.labels a.label:hover::before,
a.ui.label:hover::before {
  color: rgba(0, 0, 0, 0.8);
}
/* -------------------
        Active
-------------------- */
.ui.active.label {
  background-color: #d0d0d0;
  border-color: #d0d0d0;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}
.ui.active.label::before {
  background-color: #d0d0d0;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}
/* -------------------
     Active Hover
-------------------- */
.ui.labels a.active.label:hover,
a.ui.active.label:hover {
  background-color: #c8c8c8;
  border-color: #c8c8c8;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}
.ui.labels a.active.label:hover::before,
a.ui.active.label:hover::before {
  background-color: #c8c8c8;
  background-image: none;
  color: rgba(0, 0, 0, 0.95);
}
/* -------------------
      Visible
-------------------- */
.ui.labels.visible .label,
.ui.label.visible:not(.dropdown) {
  display: inline-block !important;
}
/* -------------------
      Hidden
-------------------- */
.ui.labels.hidden .label,
.ui.label.hidden {
  display: none !important;
}
/*******************************
           Variations
*******************************/
/* -------------------
            Basic
    -------------------- */
.ui.basic.labels .label,
.ui.basic.label {
  background: none #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
  padding-top: calc(0.5833em - 1px);
  padding-bottom: calc(0.5833em - 1px);
  padding-right: calc(0.833em - 1px);
}
.ui.basic.labels:not(.tag):not(.image):not(.ribbon) .label,
.ui.basic.label:not(.tag):not(.image):not(.ribbon) {
  padding-left: calc(0.833em - 1px);
}
.ui.basic.image.label {
  padding-left: calc(0.5em - 1px);
}
/* Link */
.ui.basic.labels a.label:hover,
a.ui.basic.label:hover {
  text-decoration: none;
  background: none #FFFFFF;
  color: #1e70bf;
  box-shadow: none;
}
/* Pointing */
.ui.basic.pointing.label::before {
  border-color: inherit;
}
/* -------------------
           Fluid
    -------------------- */
.ui.label.fluid,
.ui.fluid.labels > .label {
  width: 100%;
  box-sizing: border-box;
}
.ui.centered.labels .label,
.ui.centered.label {
  text-align: center;
}
/* -------------------
           Inverted
    -------------------- */
.ui.inverted.labels .label,
.ui.inverted.label {
  color: rgba(255, 255, 255, 0.9);
  background-color: #b5b5b5;
}
.ui.inverted.corner.label {
  border-color: #b5b5b5;
}
.ui.inverted.corner.label:hover {
  border-color: #e8e8e8;
  transition: none;
}
.ui.inverted.basic.labels .label,
.ui.inverted.basic.label,
.ui.inverted.basic.label:hover {
  border-color: rgba(255, 255, 255, 0.5);
  background: #1b1c1d;
}
.ui.inverted.basic.label:hover {
  color: #4183c4;
}
/* -------------------
       Colors
-------------------- */
.ui.primary.labels .label,
.ui.ui.ui.primary.label {
  background-color: #6C3667;
  border-color: #6C3667;
  color: rgba(255, 255, 255, 0.9);
}
/* Link */
.ui.primary.labels a.label:hover,
a.ui.ui.ui.primary.label:hover {
  background-color: #5d2b59;
  border-color: #5d2b59;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.primary.ribbon.label {
  border-color: #4a2547;
}
/* Basic */
.ui.basic.labels .primary.label,
.ui.ui.ui.basic.primary.label {
  background: none #FFFFFF;
  border-color: #6C3667;
  color: #6C3667;
}
.ui.basic.labels a.primary.label:hover,
a.ui.ui.ui.basic.primary.label:hover {
  background: none #FFFFFF;
  border-color: #5d2b59;
  color: #5d2b59;
}
/* Inverted */
.ui.inverted.labels .primary.label,
.ui.ui.ui.inverted.primary.label {
  background-color: #54c8ff;
  border-color: #54c8ff;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.primary.label:hover,
a.ui.ui.ui.inverted.primary.label:hover {
  background-color: #21b8ff;
  border-color: #21b8ff;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.primary.ribbon.label {
  border-color: #21b8ff;
}
/* Inverted Basic */
.ui.inverted.basic.labels .primary.label,
.ui.ui.ui.inverted.basic.primary.label {
  background-color: #1b1c1d;
  border-color: #54c8ff;
  color: #54c8ff;
}
.ui.inverted.basic.labels a.primary.label:hover,
a.ui.ui.ui.inverted.basic.primary.label:hover {
  border-color: #21b8ff;
  background-color: #1b1c1d;
  color: #21b8ff;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .primary.label,
.ui.ui.ui.inverted.primary.basic.tag.label {
  border: 1px solid #54c8ff;
}
.ui.inverted.basic.tag.labels .primary.label::before,
.ui.ui.ui.inverted.primary.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.secondary.labels .label,
.ui.ui.ui.secondary.label {
  background-color: #88d317;
  border-color: #88d317;
  color: rgba(255, 255, 255, 0.9);
}
/* Link */
.ui.secondary.labels a.label:hover,
a.ui.ui.ui.secondary.label:hover {
  background-color: #98f013;
  border-color: #98f013;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.secondary.ribbon.label {
  border-color: #6aa512;
}
/* Basic */
.ui.basic.labels .secondary.label,
.ui.ui.ui.basic.secondary.label {
  background: none #FFFFFF;
  border-color: #88d317;
  color: #88d317;
}
.ui.basic.labels a.secondary.label:hover,
a.ui.ui.ui.basic.secondary.label:hover {
  background: none #FFFFFF;
  border-color: #98f013;
  color: #98f013;
}
/* Inverted */
.ui.inverted.labels .secondary.label,
.ui.ui.ui.inverted.secondary.label {
  background-color: #545454;
  border-color: #545454;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.secondary.label:hover,
a.ui.ui.ui.inverted.secondary.label:hover {
  background-color: #6e6e6e;
  border-color: #6e6e6e;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.secondary.ribbon.label {
  border-color: #3b3b3b;
}
/* Inverted Basic */
.ui.inverted.basic.labels .secondary.label,
.ui.ui.ui.inverted.basic.secondary.label {
  background-color: #1b1c1d;
  border-color: #545454;
  color: #545454;
}
.ui.inverted.basic.labels a.secondary.label:hover,
a.ui.ui.ui.inverted.basic.secondary.label:hover {
  border-color: #6e6e6e;
  background-color: #1b1c1d;
  color: #6e6e6e;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .secondary.label,
.ui.ui.ui.inverted.secondary.basic.tag.label {
  border: 1px solid #545454;
}
.ui.inverted.basic.tag.labels .secondary.label::before,
.ui.ui.ui.inverted.secondary.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.red.labels .label,
.ui.ui.ui.red.label {
  background-color: #db2828;
  border-color: #db2828;
  color: #FFFFFF;
}
/* Link */
.ui.red.labels a.label:hover,
a.ui.ui.ui.red.label:hover {
  background-color: #d01919;
  border-color: #d01919;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.red.ribbon.label {
  border-color: #b21e1e;
}
/* Basic */
.ui.basic.labels .red.label,
.ui.ui.ui.basic.red.label {
  background: none #FFFFFF;
  border-color: #db2828;
  color: #db2828;
}
.ui.basic.labels a.red.label:hover,
a.ui.ui.ui.basic.red.label:hover {
  background: none #FFFFFF;
  border-color: #d01919;
  color: #d01919;
}
/* Inverted */
.ui.inverted.labels .red.label,
.ui.ui.ui.inverted.red.label {
  background-color: #ff695e;
  border-color: #ff695e;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.red.label:hover,
a.ui.ui.ui.inverted.red.label:hover {
  background-color: #ff392b;
  border-color: #ff392b;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.red.ribbon.label {
  border-color: #ff392b;
}
/* Inverted Basic */
.ui.inverted.basic.labels .red.label,
.ui.ui.ui.inverted.basic.red.label {
  background-color: #1b1c1d;
  border-color: #ff695e;
  color: #ff695e;
}
.ui.inverted.basic.labels a.red.label:hover,
a.ui.ui.ui.inverted.basic.red.label:hover {
  border-color: #ff392b;
  background-color: #1b1c1d;
  color: #ff392b;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .red.label,
.ui.ui.ui.inverted.red.basic.tag.label {
  border: 1px solid #ff695e;
}
.ui.inverted.basic.tag.labels .red.label::before,
.ui.ui.ui.inverted.red.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.orange.labels .label,
.ui.ui.ui.orange.label {
  background-color: #f2711c;
  border-color: #f2711c;
  color: #FFFFFF;
}
/* Link */
.ui.orange.labels a.label:hover,
a.ui.ui.ui.orange.label:hover {
  background-color: #f26202;
  border-color: #f26202;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.orange.ribbon.label {
  border-color: #cf590c;
}
/* Basic */
.ui.basic.labels .orange.label,
.ui.ui.ui.basic.orange.label {
  background: none #FFFFFF;
  border-color: #f2711c;
  color: #f2711c;
}
.ui.basic.labels a.orange.label:hover,
a.ui.ui.ui.basic.orange.label:hover {
  background: none #FFFFFF;
  border-color: #f26202;
  color: #f26202;
}
/* Inverted */
.ui.inverted.labels .orange.label,
.ui.ui.ui.inverted.orange.label {
  background-color: #ff851b;
  border-color: #ff851b;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.orange.label:hover,
a.ui.ui.ui.inverted.orange.label:hover {
  background-color: #e76b00;
  border-color: #e76b00;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.orange.ribbon.label {
  border-color: #e76b00;
}
/* Inverted Basic */
.ui.inverted.basic.labels .orange.label,
.ui.ui.ui.inverted.basic.orange.label {
  background-color: #1b1c1d;
  border-color: #ff851b;
  color: #ff851b;
}
.ui.inverted.basic.labels a.orange.label:hover,
a.ui.ui.ui.inverted.basic.orange.label:hover {
  border-color: #e76b00;
  background-color: #1b1c1d;
  color: #e76b00;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .orange.label,
.ui.ui.ui.inverted.orange.basic.tag.label {
  border: 1px solid #ff851b;
}
.ui.inverted.basic.tag.labels .orange.label::before,
.ui.ui.ui.inverted.orange.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.yellow.labels .label,
.ui.ui.ui.yellow.label {
  background-color: #fbbd08;
  border-color: #fbbd08;
  color: #FFFFFF;
}
/* Link */
.ui.yellow.labels a.label:hover,
a.ui.ui.ui.yellow.label:hover {
  background-color: #eaae00;
  border-color: #eaae00;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.yellow.ribbon.label {
  border-color: #cd9903;
}
/* Basic */
.ui.basic.labels .yellow.label,
.ui.ui.ui.basic.yellow.label {
  background: none #FFFFFF;
  border-color: #fbbd08;
  color: #fbbd08;
}
.ui.basic.labels a.yellow.label:hover,
a.ui.ui.ui.basic.yellow.label:hover {
  background: none #FFFFFF;
  border-color: #eaae00;
  color: #eaae00;
}
/* Inverted */
.ui.inverted.labels .yellow.label,
.ui.ui.ui.inverted.yellow.label {
  background-color: #ffe21f;
  border-color: #ffe21f;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.yellow.label:hover,
a.ui.ui.ui.inverted.yellow.label:hover {
  background-color: #ebcd00;
  border-color: #ebcd00;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.yellow.ribbon.label {
  border-color: #ebcd00;
}
/* Inverted Basic */
.ui.inverted.basic.labels .yellow.label,
.ui.ui.ui.inverted.basic.yellow.label {
  background-color: #1b1c1d;
  border-color: #ffe21f;
  color: #ffe21f;
}
.ui.inverted.basic.labels a.yellow.label:hover,
a.ui.ui.ui.inverted.basic.yellow.label:hover {
  border-color: #ebcd00;
  background-color: #1b1c1d;
  color: #ebcd00;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .yellow.label,
.ui.ui.ui.inverted.yellow.basic.tag.label {
  border: 1px solid #ffe21f;
}
.ui.inverted.basic.tag.labels .yellow.label::before,
.ui.ui.ui.inverted.yellow.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.olive.labels .label,
.ui.ui.ui.olive.label {
  background-color: #b5cc18;
  border-color: #b5cc18;
  color: #FFFFFF;
}
/* Link */
.ui.olive.labels a.label:hover,
a.ui.ui.ui.olive.label:hover {
  background-color: #a7bd0d;
  border-color: #a7bd0d;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.olive.ribbon.label {
  border-color: #8d9e13;
}
/* Basic */
.ui.basic.labels .olive.label,
.ui.ui.ui.basic.olive.label {
  background: none #FFFFFF;
  border-color: #b5cc18;
  color: #b5cc18;
}
.ui.basic.labels a.olive.label:hover,
a.ui.ui.ui.basic.olive.label:hover {
  background: none #FFFFFF;
  border-color: #a7bd0d;
  color: #a7bd0d;
}
/* Inverted */
.ui.inverted.labels .olive.label,
.ui.ui.ui.inverted.olive.label {
  background-color: #d9e778;
  border-color: #d9e778;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.olive.label:hover,
a.ui.ui.ui.inverted.olive.label:hover {
  background-color: #d2e745;
  border-color: #d2e745;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.olive.ribbon.label {
  border-color: #cddf4d;
}
/* Inverted Basic */
.ui.inverted.basic.labels .olive.label,
.ui.ui.ui.inverted.basic.olive.label {
  background-color: #1b1c1d;
  border-color: #d9e778;
  color: #d9e778;
}
.ui.inverted.basic.labels a.olive.label:hover,
a.ui.ui.ui.inverted.basic.olive.label:hover {
  border-color: #d2e745;
  background-color: #1b1c1d;
  color: #d2e745;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .olive.label,
.ui.ui.ui.inverted.olive.basic.tag.label {
  border: 1px solid #d9e778;
}
.ui.inverted.basic.tag.labels .olive.label::before,
.ui.ui.ui.inverted.olive.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.green.labels .label,
.ui.ui.ui.green.label {
  background-color: #21ba45;
  border-color: #21ba45;
  color: #FFFFFF;
}
/* Link */
.ui.green.labels a.label:hover,
a.ui.ui.ui.green.label:hover {
  background-color: #16ab39;
  border-color: #16ab39;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.green.ribbon.label {
  border-color: #198f35;
}
/* Basic */
.ui.basic.labels .green.label,
.ui.ui.ui.basic.green.label {
  background: none #FFFFFF;
  border-color: #21ba45;
  color: #21ba45;
}
.ui.basic.labels a.green.label:hover,
a.ui.ui.ui.basic.green.label:hover {
  background: none #FFFFFF;
  border-color: #16ab39;
  color: #16ab39;
}
/* Inverted */
.ui.inverted.labels .green.label,
.ui.ui.ui.inverted.green.label {
  background-color: #2ecc40;
  border-color: #2ecc40;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.green.label:hover,
a.ui.ui.ui.inverted.green.label:hover {
  background-color: #1ea92e;
  border-color: #1ea92e;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.green.ribbon.label {
  border-color: #25a233;
}
/* Inverted Basic */
.ui.inverted.basic.labels .green.label,
.ui.ui.ui.inverted.basic.green.label {
  background-color: #1b1c1d;
  border-color: #2ecc40;
  color: #2ecc40;
}
.ui.inverted.basic.labels a.green.label:hover,
a.ui.ui.ui.inverted.basic.green.label:hover {
  border-color: #1ea92e;
  background-color: #1b1c1d;
  color: #1ea92e;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .green.label,
.ui.ui.ui.inverted.green.basic.tag.label {
  border: 1px solid #2ecc40;
}
.ui.inverted.basic.tag.labels .green.label::before,
.ui.ui.ui.inverted.green.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.teal.labels .label,
.ui.ui.ui.teal.label {
  background-color: #00b5ad;
  border-color: #00b5ad;
  color: #FFFFFF;
}
/* Link */
.ui.teal.labels a.label:hover,
a.ui.ui.ui.teal.label:hover {
  background-color: #009c95;
  border-color: #009c95;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.teal.ribbon.label {
  border-color: #00827c;
}
/* Basic */
.ui.basic.labels .teal.label,
.ui.ui.ui.basic.teal.label {
  background: none #FFFFFF;
  border-color: #00b5ad;
  color: #00b5ad;
}
.ui.basic.labels a.teal.label:hover,
a.ui.ui.ui.basic.teal.label:hover {
  background: none #FFFFFF;
  border-color: #009c95;
  color: #009c95;
}
/* Inverted */
.ui.inverted.labels .teal.label,
.ui.ui.ui.inverted.teal.label {
  background-color: #6dffff;
  border-color: #6dffff;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.teal.label:hover,
a.ui.ui.ui.inverted.teal.label:hover {
  background-color: #3affff;
  border-color: #3affff;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.teal.ribbon.label {
  border-color: #3affff;
}
/* Inverted Basic */
.ui.inverted.basic.labels .teal.label,
.ui.ui.ui.inverted.basic.teal.label {
  background-color: #1b1c1d;
  border-color: #6dffff;
  color: #6dffff;
}
.ui.inverted.basic.labels a.teal.label:hover,
a.ui.ui.ui.inverted.basic.teal.label:hover {
  border-color: #3affff;
  background-color: #1b1c1d;
  color: #3affff;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .teal.label,
.ui.ui.ui.inverted.teal.basic.tag.label {
  border: 1px solid #6dffff;
}
.ui.inverted.basic.tag.labels .teal.label::before,
.ui.ui.ui.inverted.teal.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.blue.labels .label,
.ui.ui.ui.blue.label {
  background-color: #2185d0;
  border-color: #2185d0;
  color: #FFFFFF;
}
/* Link */
.ui.blue.labels a.label:hover,
a.ui.ui.ui.blue.label:hover {
  background-color: #1678c2;
  border-color: #1678c2;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.blue.ribbon.label {
  border-color: #1a69a4;
}
/* Basic */
.ui.basic.labels .blue.label,
.ui.ui.ui.basic.blue.label {
  background: none #FFFFFF;
  border-color: #2185d0;
  color: #2185d0;
}
.ui.basic.labels a.blue.label:hover,
a.ui.ui.ui.basic.blue.label:hover {
  background: none #FFFFFF;
  border-color: #1678c2;
  color: #1678c2;
}
/* Inverted */
.ui.inverted.labels .blue.label,
.ui.ui.ui.inverted.blue.label {
  background-color: #54c8ff;
  border-color: #54c8ff;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.blue.label:hover,
a.ui.ui.ui.inverted.blue.label:hover {
  background-color: #21b8ff;
  border-color: #21b8ff;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.blue.ribbon.label {
  border-color: #21b8ff;
}
/* Inverted Basic */
.ui.inverted.basic.labels .blue.label,
.ui.ui.ui.inverted.basic.blue.label {
  background-color: #1b1c1d;
  border-color: #54c8ff;
  color: #54c8ff;
}
.ui.inverted.basic.labels a.blue.label:hover,
a.ui.ui.ui.inverted.basic.blue.label:hover {
  border-color: #21b8ff;
  background-color: #1b1c1d;
  color: #21b8ff;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .blue.label,
.ui.ui.ui.inverted.blue.basic.tag.label {
  border: 1px solid #54c8ff;
}
.ui.inverted.basic.tag.labels .blue.label::before,
.ui.ui.ui.inverted.blue.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.violet.labels .label,
.ui.ui.ui.violet.label {
  background-color: #6435c9;
  border-color: #6435c9;
  color: #FFFFFF;
}
/* Link */
.ui.violet.labels a.label:hover,
a.ui.ui.ui.violet.label:hover {
  background-color: #5829bb;
  border-color: #5829bb;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.violet.ribbon.label {
  border-color: #502aa1;
}
/* Basic */
.ui.basic.labels .violet.label,
.ui.ui.ui.basic.violet.label {
  background: none #FFFFFF;
  border-color: #6435c9;
  color: #6435c9;
}
.ui.basic.labels a.violet.label:hover,
a.ui.ui.ui.basic.violet.label:hover {
  background: none #FFFFFF;
  border-color: #5829bb;
  color: #5829bb;
}
/* Inverted */
.ui.inverted.labels .violet.label,
.ui.ui.ui.inverted.violet.label {
  background-color: #a291fb;
  border-color: #a291fb;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.violet.label:hover,
a.ui.ui.ui.inverted.violet.label:hover {
  background-color: #745aff;
  border-color: #745aff;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.violet.ribbon.label {
  border-color: #7860f9;
}
/* Inverted Basic */
.ui.inverted.basic.labels .violet.label,
.ui.ui.ui.inverted.basic.violet.label {
  background-color: #1b1c1d;
  border-color: #a291fb;
  color: #a291fb;
}
.ui.inverted.basic.labels a.violet.label:hover,
a.ui.ui.ui.inverted.basic.violet.label:hover {
  border-color: #745aff;
  background-color: #1b1c1d;
  color: #745aff;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .violet.label,
.ui.ui.ui.inverted.violet.basic.tag.label {
  border: 1px solid #a291fb;
}
.ui.inverted.basic.tag.labels .violet.label::before,
.ui.ui.ui.inverted.violet.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.purple.labels .label,
.ui.ui.ui.purple.label {
  background-color: #a333c8;
  border-color: #a333c8;
  color: #FFFFFF;
}
/* Link */
.ui.purple.labels a.label:hover,
a.ui.ui.ui.purple.label:hover {
  background-color: #9627ba;
  border-color: #9627ba;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.purple.ribbon.label {
  border-color: #82299f;
}
/* Basic */
.ui.basic.labels .purple.label,
.ui.ui.ui.basic.purple.label {
  background: none #FFFFFF;
  border-color: #a333c8;
  color: #a333c8;
}
.ui.basic.labels a.purple.label:hover,
a.ui.ui.ui.basic.purple.label:hover {
  background: none #FFFFFF;
  border-color: #9627ba;
  color: #9627ba;
}
/* Inverted */
.ui.inverted.labels .purple.label,
.ui.ui.ui.inverted.purple.label {
  background-color: #dc73ff;
  border-color: #dc73ff;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.purple.label:hover,
a.ui.ui.ui.inverted.purple.label:hover {
  background-color: #cf40ff;
  border-color: #cf40ff;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.purple.ribbon.label {
  border-color: #cf40ff;
}
/* Inverted Basic */
.ui.inverted.basic.labels .purple.label,
.ui.ui.ui.inverted.basic.purple.label {
  background-color: #1b1c1d;
  border-color: #dc73ff;
  color: #dc73ff;
}
.ui.inverted.basic.labels a.purple.label:hover,
a.ui.ui.ui.inverted.basic.purple.label:hover {
  border-color: #cf40ff;
  background-color: #1b1c1d;
  color: #cf40ff;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .purple.label,
.ui.ui.ui.inverted.purple.basic.tag.label {
  border: 1px solid #dc73ff;
}
.ui.inverted.basic.tag.labels .purple.label::before,
.ui.ui.ui.inverted.purple.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.pink.labels .label,
.ui.ui.ui.pink.label {
  background-color: #e03997;
  border-color: #e03997;
  color: #FFFFFF;
}
/* Link */
.ui.pink.labels a.label:hover,
a.ui.ui.ui.pink.label:hover {
  background-color: #e61a8d;
  border-color: #e61a8d;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.pink.ribbon.label {
  border-color: #c71f7e;
}
/* Basic */
.ui.basic.labels .pink.label,
.ui.ui.ui.basic.pink.label {
  background: none #FFFFFF;
  border-color: #e03997;
  color: #e03997;
}
.ui.basic.labels a.pink.label:hover,
a.ui.ui.ui.basic.pink.label:hover {
  background: none #FFFFFF;
  border-color: #e61a8d;
  color: #e61a8d;
}
/* Inverted */
.ui.inverted.labels .pink.label,
.ui.ui.ui.inverted.pink.label {
  background-color: #ff8edf;
  border-color: #ff8edf;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.pink.label:hover,
a.ui.ui.ui.inverted.pink.label:hover {
  background-color: #ff5bd1;
  border-color: #ff5bd1;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.pink.ribbon.label {
  border-color: #ff5bd1;
}
/* Inverted Basic */
.ui.inverted.basic.labels .pink.label,
.ui.ui.ui.inverted.basic.pink.label {
  background-color: #1b1c1d;
  border-color: #ff8edf;
  color: #ff8edf;
}
.ui.inverted.basic.labels a.pink.label:hover,
a.ui.ui.ui.inverted.basic.pink.label:hover {
  border-color: #ff5bd1;
  background-color: #1b1c1d;
  color: #ff5bd1;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .pink.label,
.ui.ui.ui.inverted.pink.basic.tag.label {
  border: 1px solid #ff8edf;
}
.ui.inverted.basic.tag.labels .pink.label::before,
.ui.ui.ui.inverted.pink.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.brown.labels .label,
.ui.ui.ui.brown.label {
  background-color: #a5673f;
  border-color: #a5673f;
  color: #FFFFFF;
}
/* Link */
.ui.brown.labels a.label:hover,
a.ui.ui.ui.brown.label:hover {
  background-color: #975b33;
  border-color: #975b33;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.brown.ribbon.label {
  border-color: #805031;
}
/* Basic */
.ui.basic.labels .brown.label,
.ui.ui.ui.basic.brown.label {
  background: none #FFFFFF;
  border-color: #a5673f;
  color: #a5673f;
}
.ui.basic.labels a.brown.label:hover,
a.ui.ui.ui.basic.brown.label:hover {
  background: none #FFFFFF;
  border-color: #975b33;
  color: #975b33;
}
/* Inverted */
.ui.inverted.labels .brown.label,
.ui.ui.ui.inverted.brown.label {
  background-color: #d67c1c;
  border-color: #d67c1c;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.brown.label:hover,
a.ui.ui.ui.inverted.brown.label:hover {
  background-color: #b0620f;
  border-color: #b0620f;
  color: #1b1c1d;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.brown.ribbon.label {
  border-color: #a96216;
}
/* Inverted Basic */
.ui.inverted.basic.labels .brown.label,
.ui.ui.ui.inverted.basic.brown.label {
  background-color: #1b1c1d;
  border-color: #d67c1c;
  color: #d67c1c;
}
.ui.inverted.basic.labels a.brown.label:hover,
a.ui.ui.ui.inverted.basic.brown.label:hover {
  border-color: #b0620f;
  background-color: #1b1c1d;
  color: #b0620f;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .brown.label,
.ui.ui.ui.inverted.brown.basic.tag.label {
  border: 1px solid #d67c1c;
}
.ui.inverted.basic.tag.labels .brown.label::before,
.ui.ui.ui.inverted.brown.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.grey.labels .label,
.ui.ui.ui.grey.label {
  background-color: #767676;
  border-color: #767676;
  color: #FFFFFF;
}
/* Link */
.ui.grey.labels a.label:hover,
a.ui.ui.ui.grey.label:hover {
  background-color: #838383;
  border-color: #838383;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.grey.ribbon.label {
  border-color: #5d5d5d;
}
/* Basic */
.ui.basic.labels .grey.label,
.ui.ui.ui.basic.grey.label {
  background: none #FFFFFF;
  border-color: #767676;
  color: #767676;
}
.ui.basic.labels a.grey.label:hover,
a.ui.ui.ui.basic.grey.label:hover {
  background: none #FFFFFF;
  border-color: #838383;
  color: #838383;
}
/* Inverted */
.ui.inverted.labels .grey.label,
.ui.ui.ui.inverted.grey.label {
  background-color: #dcddde;
  border-color: #dcddde;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.grey.label:hover,
a.ui.ui.ui.inverted.grey.label:hover {
  background-color: #c2c4c5;
  border-color: #c2c4c5;
  color: #FFFFFF;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.grey.ribbon.label {
  border-color: #e9eaea;
}
/* Inverted Basic */
.ui.inverted.basic.labels .grey.label,
.ui.ui.ui.inverted.basic.grey.label {
  background-color: #1b1c1d;
  border-color: #dcddde;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.basic.labels a.grey.label:hover,
a.ui.ui.ui.inverted.basic.grey.label:hover {
  border-color: #c2c4c5;
  background-color: #1b1c1d;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .grey.label,
.ui.ui.ui.inverted.grey.basic.tag.label {
  border: 1px solid #dcddde;
}
.ui.inverted.basic.tag.labels .grey.label::before,
.ui.ui.ui.inverted.grey.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
.ui.black.labels .label,
.ui.ui.ui.black.label {
  background-color: #1b1c1d;
  border-color: #1b1c1d;
  color: #FFFFFF;
}
/* Link */
.ui.black.labels a.label:hover,
a.ui.ui.ui.black.label:hover {
  background-color: #27292a;
  border-color: #27292a;
  color: #FFFFFF;
}
/* Ribbon */
.ui.ui.ui.black.ribbon.label {
  border-color: #020203;
}
/* Basic */
.ui.basic.labels .black.label,
.ui.ui.ui.basic.black.label {
  background: none #FFFFFF;
  border-color: #1b1c1d;
  color: #1b1c1d;
}
.ui.basic.labels a.black.label:hover,
a.ui.ui.ui.basic.black.label:hover {
  background: none #FFFFFF;
  border-color: #27292a;
  color: #27292a;
}
/* Inverted */
.ui.inverted.labels .black.label,
.ui.ui.ui.inverted.black.label {
  background-color: #545454;
  border-color: #545454;
  color: #1b1c1d;
}
/* Inverted Link */
.ui.inverted.labels a.black.label:hover,
a.ui.ui.ui.inverted.black.label:hover {
  background-color: #000000;
  border-color: #000000;
  color: #FFFFFF;
}
/* Inverted Ribbon */
.ui.ui.ui.inverted.black.ribbon.label {
  border-color: #616161;
}
/* Inverted Basic */
.ui.inverted.basic.labels .black.label,
.ui.ui.ui.inverted.basic.black.label {
  background-color: #1b1c1d;
  border-color: #545454;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.basic.labels a.black.label:hover,
a.ui.ui.ui.inverted.basic.black.label:hover {
  border-color: #000000;
  background-color: #1b1c1d;
}
/* Inverted Basic Tags */
.ui.inverted.basic.tag.labels .black.label,
.ui.ui.ui.inverted.black.basic.tag.label {
  border: 1px solid #545454;
}
.ui.inverted.basic.tag.labels .black.label::before,
.ui.ui.ui.inverted.black.basic.tag.label::before {
  border-color: inherit;
  border-width: 1px 0 0 1px;
  border-style: inherit;
  background-color: #1b1c1d;
  right: calc(100% + 1px);
}
/* -------------------
     Horizontal
-------------------- */
.ui.horizontal.labels .label,
.ui.horizontal.label {
  margin: 0 0.5em 0 0;
  padding: 0.4em 0.833em;
  min-width: 3em;
  text-align: center;
}
/* -------------------
           Circular
    -------------------- */
.ui.circular.labels .label,
.ui.circular.label {
  min-width: 2em;
  min-height: 2em;
  padding: 0.5em !important;
  line-height: 1em;
  text-align: center;
  border-radius: 500rem;
}
.ui.empty.circular.labels .label,
.ui.empty.circular.label {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  width: 0.5em;
  height: 0.5em;
  vertical-align: baseline;
}
/* -------------------
           Pointing
    -------------------- */
.ui.pointing.label {
  position: relative;
}
.ui.attached.pointing.label {
  position: absolute;
}
.ui.pointing.label::before {
  background-color: inherit;
  background-image: inherit;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
}
/* Arrow */
.ui.pointing.label::before {
  position: absolute;
  content: "";
  transform: rotate(45deg);
  background-image: none;
  z-index: 2;
  width: 0.6666em;
  height: 0.6666em;
  transition: none;
}
/* --- Above --- */
.ui.pointing.label,
.ui[class*="pointing above"].label {
  margin-top: 1em;
}
.ui.pointing.label::before,
.ui[class*="pointing above"].label::before {
  border-width: 1px 0 0 1px;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 0;
  left: 50%;
}
/* --- Below --- */
.ui[class*="bottom pointing"].label,
.ui[class*="pointing below"].label {
  margin-top: 0;
  margin-bottom: 1em;
}
.ui[class*="bottom pointing"].label::before,
.ui[class*="pointing below"].label::before {
  border-width: 0 1px 1px 0;
  right: auto;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 100%;
  left: 50%;
}
/* --- Left --- */
.ui[class*="left pointing"].label {
  margin-top: 0;
  margin-left: 0.6666em;
}
.ui[class*="left pointing"].label::before {
  border-width: 0 0 1px 1px;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  bottom: auto;
  right: auto;
  top: 50%;
  left: 0;
}
/* --- Right --- */
.ui[class*="right pointing"].label {
  margin-top: 0;
  margin-right: 0.6666em;
}
.ui[class*="right pointing"].label::before {
  border-width: 1px 1px 0 0;
  transform: translateX(50%) translateY(-50%) rotate(45deg);
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
}
/* Basic Pointing */
/* --- Above --- */
.ui.basic.pointing.label::before,
.ui.basic[class*="pointing above"].label::before {
  margin-top: -1px;
}
/* --- Below --- */
.ui.basic[class*="bottom pointing"].label::before,
.ui.basic[class*="pointing below"].label::before {
  bottom: auto;
  top: 100%;
  margin-top: 1px;
}
/* --- Left --- */
.ui.basic[class*="left pointing"].label::before {
  top: 50%;
  left: -1px;
}
/* --- Right --- */
.ui.basic[class*="right pointing"].label::before {
  top: 50%;
  right: -1px;
}
/* ------------------
       Floating Label
    ------------------- */
.ui.floating.label {
  position: absolute;
  z-index: 100;
  top: -1em;
  right: 0;
  white-space: nowrap;
  transform: translateX(50%);
}
.ui.right.aligned.floating.label {
  transform: translateX(1.2em);
}
.ui.left.floating.label {
  left: 0;
  right: auto;
  transform: translateX(-50%);
}
.ui.left.aligned.floating.label {
  transform: translateX(-1.2em);
}
.ui.bottom.floating.label {
  top: auto;
  bottom: -1em;
}
/* -------------------
        Sizes
-------------------- */
.ui.labels .label,
.ui.label {
  font-size: 0.85714286rem;
}
.ui.mini.labels .label,
.ui.mini.label {
  font-size: 0.64285714rem;
}
.ui.tiny.labels .label,
.ui.tiny.label {
  font-size: 0.71428571rem;
}
.ui.small.labels .label,
.ui.small.label {
  font-size: 0.78571429rem;
}
.ui.large.labels .label,
.ui.large.label {
  font-size: 1rem;
}
.ui.big.labels .label,
.ui.big.label {
  font-size: 1.28571429rem;
}
.ui.huge.labels .label,
.ui.huge.label {
  font-size: 1.42857143rem;
}
.ui.massive.labels .label,
.ui.massive.label {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - List
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             List
*******************************/
/* -------------------
         View
-------------------- */
/* List */
/* List Item */
/* Sub List */
/* Sub List Item */
/* -------------------
      Elements
-------------------- */
/* Icon */
/* Image */
/* Content */
/* Header */
/* Description */
/* Link */
/* Header Link */
/* Linked Icon */
/* -------------------
        States
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Float */
/* Horizontal */
/* Inverted */
/* Link List */
/* Inverted Link List */
/* Selection List */
/* Selection List States */
/* Inverted Selection List */
/* Animated List */
/* Bulleted */
/* Horizontal Bullets */
/* Ordered List */
/* Horizontal Ordered */
/* Divided */
/* Divided Horizontal */
/* Divided */
/* Divided Horizontal */
/* Relaxed */
/* Very Relaxed */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            List
*******************************/
ul.ui.list,
ol.ui.list,
.ui.list {
  list-style-type: none;
  margin: 1em 0;
  padding: 0 0;
}
ul.ui.list:first-child,
ol.ui.list:first-child,
.ui.list:first-child {
  margin-top: 0;
  padding-top: 0;
}
ul.ui.list:last-child,
ol.ui.list:last-child,
.ui.list:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
/*******************************
            Content
*******************************/
/* List Item */
ul.ui.list li,
ol.ui.list li,
.ui.list > .item,
.ui.list .list > .item {
  display: list-item;
  table-layout: fixed;
  list-style-type: none;
  list-style-position: outside;
  padding: 0.21428571em 0;
  line-height: 1.14285714em;
}
ul.ui.list > li:first-child::after,
ol.ui.list > li:first-child::after,
.ui.list > .list > .item::after,
.ui.list > .item::after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
ul.ui.list li:first-child,
ol.ui.list li:first-child,
.ui.list .list > .item:first-child,
.ui.list > .item:first-child {
  padding-top: 0;
}
ul.ui.list li:last-child,
ol.ui.list li:last-child,
.ui.list .list > .item:last-child,
.ui.list > .item:last-child {
  padding-bottom: 0;
}
/* Child List */
ul.ui.list ul,
ol.ui.list ol,
.ui.list .list:not(.icon) {
  clear: both;
  margin: 0;
  padding: 0.75em 0 0.25em 0.5em;
}
/* Child Item */
ul.ui.list ul li,
ol.ui.list ol li,
.ui.list .list > .item {
  padding: 0.14285714em 0;
  line-height: inherit;
}
/* Icon */
.ui.list .list > .item > i.icon,
.ui.list > .item > i.icon {
  display: table-cell;
  min-width: 1.55em;
  margin: 0;
  padding-top: 0;
  transition: color 0.1s ease;
}
.ui.list .list > .item > i.icon:not(.loading),
.ui.list > .item > i.icon:not(.loading) {
  padding-right: 0.28571429em;
  vertical-align: top;
}
.ui.list .list > .item > i.icon:only-child,
.ui.list > .item > i.icon:only-child {
  display: inline-block;
  min-width: auto;
  vertical-align: top;
}
/* Image */
.ui.list .list > .item > .image,
.ui.list > .item > .image {
  display: table-cell;
  background-color: transparent;
  margin: 0;
  vertical-align: top;
}
.ui.list .list > .item > .image:not(:only-child):not(img),
.ui.list > .item > .image:not(:only-child):not(img) {
  padding-right: 0.5em;
}
.ui.list .list > .item > .image img,
.ui.list > .item > .image img {
  vertical-align: top;
}
.ui.list .list > .item > img.image,
.ui.list .list > .item > .image:only-child,
.ui.list > .item > img.image,
.ui.list > .item > .image:only-child {
  display: inline-block;
}
/* Content */
.ui.list .list > .item > .content,
.ui.list > .item > .content {
  line-height: 1.14285714em;
  color: rgba(0, 0, 0, 0.87);
}
.ui.list .list > .item > .image + .content,
.ui.list .list > .item > i.icon + .content,
.ui.list > .item > .image + .content,
.ui.list > .item > i.icon + .content {
  display: table-cell;
  width: 100%;
  padding: 0 0 0 0.5em;
  vertical-align: top;
}
.ui.list .list > .item > i.loading.icon + .content,
.ui.list > .item > i.loading.icon + .content {
  padding-left: calc(0.2857142857142857em + 0.5em);
}
.ui.list .list > .item > img.image + .content,
.ui.list > .item > img.image + .content {
  display: inline-block;
  width: auto;
}
.ui.list .list > .item > .content > .list,
.ui.list > .item > .content > .list {
  margin-left: 0;
  padding-left: 0;
}
/* Header */
.ui.list .list > .item .header,
.ui.list > .item .header {
  display: block;
  margin: 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}
/* Description */
.ui.list .list > .item .description,
.ui.list > .item .description {
  display: block;
  color: rgba(0, 0, 0, 0.7);
}
/* Child Link */
.ui.list > .item a,
.ui.list .list > .item a {
  cursor: pointer;
}
/* Linking Item */
.ui.list .list > a.item,
.ui.list > a.item {
  cursor: pointer;
  color: #4183c4;
}
.ui.list .list > a.item:hover,
.ui.list > a.item:hover {
  color: #1e70bf;
}
/* Linked Item Icons */
.ui.list .list > a.item > i.icons,
.ui.list > a.item > i.icons,
.ui.list .list > a.item > i.icon,
.ui.list > a.item > i.icon {
  color: rgba(0, 0, 0, 0.4);
}
/* Header Link */
.ui.list .list > .item a.header,
.ui.list > .item a.header {
  cursor: pointer;
  color: #4183c4 !important;
}
.ui.list .list > .item > a.header:hover,
.ui.list > .item > a.header:hover {
  color: #1e70bf !important;
}
/* Floated Content */
.ui[class*="left floated"].list {
  float: left;
}
.ui[class*="right floated"].list {
  float: right;
}
.ui.list .list > .item [class*="left floated"],
.ui.list > .item [class*="left floated"] {
  float: left;
  margin: 0 1em 0 0;
}
.ui.list .list > .item [class*="right floated"],
.ui.list > .item [class*="right floated"] {
  float: right;
  margin: 0 0 0 1em;
}
/*******************************
            Coupling
*******************************/
.ui.menu .ui.list > .item,
.ui.menu .ui.list .list > .item {
  display: list-item;
  table-layout: fixed;
  background-color: transparent;
  list-style-type: none;
  list-style-position: outside;
  padding: 0.21428571em 0;
  line-height: 1.14285714em;
}
.ui.menu .ui.list .list > .item::before,
.ui.menu .ui.list > .item::before {
  border: none;
  background: none;
}
.ui.menu .ui.list .list > .item:first-child,
.ui.menu .ui.list > .item:first-child {
  padding-top: 0;
}
.ui.menu .ui.list .list > .item:last-child,
.ui.menu .ui.list > .item:last-child {
  padding-bottom: 0;
}
/*******************************
            Types
*******************************/
/* -------------------
          Horizontal
    -------------------- */
.ui.horizontal.list {
  display: inline-block;
  font-size: 0;
}
.ui.horizontal.list > .item {
  display: inline-block;
  margin-right: 1em;
  font-size: 1rem;
}
.ui.horizontal.list:not(.celled) > .item:last-child {
  margin-right: 0;
  padding-right: 0;
}
.ui.horizontal.list .list:not(.icon) {
  padding-left: 0;
  padding-bottom: 0;
}
.ui.horizontal.list > .item > .image,
.ui.horizontal.list .list > .item > .image,
.ui.horizontal.list > .item > i.icon,
.ui.horizontal.list .list > .item > i.icon,
.ui.horizontal.list > .item > .content,
.ui.horizontal.list .list > .item > .content {
  vertical-align: middle;
}
/* Padding on all elements */
.ui.horizontal.list > .item:first-child,
.ui.horizontal.list > .item:last-child {
  padding-top: 0.21428571em;
  padding-bottom: 0.21428571em;
}
/* Horizontal List */
.ui.horizontal.list > .item > i.icon,
.ui.horizontal.list .item > i.icons > i.icon {
  margin: 0;
  padding: 0 0.25em 0 0;
}
.ui.horizontal.list > .item > .image + .content,
.ui.horizontal.list > .item > i.icon,
.ui.horizontal.list > .item > i.icon + .content {
  float: none;
  display: inline-block;
  width: auto;
}
.ui.horizontal.list > .item > .image {
  display: inline-block;
}
/*******************************
             States
*******************************/
/* -------------------
           Disabled
    -------------------- */
.ui.list .list > .disabled.item,
.ui.list > .disabled.item {
  pointer-events: none;
  color: rgba(40, 40, 40, 0.3) !important;
}
.ui.inverted.list .list > .disabled.item,
.ui.inverted.list > .disabled.item {
  color: rgba(225, 225, 225, 0.3) !important;
}
/* -------------------
        Hover
-------------------- */
.ui.list .list > a.item:hover > .icons,
.ui.list > a.item:hover > .icons,
.ui.list .list > a.item:hover > i.icon,
.ui.list > a.item:hover > i.icon {
  color: rgba(0, 0, 0, 0.87);
}
/*******************************
           Variations
*******************************/
/* -------------------
           Inverted
    -------------------- */
.ui.inverted.list .list > a.item > i.icon,
.ui.inverted.list > a.item > i.icon {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.list .list > .item .header,
.ui.inverted.list > .item .header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.list .list > .item .description,
.ui.inverted.list > .item .description {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.list .list > .item > .content,
.ui.inverted.list > .item > .content {
  color: rgba(255, 255, 255, 0.7);
}
/* Item Link */
.ui.inverted.list .list > a.item,
.ui.inverted.list > a.item {
  cursor: pointer;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.list .list > a.item:hover,
.ui.inverted.list > a.item:hover {
  color: #1e70bf;
}
/* Linking Content */
.ui.inverted.list .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.9) !important;
}
.ui.inverted.list .item a:not(.ui):hover {
  color: #1e70bf !important;
}
/* -------------------
           Aligned
    -------------------- */
.ui.list[class*="top aligned"] .image,
.ui.list[class*="top aligned"] .content,
.ui.list [class*="top aligned"] {
  vertical-align: top !important;
}
.ui.list[class*="middle aligned"] .image,
.ui.list[class*="middle aligned"] .content,
.ui.list [class*="middle aligned"] {
  vertical-align: middle !important;
}
.ui.list[class*="bottom aligned"] .image,
.ui.list[class*="bottom aligned"] .content,
.ui.list [class*="bottom aligned"] {
  vertical-align: bottom !important;
}
/* -------------------
           Link
    -------------------- */
.ui.link.list .item,
.ui.link.list a.item,
.ui.link.list .item a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
  transition: 0.1s color ease;
}
.ui.ui.link.list a.item:hover,
.ui.ui.link.list .item a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.8);
}
.ui.ui.link.list a.item:active,
.ui.ui.link.list .item a:not(.ui):active {
  color: rgba(0, 0, 0, 0.9);
}
.ui.ui.link.list .active.item,
.ui.ui.link.list .active.item a:not(.ui) {
  color: rgba(0, 0, 0, 0.95);
}
/* Inverted */
.ui.inverted.link.list .item,
.ui.inverted.link.list a.item,
.ui.inverted.link.list .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}
.ui.ui.inverted.link.list a.item:hover,
.ui.ui.inverted.link.list .item a:not(.ui):hover {
  color: #ffffff;
}
.ui.ui.inverted.link.list a.item:active,
.ui.ui.inverted.link.list .item a:not(.ui):active {
  color: #ffffff;
}
.ui.ui.inverted.link.list a.active.item,
.ui.ui.inverted.link.list .active.item a:not(.ui) {
  color: #ffffff;
}
/* -------------------
          Selection
    -------------------- */
.ui.selection.list .list > .item,
.ui.selection.list > .item {
  cursor: pointer;
  background: transparent;
  padding: 0.5em 0.5em;
  margin: 0;
  color: rgba(0, 0, 0, 0.4);
  border-radius: 0.5em;
  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;
}
.ui.selection.list .list > .item:last-child,
.ui.selection.list > .item:last-child {
  margin-bottom: 0;
}
.ui.selection.list .list > .item:hover,
.ui.selection.list > .item:hover {
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.8);
}
.ui.selection.list .list > .item:active,
.ui.selection.list > .item:active {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.9);
}
.ui.selection.list .list > .item.active,
.ui.selection.list > .item.active {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}
/* Inverted */
.ui.inverted.selection.list > .item {
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
}
.ui.inverted.selection.list > .item:hover {
  background: rgba(255, 255, 255, 0.02);
  color: #ffffff;
}
.ui.inverted.selection.list > .item:active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.ui.inverted.selection.list > .item.active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
/* Celled / Divided Selection List */
.ui.celled.selection.list .list > .item,
.ui.divided.selection.list .list > .item,
.ui.celled.selection.list > .item,
.ui.divided.selection.list > .item {
  border-radius: 0;
}
/* -------------------
           Animated
    -------------------- */
.ui.animated.list > .item {
  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;
}
.ui.animated.list:not(.horizontal) > .item:hover {
  padding-left: 1em;
}
/* -------------------
           Fitted
    -------------------- */
.ui.fitted.list:not(.selection) .list > .item,
.ui.fitted.list:not(.selection) > .item {
  padding-left: 0;
  padding-right: 0;
}
.ui.fitted.selection.list .list > .item,
.ui.fitted.selection.list > .item {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
/* -------------------
          Bulleted
    -------------------- */
ul.ui.list,
.ui.bulleted.list {
  margin-left: 1.25rem;
}
ul.ui.list li,
.ui.bulleted.list .list > .item,
.ui.bulleted.list > .item {
  position: relative;
}
ul.ui.list li::before,
.ui.bulleted.list .list > .item::before,
.ui.bulleted.list > .item::before {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  position: absolute;
  top: auto;
  left: auto;
  font-weight: normal;
  margin-left: -1.25rem;
  content: "\2022";
  opacity: 1;
  color: inherit;
  vertical-align: top;
}
ul.ui.list li::before,
.ui.bulleted.list .list > a.item::before,
.ui.bulleted.list > a.item::before {
  color: rgba(0, 0, 0, 0.87);
}
ul.ui.list ul,
.ui.bulleted.list .list:not(.icon) {
  padding-left: 1.25rem;
}
/* Horizontal Bulleted */
ul.ui.horizontal.bulleted.list,
.ui.horizontal.bulleted.list {
  margin-left: 0;
}
ul.ui.horizontal.bulleted.list li,
.ui.horizontal.bulleted.list > .item {
  margin-left: 1.75rem;
}
ul.ui.horizontal.bulleted.list li:first-child,
.ui.horizontal.bulleted.list > .item:first-child {
  margin-left: 0;
}
ul.ui.horizontal.bulleted.list li::before,
.ui.horizontal.bulleted.list > .item::before {
  color: rgba(0, 0, 0, 0.87);
}
ul.ui.horizontal.bulleted.list li:first-child::before,
.ui.horizontal.bulleted.list > .item:first-child::before {
  display: none;
}
/* -------------------
           Ordered
    -------------------- */
ol.ui.list,
.ui.ordered.list,
.ui.ordered.list .list:not(.icon),
ol.ui.list ol {
  counter-reset: ordered;
  margin-left: 1.25rem;
  list-style-type: none;
}
ol.ui.list li,
.ui.ordered.list .list > .item,
.ui.ordered.list > .item {
  list-style-type: none;
  position: relative;
}
ol.ui.list li::before,
.ui.ordered.list .list > .item::before,
.ui.ordered.list > .item::before {
  position: absolute;
  top: auto;
  left: auto;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  margin-left: -1.25rem;
  counter-increment: ordered;
  content: counters(ordered, ".") " ";
  text-align: right;
  color: rgba(0, 0, 0, 0.87);
  vertical-align: middle;
  opacity: 0.8;
}
ol.ui.inverted.list li::before,
.ui.ordered.inverted.list .list > .item::before,
.ui.ordered.inverted.list > .item::before {
  color: rgba(255, 255, 255, 0.7);
}
/* Value */
.ui.ordered.list .list > .item[data-value]::before,
.ui.ordered.list > .item[data-value]::before {
  content: attr(data-value);
}
ol.ui.list li[value]::before {
  content: attr(value);
}
/* Child Lists */
ol.ui.list ol,
.ui.ordered.list .list:not(.icon) {
  margin-left: 1em;
}
ol.ui.list ol li::before,
.ui.ordered.list .list > .item::before {
  margin-left: -2em;
}
/* Horizontal Ordered */
ol.ui.horizontal.list,
.ui.ordered.horizontal.list {
  margin-left: 0;
}
ol.ui.horizontal.list li::before,
.ui.ordered.horizontal.list .list > .item::before,
.ui.ordered.horizontal.list > .item::before {
  position: static;
  margin: 0 0.5em 0 0;
}
/* Suffixed Ordered */
ol.ui.suffixed.list li::before,
.ui.suffixed.ordered.list .list > .item::before,
.ui.suffixed.ordered.list > .item::before {
  content: counters(ordered, ".") ".";
}
/* -------------------
           Divided
    -------------------- */
.ui.divided.list > .item {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.divided.list .list > .item {
  border-top: none;
}
.ui.divided.list .item .list > .item {
  border-top: none;
}
.ui.divided.list .list > .item:first-child,
.ui.divided.list > .item:first-child {
  border-top: none;
}
/* Sub Menu */
.ui.divided.list:not(.horizontal) .list > .item:first-child {
  border-top-width: 1px;
}
/* Divided bulleted */
.ui.divided.bulleted.list:not(.horizontal),
.ui.divided.bulleted.list .list:not(.icon) {
  margin-left: 0;
  padding-left: 0;
}
.ui.divided.bulleted.list > .item:not(.horizontal) {
  padding-left: 1.25rem;
}
/* Divided Ordered */
.ui.divided.ordered.list {
  margin-left: 0;
}
.ui.divided.ordered.list .list > .item,
.ui.divided.ordered.list > .item {
  padding-left: 1.25rem;
}
.ui.divided.ordered.list .item .list:not(.icon) {
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 0.21428571em;
}
.ui.divided.ordered.list .item .list > .item {
  padding-left: 1em;
}
/* Divided Selection */
.ui.divided.selection.list .list > .item,
.ui.divided.selection.list > .item {
  margin: 0;
  border-radius: 0;
}
/* Divided horizontal */
.ui.divided.horizontal.list {
  margin-left: 0;
}
.ui.divided.horizontal.list > .item {
  padding-left: 0.5em;
}
.ui.divided.horizontal.list > .item:not(:last-child) {
  padding-right: 0.5em;
}
.ui.divided.horizontal.list > .item {
  border-top: none;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0;
  line-height: 0.6;
}
.ui.horizontal.divided.list > .item:last-child {
  border-right: none;
}
/* Inverted */
.ui.divided.inverted.list > .item,
.ui.divided.inverted.list > .list,
.ui.divided.inverted.horizontal.list > .item {
  border-color: rgba(255, 255, 255, 0.1);
}
/* -------------------
            Celled
    -------------------- */
.ui.celled.list > .item,
.ui.celled.list > .list {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.ui.celled.list > .item:last-child {
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
/* Padding on all elements */
.ui.celled.list > .item:first-child,
.ui.celled.list > .item:last-child {
  padding-top: 0.21428571em;
  padding-bottom: 0.21428571em;
}
/* Sub Menu */
.ui.celled.list .item .list > .item {
  border-width: 0;
}
.ui.celled.list .list > .item:first-child {
  border-top-width: 0;
}
/* Celled Bulleted */
.ui.celled.bulleted.list {
  margin-left: 0;
}
.ui.celled.bulleted.list .list > .item,
.ui.celled.bulleted.list > .item {
  padding-left: 1.25rem;
}
.ui.celled.bulleted.list .item .list:not(.icon) {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  padding-bottom: 0.21428571em;
}
/* Celled Ordered */
.ui.celled.ordered.list {
  margin-left: 0;
}
.ui.celled.ordered.list .list > .item,
.ui.celled.ordered.list > .item {
  padding-left: 1.25rem;
}
.ui.celled.ordered.list .item .list:not(.icon) {
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 0.21428571em;
}
.ui.celled.ordered.list .list > .item {
  padding-left: 1em;
}
/* Celled Horizontal */
.ui.horizontal.celled.list {
  margin-left: 0;
}
.ui.horizontal.celled.list .list > .item,
.ui.horizontal.celled.list > .item {
  border-top: none;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0;
  padding-left: 0.5em;
  padding-right: 0.5em;
  line-height: 0.6;
}
.ui.horizontal.celled.list .list > .item:last-child,
.ui.horizontal.celled.list > .item:last-child {
  border-bottom: none;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}
/* Inverted */
.ui.celled.inverted.list > .item,
.ui.celled.inverted.list > .list {
  border-color: rgba(255, 255, 255, 0.1);
}
.ui.celled.inverted.horizontal.list .list > .item,
.ui.celled.inverted.horizontal.list > .item {
  border-color: rgba(255, 255, 255, 0.1);
}
/* -------------------
           Relaxed
    -------------------- */
.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) {
  padding-top: 0.42857143em;
}
.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) {
  padding-bottom: 0.42857143em;
}
.ui.horizontal.relaxed.list .list > .item:not(:first-child),
.ui.horizontal.relaxed.list > .item:not(:first-child) {
  padding-left: 1rem;
}
.ui.horizontal.relaxed.list .list > .item:not(:last-child),
.ui.horizontal.relaxed.list > .item:not(:last-child) {
  padding-right: 1rem;
}
/* Very Relaxed */
.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:first-child) {
  padding-top: 0.85714286em;
}
.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:last-child) {
  padding-bottom: 0.85714286em;
}
.ui.horizontal[class*="very relaxed"].list .list > .item:not(:first-child),
.ui.horizontal[class*="very relaxed"].list > .item:not(:first-child) {
  padding-left: 1.5rem;
}
.ui.horizontal[class*="very relaxed"].list .list > .item:not(:last-child),
.ui.horizontal[class*="very relaxed"].list > .item:not(:last-child) {
  padding-right: 1.5rem;
}
/* -------------------
      Sizes
-------------------- */
.ui.list {
  font-size: 1em;
}
.ui.mini.list {
  font-size: 0.78571429em;
}
.ui.mini.horizontal.list .list > .item,
.ui.mini.horizontal.list > .item {
  font-size: 0.78571429rem;
}
.ui.tiny.list {
  font-size: 0.85714286em;
}
.ui.tiny.horizontal.list .list > .item,
.ui.tiny.horizontal.list > .item {
  font-size: 0.85714286rem;
}
.ui.small.list {
  font-size: 0.92857143em;
}
.ui.small.horizontal.list .list > .item,
.ui.small.horizontal.list > .item {
  font-size: 0.92857143rem;
}
.ui.large.list {
  font-size: 1.14285714em;
}
.ui.large.horizontal.list .list > .item,
.ui.large.horizontal.list > .item {
  font-size: 1.14285714rem;
}
.ui.big.list {
  font-size: 1.28571429em;
}
.ui.big.horizontal.list .list > .item,
.ui.big.horizontal.list > .item {
  font-size: 1.28571429rem;
}
.ui.huge.list {
  font-size: 1.42857143em;
}
.ui.huge.horizontal.list .list > .item,
.ui.huge.horizontal.list > .item {
  font-size: 1.42857143rem;
}
.ui.massive.list {
  font-size: 1.71428571em;
}
.ui.massive.horizontal.list .list > .item,
.ui.massive.horizontal.list > .item {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Loader
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Loader
*******************************/
/* Some global loader styles defined in site.variables */
/* -------------------
      Standard
-------------------- */
/* -------------------
        Types
-------------------- */
/* Text */
/* -------------------
        States
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Exact Sizes (Avoids Rounding Errors) */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Loader
*******************************/
/* Standard Size */
.ui.loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  text-align: center;
  z-index: 1000;
  transform: translateX(-50%) translateY(-50%);
}
/* Static Shape */
.ui.loader::before {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}
/* Active Shape */
.ui.loader::after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
}
/* Speeds */
.ui.ui.fast.loading::after,
.ui.ui.fast.loading .input > i.icon::after,
.ui.ui.fast.loading > i.icon::after,
.ui.fast.loader::after {
  animation-duration: 0.3s;
}
.ui.ui.slow.loading::after,
.ui.ui.slow.loading .input > i.icon::after,
.ui.ui.slow.loading > i.icon::after,
.ui.slow.loader::after {
  animation-duration: 0.9s;
}
/* Active Animation */
@keyframes loader {
  100% {
    transform: rotate(360deg);
  }
}
/* -------------------
      Coupling
-------------------- */
/* Show inside active dimmer */
.ui.dimmer > .loader {
  display: block;
}
/* Black Dimmer */
.ui.dimmer > .ui.loader {
  color: rgba(255, 255, 255, 0.9);
}
.ui.dimmer > .ui.loader:not(.elastic)::before {
  border-color: rgba(255, 255, 255, 0.15);
}
/* White Dimmer (Inverted) */
.ui.inverted.dimmer > .ui.loader {
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.dimmer > .ui.loader:not(.elastic)::before {
  border-color: rgba(0, 0, 0, 0.1);
}
/*******************************
             Types
*******************************/
/* -------------------
            Text
    -------------------- */
.ui.ui.ui.ui.text.loader {
  width: auto;
  height: auto;
  text-align: center;
  font-style: normal;
}
/*******************************
            States
*******************************/
.ui.indeterminate.loader::after {
  animation-direction: reverse;
  animation-duration: 1.2s;
}
.ui.loader.active,
.ui.loader.visible {
  display: block;
}
.ui.loader.disabled,
.ui.loader.hidden {
  display: none;
}
/*******************************
            Variations
*******************************/
/* -------------------
        Sizes
-------------------- */
.ui.loader {
  width: 2.28571429rem;
  height: 2.28571429rem;
  font-size: 1em;
}
.ui.loader::before,
.ui.loader::after {
  width: 2.28571429rem;
  height: 2.28571429rem;
  margin: 0 0 0 -1.14285714rem;
}
.ui.text.loader {
  min-width: 2.28571429rem;
  padding-top: 3.07142857rem;
}
.ui.mini.loader {
  width: 1rem;
  height: 1rem;
  font-size: 0.78571429em;
}
.ui.mini.loader::before,
.ui.mini.loader::after {
  width: 1rem;
  height: 1rem;
  margin: 0 0 0 -0.5rem;
}
.ui.mini.text.loader {
  min-width: 1rem;
  padding-top: 1.78571429rem;
}
.ui.tiny.loader {
  width: 1.14285714rem;
  height: 1.14285714rem;
  font-size: 0.85714286em;
}
.ui.tiny.loader::before,
.ui.tiny.loader::after {
  width: 1.14285714rem;
  height: 1.14285714rem;
  margin: 0 0 0 -0.57142857rem;
}
.ui.tiny.text.loader {
  min-width: 1.14285714rem;
  padding-top: 1.92857143rem;
}
.ui.small.loader {
  width: 1.71428571rem;
  height: 1.71428571rem;
  font-size: 0.92857143em;
}
.ui.small.loader::before,
.ui.small.loader::after {
  width: 1.71428571rem;
  height: 1.71428571rem;
  margin: 0 0 0 -0.85714286rem;
}
.ui.small.text.loader {
  min-width: 1.71428571rem;
  padding-top: 2.5rem;
}
.ui.large.loader {
  width: 3.42857143rem;
  height: 3.42857143rem;
  font-size: 1.14285714em;
}
.ui.large.loader::before,
.ui.large.loader::after {
  width: 3.42857143rem;
  height: 3.42857143rem;
  margin: 0 0 0 -1.71428571rem;
}
.ui.large.text.loader {
  min-width: 3.42857143rem;
  padding-top: 4.21428571rem;
}
.ui.big.loader {
  width: 3.71428571rem;
  height: 3.71428571rem;
  font-size: 1.28571429em;
}
.ui.big.loader::before,
.ui.big.loader::after {
  width: 3.71428571rem;
  height: 3.71428571rem;
  margin: 0 0 0 -1.85714286rem;
}
.ui.big.text.loader {
  min-width: 3.71428571rem;
  padding-top: 4.5rem;
}
.ui.huge.loader {
  width: 4.14285714rem;
  height: 4.14285714rem;
  font-size: 1.42857143em;
}
.ui.huge.loader::before,
.ui.huge.loader::after {
  width: 4.14285714rem;
  height: 4.14285714rem;
  margin: 0 0 0 -2.07142857rem;
}
.ui.huge.text.loader {
  min-width: 4.14285714rem;
  padding-top: 4.92857143rem;
}
.ui.massive.loader {
  width: 4.57142857rem;
  height: 4.57142857rem;
  font-size: 1.71428571em;
}
.ui.massive.loader::before,
.ui.massive.loader::after {
  width: 4.57142857rem;
  height: 4.57142857rem;
  margin: 0 0 0 -2.28571429rem;
}
.ui.massive.text.loader {
  min-width: 4.57142857rem;
  padding-top: 5.35714286rem;
}
/* -------------------
       Colors
-------------------- */
.ui.ui.primary.elastic.loader::before,
.ui.primary.basic.elastic.loading.button::before,
.ui.primary.basic.elastic.loading.button::after,
.ui.ui.ui.primary.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.primary.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.primary.elastic.loading > i.icon::before,
.ui.ui.ui.ui.primary.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.primary.loading .input > i.icon::after,
.ui.ui.ui.ui.primary.loading > i.icon::after,
.ui.ui.ui.primary.loader::after {
  color: #6C3667;
}
.ui.inverted.primary.elastic.loader::before,
.ui.ui.ui.inverted.primary.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.primary.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.primary.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.primary.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.primary.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.primary.loading > i.icon::after,
.ui.ui.ui.inverted.primary.loader::after {
  color: #54c8ff;
}
.ui.ui.secondary.elastic.loader::before,
.ui.secondary.basic.elastic.loading.button::before,
.ui.secondary.basic.elastic.loading.button::after,
.ui.ui.ui.secondary.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.secondary.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.secondary.elastic.loading > i.icon::before,
.ui.ui.ui.ui.secondary.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.secondary.loading .input > i.icon::after,
.ui.ui.ui.ui.secondary.loading > i.icon::after,
.ui.ui.ui.secondary.loader::after {
  color: #88d317;
}
.ui.inverted.secondary.elastic.loader::before,
.ui.ui.ui.inverted.secondary.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.secondary.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.secondary.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.secondary.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.secondary.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.secondary.loading > i.icon::after,
.ui.ui.ui.inverted.secondary.loader::after {
  color: #545454;
}
.ui.ui.red.elastic.loader::before,
.ui.red.basic.elastic.loading.button::before,
.ui.red.basic.elastic.loading.button::after,
.ui.ui.ui.red.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.red.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.red.elastic.loading > i.icon::before,
.ui.ui.ui.ui.red.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.red.loading .input > i.icon::after,
.ui.ui.ui.ui.red.loading > i.icon::after,
.ui.ui.ui.red.loader::after {
  color: #db2828;
}
.ui.inverted.red.elastic.loader::before,
.ui.ui.ui.inverted.red.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.red.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.red.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.red.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.red.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.red.loading > i.icon::after,
.ui.ui.ui.inverted.red.loader::after {
  color: #ff695e;
}
.ui.ui.orange.elastic.loader::before,
.ui.orange.basic.elastic.loading.button::before,
.ui.orange.basic.elastic.loading.button::after,
.ui.ui.ui.orange.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.orange.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.orange.elastic.loading > i.icon::before,
.ui.ui.ui.ui.orange.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.orange.loading .input > i.icon::after,
.ui.ui.ui.ui.orange.loading > i.icon::after,
.ui.ui.ui.orange.loader::after {
  color: #f2711c;
}
.ui.inverted.orange.elastic.loader::before,
.ui.ui.ui.inverted.orange.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.orange.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.orange.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.orange.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.orange.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.orange.loading > i.icon::after,
.ui.ui.ui.inverted.orange.loader::after {
  color: #ff851b;
}
.ui.ui.yellow.elastic.loader::before,
.ui.yellow.basic.elastic.loading.button::before,
.ui.yellow.basic.elastic.loading.button::after,
.ui.ui.ui.yellow.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.yellow.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.yellow.elastic.loading > i.icon::before,
.ui.ui.ui.ui.yellow.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.yellow.loading .input > i.icon::after,
.ui.ui.ui.ui.yellow.loading > i.icon::after,
.ui.ui.ui.yellow.loader::after {
  color: #fbbd08;
}
.ui.inverted.yellow.elastic.loader::before,
.ui.ui.ui.inverted.yellow.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.yellow.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.yellow.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.yellow.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.yellow.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.yellow.loading > i.icon::after,
.ui.ui.ui.inverted.yellow.loader::after {
  color: #ffe21f;
}
.ui.ui.olive.elastic.loader::before,
.ui.olive.basic.elastic.loading.button::before,
.ui.olive.basic.elastic.loading.button::after,
.ui.ui.ui.olive.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.olive.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.olive.elastic.loading > i.icon::before,
.ui.ui.ui.ui.olive.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.olive.loading .input > i.icon::after,
.ui.ui.ui.ui.olive.loading > i.icon::after,
.ui.ui.ui.olive.loader::after {
  color: #b5cc18;
}
.ui.inverted.olive.elastic.loader::before,
.ui.ui.ui.inverted.olive.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.olive.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.olive.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.olive.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.olive.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.olive.loading > i.icon::after,
.ui.ui.ui.inverted.olive.loader::after {
  color: #d9e778;
}
.ui.ui.green.elastic.loader::before,
.ui.green.basic.elastic.loading.button::before,
.ui.green.basic.elastic.loading.button::after,
.ui.ui.ui.green.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.green.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.green.elastic.loading > i.icon::before,
.ui.ui.ui.ui.green.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.green.loading .input > i.icon::after,
.ui.ui.ui.ui.green.loading > i.icon::after,
.ui.ui.ui.green.loader::after {
  color: #21ba45;
}
.ui.inverted.green.elastic.loader::before,
.ui.ui.ui.inverted.green.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.green.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.green.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.green.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.green.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.green.loading > i.icon::after,
.ui.ui.ui.inverted.green.loader::after {
  color: #2ecc40;
}
.ui.ui.teal.elastic.loader::before,
.ui.teal.basic.elastic.loading.button::before,
.ui.teal.basic.elastic.loading.button::after,
.ui.ui.ui.teal.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.teal.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.teal.elastic.loading > i.icon::before,
.ui.ui.ui.ui.teal.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.teal.loading .input > i.icon::after,
.ui.ui.ui.ui.teal.loading > i.icon::after,
.ui.ui.ui.teal.loader::after {
  color: #00b5ad;
}
.ui.inverted.teal.elastic.loader::before,
.ui.ui.ui.inverted.teal.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.teal.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.teal.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.teal.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.teal.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.teal.loading > i.icon::after,
.ui.ui.ui.inverted.teal.loader::after {
  color: #6dffff;
}
.ui.ui.blue.elastic.loader::before,
.ui.blue.basic.elastic.loading.button::before,
.ui.blue.basic.elastic.loading.button::after,
.ui.ui.ui.blue.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.blue.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.blue.elastic.loading > i.icon::before,
.ui.ui.ui.ui.blue.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.blue.loading .input > i.icon::after,
.ui.ui.ui.ui.blue.loading > i.icon::after,
.ui.ui.ui.blue.loader::after {
  color: #2185d0;
}
.ui.inverted.blue.elastic.loader::before,
.ui.ui.ui.inverted.blue.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.blue.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.blue.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.blue.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.blue.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.blue.loading > i.icon::after,
.ui.ui.ui.inverted.blue.loader::after {
  color: #54c8ff;
}
.ui.ui.violet.elastic.loader::before,
.ui.violet.basic.elastic.loading.button::before,
.ui.violet.basic.elastic.loading.button::after,
.ui.ui.ui.violet.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.violet.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.violet.elastic.loading > i.icon::before,
.ui.ui.ui.ui.violet.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.violet.loading .input > i.icon::after,
.ui.ui.ui.ui.violet.loading > i.icon::after,
.ui.ui.ui.violet.loader::after {
  color: #6435c9;
}
.ui.inverted.violet.elastic.loader::before,
.ui.ui.ui.inverted.violet.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.violet.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.violet.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.violet.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.violet.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.violet.loading > i.icon::after,
.ui.ui.ui.inverted.violet.loader::after {
  color: #a291fb;
}
.ui.ui.purple.elastic.loader::before,
.ui.purple.basic.elastic.loading.button::before,
.ui.purple.basic.elastic.loading.button::after,
.ui.ui.ui.purple.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.purple.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.purple.elastic.loading > i.icon::before,
.ui.ui.ui.ui.purple.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.purple.loading .input > i.icon::after,
.ui.ui.ui.ui.purple.loading > i.icon::after,
.ui.ui.ui.purple.loader::after {
  color: #a333c8;
}
.ui.inverted.purple.elastic.loader::before,
.ui.ui.ui.inverted.purple.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.purple.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.purple.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.purple.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.purple.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.purple.loading > i.icon::after,
.ui.ui.ui.inverted.purple.loader::after {
  color: #dc73ff;
}
.ui.ui.pink.elastic.loader::before,
.ui.pink.basic.elastic.loading.button::before,
.ui.pink.basic.elastic.loading.button::after,
.ui.ui.ui.pink.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.pink.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.pink.elastic.loading > i.icon::before,
.ui.ui.ui.ui.pink.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.pink.loading .input > i.icon::after,
.ui.ui.ui.ui.pink.loading > i.icon::after,
.ui.ui.ui.pink.loader::after {
  color: #e03997;
}
.ui.inverted.pink.elastic.loader::before,
.ui.ui.ui.inverted.pink.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.pink.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.pink.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.pink.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.pink.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.pink.loading > i.icon::after,
.ui.ui.ui.inverted.pink.loader::after {
  color: #ff8edf;
}
.ui.ui.brown.elastic.loader::before,
.ui.brown.basic.elastic.loading.button::before,
.ui.brown.basic.elastic.loading.button::after,
.ui.ui.ui.brown.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.brown.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.brown.elastic.loading > i.icon::before,
.ui.ui.ui.ui.brown.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.brown.loading .input > i.icon::after,
.ui.ui.ui.ui.brown.loading > i.icon::after,
.ui.ui.ui.brown.loader::after {
  color: #a5673f;
}
.ui.inverted.brown.elastic.loader::before,
.ui.ui.ui.inverted.brown.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.brown.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.brown.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.brown.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.brown.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.brown.loading > i.icon::after,
.ui.ui.ui.inverted.brown.loader::after {
  color: #d67c1c;
}
.ui.ui.grey.elastic.loader::before,
.ui.grey.basic.elastic.loading.button::before,
.ui.grey.basic.elastic.loading.button::after,
.ui.ui.ui.grey.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.grey.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.grey.elastic.loading > i.icon::before,
.ui.ui.ui.ui.grey.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.grey.loading .input > i.icon::after,
.ui.ui.ui.ui.grey.loading > i.icon::after,
.ui.ui.ui.grey.loader::after {
  color: #767676;
}
.ui.inverted.grey.elastic.loader::before,
.ui.ui.ui.inverted.grey.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.grey.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.grey.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.grey.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.grey.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.grey.loading > i.icon::after,
.ui.ui.ui.inverted.grey.loader::after {
  color: #dcddde;
}
.ui.ui.black.elastic.loader::before,
.ui.black.basic.elastic.loading.button::before,
.ui.black.basic.elastic.loading.button::after,
.ui.ui.ui.black.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.black.elastic.loading .input > i.icon::before,
.ui.ui.ui.ui.black.elastic.loading > i.icon::before,
.ui.ui.ui.ui.black.loading:not(.usual):not(.button)::after,
.ui.ui.ui.ui.black.loading .input > i.icon::after,
.ui.ui.ui.ui.black.loading > i.icon::after,
.ui.ui.ui.black.loader::after {
  color: #1b1c1d;
}
.ui.inverted.black.elastic.loader::before,
.ui.ui.ui.inverted.black.elastic.loading:not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.inverted.black.elastic.loading .input > i.icon::before,
.ui.ui.ui.inverted.black.elastic.loading > i.icon::before,
.ui.ui.ui.ui.inverted.black.loading:not(.usual)::after,
.ui.ui.ui.ui.inverted.black.loading .input > i.icon::after,
.ui.ui.ui.ui.inverted.black.loading > i.icon::after,
.ui.ui.ui.inverted.black.loader::after {
  color: #545454;
}
.ui.ui.elastic.loader::before,
.ui.ui.ui.elastic.loading::before,
.ui.ui.ui.elastic.loading .input > i.icon::before,
.ui.ui.ui.elastic.loading > i.icon::before,
.ui.ui.ui.ui.loading:not(.usual)::after,
.ui.ui.ui.ui.loading .input > i.icon::after,
.ui.ui.ui.ui.loading > i.icon::after,
.ui.ui.ui.loader::after {
  border-color: currentColor;
}
.ui.ui.ui.ui.elastic.loading.button:not(.inverted):not(.basic)::before {
  color: #FFFFFF;
}
.ui.elastic.basic.loading.button::before,
.ui.elastic.basic.loading.button::after {
  color: #767676;
}
.ui.ui.ui.ui.double.loading.button::after {
  border-bottom-color: currentColor;
}
/* -------------------
           Inline
    -------------------- */
.ui.inline.loader {
  position: relative;
  vertical-align: middle;
  margin: 0;
  left: 0;
  top: 0;
  transform: none;
}
.ui.inline.loader.active,
.ui.inline.loader.visible {
  display: inline-block;
}
/* Centered Inline */
.ui.centered.inline.loader.active,
.ui.centered.inline.loader.visible {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ui.ui.ui.ui.ui.ui.loading::after,
.ui.ui.ui.ui.ui.ui.loading .input > i.icon::after,
.ui.ui.ui.ui.ui.ui.loading > i.icon::after,
.ui.ui.ui.ui.ui.loader::after {
  border-left-color: transparent;
  border-right-color: transparent;
}
.ui.ui.ui.ui.ui.ui.ui.loading:not(.double)::after,
.ui.ui.ui.ui.ui.ui.ui.loading:not(.double) .input > i.icon::after,
.ui.ui.ui.ui.ui.ui.ui.loading:not(.double) > i.icon::after,
.ui.ui.ui.ui.ui.ui.loader:not(.double)::after {
  border-bottom-color: transparent;
}
.ui.ui.ui.ui.ui.ui.loading.card::after,
.ui.ui.ui.ui.ui.ui.loading.segments::after,
.ui.ui.ui.ui.ui.ui.loading.segment::after,
.ui.ui.ui.ui.ui.ui.loading.form::after {
  border-left-color: rgba(0, 0, 0, 0.1);
  border-right-color: rgba(0, 0, 0, 0.1);
}
.ui.ui.ui.ui.ui.ui.loading.card:not(.double)::after,
.ui.ui.ui.ui.ui.ui.loading.segments:not(.double)::after,
.ui.ui.ui.ui.ui.ui.loading.segment:not(.double)::after,
.ui.ui.ui.ui.ui.ui.loading.form:not(.double)::after {
  border-bottom-color: rgba(0, 0, 0, 0.1);
}
/* -------------------
           Elastic
    -------------------- */
.ui.dimmer > .ui.elastic.loader {
  color: #FFFFFF;
}
.ui.inverted.dimmer > .ui.elastic.loader {
  color: #767676;
}
.ui.ui.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::after,
.ui.ui.elastic.loading .input > i.icon::after,
.ui.ui.elastic.loading > i.icon::after,
.ui.ui.elastic.loader::after {
  animation: loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
  animation-delay: 0.3s;
}
.ui.ui.ui.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.elastic.loading .input > i.icon::before,
.ui.ui.ui.elastic.loading > i.icon::before,
.ui.ui.elastic.loader::before {
  animation: elastic-loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
  -moz-animation: currentcolor-elastic-loader 1s infinite cubic-bezier(0.27, 1.05, 0.92, 0.61);
  border-right-color: transparent;
}
.ui.elastic.inline.loader:empty {
  animation: loader 8s infinite linear;
}
.ui.ui.slow.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::after,
.ui.ui.slow.elastic.loading .input > i.icon::after,
.ui.ui.slow.elastic.loading > i.icon::after,
.ui.ui.slow.elastic.loader::after {
  animation-duration: 1.5s;
  animation-delay: 0.45s;
}
.ui.ui.ui.slow.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.slow.elastic.loading .input > i.icon::before,
.ui.ui.ui.slow.elastic.loading > i.icon::before,
.ui.ui.slow.elastic.loader::before {
  animation-duration: 1.5s;
}
.ui.ui.fast.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::after,
.ui.ui.fast.elastic.loading .input > i.icon::after,
.ui.ui.fast.elastic.loading > i.icon::after,
.ui.ui.fast.elastic.loader::after {
  animation-duration: 0.66s;
  animation-delay: 0.2s;
}
.ui.ui.ui.fast.elastic.loading:not(.form):not(.segment):not(.segments):not(.card)::before,
.ui.ui.ui.fast.elastic.loading .input > i.icon::before,
.ui.ui.ui.fast.elastic.loading > i.icon::before,
.ui.ui.fast.elastic.loader::before {
  animation-duration: 0.66s;
}
@keyframes elastic-loader {
  0%,
  1% {
    border-left-color: transparent;
    border-bottom-color: transparent;
  }
  1.1%,
  50% {
    border-left-color: inherit;
  }
  10%,
  35.1% {
    border-bottom-color: transparent;
  }
  10.1%,
  35% {
    border-bottom-color: inherit;
  }
  50.1% {
    border-left-color: transparent;
  }
  100% {
    border-left-color: transparent;
    border-bottom-color: transparent;
    transform: rotate(360deg);
  }
}
@keyframes currentcolor-elastic-loader {
  0%,
  1% {
    border-left-color: transparent;
    border-bottom-color: transparent;
  }
  1.1%,
  50% {
    border-left-color: currentColor;
  }
  10%,
  35.1% {
    border-bottom-color: transparent;
  }
  10.1%,
  35% {
    border-bottom-color: currentColor;
  }
  50.1% {
    border-left-color: transparent;
  }
  100% {
    border-left-color: transparent;
    border-bottom-color: transparent;
    transform: rotate(360deg);
  }
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Placeholder
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/* Key Content Sizing */
/* Interval between consecutive placeholders */
/* Repeated Placeholder */
/* Image */
/* Header Image */
/* Paragraph */
/* Glow Gradient */
/* Variations */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/* -------------------
      Content
-------------------- */
.ui.placeholder {
  position: static;
  overflow: hidden;
  animation: placeholderShimmer 2s linear;
  animation-iteration-count: infinite;
  background-color: #FFFFFF;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.08) 30%);
  background-size: 1200px 100%;
  max-width: 30rem;
}
@keyframes placeholderShimmer {
  0% {
    background-position: -1200px 0;
  }
  100% {
    background-position: 1200px 0;
  }
}
.ui.placeholder + .ui.placeholder {
  margin-top: 2rem;
  animation-delay: 0.15s;
}
.ui.placeholder + .ui.placeholder + .ui.placeholder {
  animation-delay: 0.3s;
}
.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
  animation-delay: 0.45s;
}
.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
  animation-delay: 0.6s;
}
.ui.placeholder,
.ui.placeholder > ::before,
.ui.placeholder .image.header::after,
.ui.placeholder .line,
.ui.placeholder .line::after {
  background-color: #FFFFFF;
}
.ui.placeholder.hidden {
  display: none;
}
/* Image */
.ui.placeholder .image:not(.header):not(.ui):not(.icon) {
  height: 100px;
}
.ui.placeholder .square.image:not(.header) {
  height: 0;
  overflow: hidden;
  /* 1/1 aspect ratio */
  padding-top: 100%;
}
.ui.placeholder .rectangular.image:not(.header) {
  height: 0;
  overflow: hidden;
  /* 4/3 aspect ratio */
  padding-top: 75%;
}
/* Lines */
.ui.placeholder .line {
  position: relative;
  height: 0.85714286em;
}
.ui.placeholder .line::before,
.ui.placeholder .line::after {
  top: 100%;
  position: absolute;
  content: "";
  background-color: inherit;
}
.ui.placeholder .line::before {
  left: 0;
}
.ui.placeholder .line::after {
  right: 0;
}
/* Any Lines */
.ui.placeholder .line {
  margin-bottom: 0.5em;
}
.ui.placeholder .line::before,
.ui.placeholder .line::after {
  height: 0.5em;
}
.ui.placeholder .line:not(:first-child) {
  margin-top: 0.5em;
}
/* Line Outdent */
.ui.placeholder .line:nth-child(1)::after {
  width: 0;
}
.ui.placeholder .line:nth-child(2)::after {
  width: 50%;
}
.ui.placeholder .line:nth-child(3)::after {
  width: 10%;
}
.ui.placeholder .line:nth-child(4)::after {
  width: 35%;
}
.ui.placeholder .line:nth-child(5)::after {
  width: 65%;
}
/* Header Image + 2 Lines */
.ui.placeholder .header {
  position: relative;
  overflow: hidden;
}
/* Header Line 1 & 2 */
.ui.placeholder .header .line {
  margin-bottom: 0.64285714em;
}
.ui.placeholder .header .line::before,
.ui.placeholder .header .line::after {
  height: 0.64285714em;
}
.ui.placeholder .header .line:not(:first-child) {
  margin-top: 0.64285714em;
}
.ui.placeholder .header .line::after {
  width: 20%;
}
.ui.placeholder .header .line:nth-child(2)::after {
  width: 60%;
}
/* Image Header */
.ui.placeholder .image.header .line {
  margin-left: 3em;
}
.ui.placeholder .image.header .line::before {
  width: 0.71428571rem;
}
.ui.placeholder .image.header::after {
  display: block;
  height: 0.85714286em;
  content: "";
  margin-left: 3em;
}
/* Spacing */
.ui.placeholder .image .line:first-child,
.ui.placeholder .paragraph .line:first-child,
.ui.placeholder .header .line:first-child {
  height: 0.01px;
}
.ui.placeholder .image:not(:first-child)::before,
.ui.placeholder .paragraph:not(:first-child)::before,
.ui.placeholder .header:not(:first-child)::before {
  height: 1.42857143em;
  content: "";
  display: block;
}
/* Inverted Content Loader */
.ui.inverted.placeholder {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.14) 15%, rgba(255, 255, 255, 0.08) 30%);
}
.ui.inverted.placeholder,
.ui.inverted.placeholder > ::before,
.ui.inverted.placeholder .image.header::after,
.ui.inverted.placeholder .line,
.ui.inverted.placeholder .line::after {
  background-color: #1b1c1d;
}
/*******************************
            Variations
*******************************/
/* -------------------
        Sizes
-------------------- */
.ui.placeholder .full.line.line.line::after {
  width: 0;
}
.ui.placeholder .very.long.line.line.line::after {
  width: 10%;
}
.ui.placeholder .long.line.line.line::after {
  width: 35%;
}
.ui.placeholder .medium.line.line.line::after {
  width: 50%;
}
.ui.placeholder .short.line.line.line::after {
  width: 65%;
}
.ui.placeholder .very.short.line.line.line::after {
  width: 80%;
}
/* -------------------
            Fluid
    -------------------- */
.ui.fluid.placeholder {
  max-width: none;
}
/*******************************
         Theme Overrides
*******************************/
/*!
 * # Fomantic-UI - Rail
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Rail
*******************************/
/* -------------------
       Element
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Close */
/* Dividing */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Rails
*******************************/
.ui.rail {
  position: absolute;
  top: 0;
  width: 300px;
  height: 100%;
}
.ui.left.rail {
  left: auto;
  right: 100%;
  padding: 0 2rem 0 0;
  margin: 0 2rem 0 0;
}
.ui.right.rail {
  left: 100%;
  right: auto;
  padding: 0 0 0 2rem;
  margin: 0 0 0 2rem;
}
/*******************************
           Variations
*******************************/
/* --------------
         Internal
    --------------- */
.ui.left.internal.rail {
  left: 0;
  right: auto;
  padding: 0 0 0 2rem;
  margin: 0 0 0 2rem;
}
.ui.right.internal.rail {
  left: auto;
  right: 0;
  padding: 0 2rem 0 0;
  margin: 0 2rem 0 0;
}
/* --------------
        Dividing
    --------------- */
.ui.dividing.rail {
  width: 302.5px;
}
.ui.left.dividing.rail {
  padding: 0 2.5rem 0 0;
  margin: 0 2.5rem 0 0;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.right.dividing.rail {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  padding: 0 0 0 2.5rem;
  margin: 0 0 0 2.5rem;
}
/* --------------
        Distance
    --------------- */
.ui.close.rail {
  width: calc(300px + 1em);
}
.ui.close.left.rail {
  padding: 0 1em 0 0;
  margin: 0 1em 0 0;
}
.ui.close.right.rail {
  padding: 0 0 0 1em;
  margin: 0 0 0 1em;
}
.ui.very.close.rail {
  width: calc(300px + 0.5em);
}
.ui.very.close.left.rail {
  padding: 0 0.5em 0 0;
  margin: 0 0.5em 0 0;
}
.ui.very.close.right.rail {
  padding: 0 0 0 0.5em;
  margin: 0 0 0 0.5em;
}
/* --------------
        Attached
    --------------- */
.ui.attached.left.rail,
.ui.attached.right.rail {
  padding: 0;
  margin: 0;
}
/* --------------
     Sizing
--------------- */
.ui.rail {
  font-size: 1rem;
}
.ui.mini.rail {
  font-size: 0.78571429rem;
}
.ui.tiny.rail {
  font-size: 0.85714286rem;
}
.ui.small.rail {
  font-size: 0.92857143rem;
}
.ui.large.rail {
  font-size: 1.14285714rem;
}
.ui.big.rail {
  font-size: 1.28571429rem;
}
.ui.huge.rail {
  font-size: 1.42857143rem;
}
.ui.massive.rail {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Reveal
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Reveal
*******************************/
/* Types */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Reveal
*******************************/
.ui.reveal {
  display: inherit;
  position: relative !important;
  font-size: 0;
}
.ui.reveal > .visible.content {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 3 !important;
  transition: all 0.5s ease 0.1s;
}
.ui.reveal > .hidden.content {
  position: relative !important;
  z-index: 2 !important;
}
/* Make sure hovered element is on top of other reveal */
.ui.active.reveal .visible.content,
.ui.reveal:hover .visible.content {
  z-index: 4 !important;
}
/*******************************
              Types
*******************************/
/* --------------
          Slide
    --------------- */
.ui.slide.reveal {
  position: relative !important;
  overflow: hidden !important;
  white-space: nowrap;
}
.ui.slide.reveal > .content {
  display: block;
  width: 100%;
  white-space: normal;
  float: left;
  margin: 0;
  transition: transform 0.5s ease 0.1s;
}
.ui.slide.reveal > .visible.content {
  position: relative !important;
}
.ui.slide.reveal > .hidden.content {
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  transform: translateX(100%) !important;
}
.ui.slide.active.reveal > .visible.content,
.ui.slide.reveal:hover > .visible.content {
  transform: translateX(-100%) !important;
}
.ui.slide.active.reveal > .hidden.content,
.ui.slide.reveal:hover > .hidden.content {
  transform: translateX(0) !important;
}
.ui.slide.right.reveal > .visible.content {
  transform: translateX(0) !important;
}
.ui.slide.right.reveal > .hidden.content {
  transform: translateX(-100%) !important;
}
.ui.slide.right.active.reveal > .visible.content,
.ui.slide.right.reveal:hover > .visible.content {
  transform: translateX(100%) !important;
}
.ui.slide.right.active.reveal > .hidden.content,
.ui.slide.right.reveal:hover > .hidden.content {
  transform: translateX(0) !important;
}
.ui.slide.up.reveal > .hidden.content {
  transform: translateY(100%) !important;
}
.ui.slide.up.active.reveal > .visible.content,
.ui.slide.up.reveal:hover > .visible.content {
  transform: translateY(-100%) !important;
}
.ui.slide.up.active.reveal > .hidden.content,
.ui.slide.up.reveal:hover > .hidden.content {
  transform: translateY(0) !important;
}
.ui.slide.down.reveal > .hidden.content {
  transform: translateY(-100%) !important;
}
.ui.slide.down.active.reveal > .visible.content,
.ui.slide.down.reveal:hover > .visible.content {
  transform: translateY(100%) !important;
}
.ui.slide.down.active.reveal > .hidden.content,
.ui.slide.down.reveal:hover > .hidden.content {
  transform: translateY(0) !important;
}
/* --------------
          Fade
    --------------- */
.ui.fade.reveal > .visible.content {
  opacity: 1;
}
.ui.fade.active.reveal > .visible.content,
.ui.fade.reveal:hover > .visible.content {
  opacity: 0;
}
/* --------------
          Move
    --------------- */
.ui.move.reveal {
  position: relative !important;
  overflow: hidden !important;
  white-space: nowrap;
}
.ui.move.reveal > .content {
  display: block;
  float: left;
  white-space: normal;
  margin: 0;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;
}
.ui.move.reveal > .visible.content {
  position: relative !important;
}
.ui.move.reveal > .hidden.content {
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
}
.ui.move.active.reveal > .visible.content,
.ui.move.reveal:hover > .visible.content {
  transform: translateX(-100%) !important;
}
.ui.move.right.active.reveal > .visible.content,
.ui.move.right.reveal:hover > .visible.content {
  transform: translateX(100%) !important;
}
.ui.move.up.active.reveal > .visible.content,
.ui.move.up.reveal:hover > .visible.content {
  transform: translateY(-100%) !important;
}
.ui.move.down.active.reveal > .visible.content,
.ui.move.down.reveal:hover > .visible.content {
  transform: translateY(100%) !important;
}
/* --------------
         Rotate
    --------------- */
.ui.rotate.reveal > .visible.content {
  transition-duration: 0.5s;
  transform: rotate(0);
}
.ui.rotate.reveal > .visible.content,
.ui.rotate.right.reveal > .visible.content {
  transform-origin: bottom right;
}
.ui.rotate.active.reveal > .visible.content,
.ui.rotate.reveal:hover > .visible.content,
.ui.rotate.right.active.reveal > .visible.content,
.ui.rotate.right.reveal:hover > .visible.content {
  transform: rotate(110deg);
}
.ui.rotate.left.reveal > .visible.content {
  transform-origin: bottom left;
}
.ui.rotate.left.active.reveal > .visible.content,
.ui.rotate.left.reveal:hover > .visible.content {
  transform: rotate(-110deg);
}
/*******************************
              States
*******************************/
.ui.disabled.reveal:hover > .visible.visible.content {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
}
.ui.disabled.reveal:hover > .hidden.hidden.content {
  display: none !important;
}
/*******************************
           Coupling
*******************************/
.ui.reveal > .ui.ribbon.label {
  z-index: 5;
}
/*******************************
           Variations
*******************************/
/* --------------
     Visible
--------------- */
.ui.visible.reveal {
  overflow: visible;
}
/* --------------
     Instant
--------------- */
.ui.instant.reveal > .content {
  transition-delay: 0s !important;
}
/* --------------
     Sizing
--------------- */
.ui.reveal > .content {
  font-size: 1rem;
}
.ui.mini.reveal > .content {
  font-size: 0.78571429rem;
}
.ui.tiny.reveal > .content {
  font-size: 0.85714286rem;
}
.ui.small.reveal > .content {
  font-size: 0.92857143rem;
}
.ui.large.reveal > .content {
  font-size: 1.14285714rem;
}
.ui.big.reveal > .content {
  font-size: 1.28571429rem;
}
.ui.huge.reveal > .content {
  font-size: 1.42857143rem;
}
.ui.massive.reveal > .content {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Segment
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Segment
*******************************/
/* -------------------
       Element
-------------------- */
/* -------------------
       Group
-------------------- */
/* -------------------
       Coupling
-------------------- */
/* Page Grid Segment */
/*******************************
            Types
*******************************/
/* Placeholder */
/* Piled */
/* Circular */
/* Stacked */
/*******************************
            States
*******************************/
/* Loading Dimmer */
/* Loading Spinner */
/*******************************
            Variations
*******************************/
/* Raised */
/* Padded */
/* Attached */
/* Inverted */
/* Floated */
/* Basic */
/* Colors */
/* Ordinality */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Segment
*******************************/
.ui.segment {
  position: relative;
  background: #FFFFFF;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
  margin: 1rem 0;
  padding: 1em 1em;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.segment:first-child {
  margin-top: 0;
}
.ui.segment:last-child {
  margin-bottom: 0;
}
/* Vertical */
.ui.vertical.segment {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  background: none transparent;
  border-radius: 0;
  box-shadow: none;
  border: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.vertical.segment:first-child {
  border-top: none;
}
/* -------------------
    Loose Coupling
-------------------- */
/* Header */
.ui.inverted.segments .segment > .ui.header .sub.header,
.ui.inverted.segments .segment > .ui.header,
.ui.inverted.segment > .ui.header .sub.header,
.ui.inverted.segment > .ui.header {
  color: #FFFFFF;
}
/* Label */
.ui[class*="bottom attached"].segment > [class*="top attached"].label {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ui[class*="top attached"].segment > [class*="bottom attached"].label {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
/* Grid */
.ui.page.grid.segment,
.ui.grid > .row > .ui.segment.column,
.ui.grid > .ui.segment.column {
  padding-top: 2em;
  padding-bottom: 2em;
}
.ui.grid.segment {
  margin: 1rem 0;
  border-radius: 0.28571429rem;
}
/* Table */
.ui.basic.table.segment {
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
}
.ui[class*="very basic"].table.segment {
  padding: 1em 1em;
}
/* Tab */
.ui.segment.tab:last-child {
  margin-bottom: 1rem;
}
/*******************************
             Types
*******************************/
/* -------------------
         Placeholder
    -------------------- */
.ui.placeholder.segment {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  max-width: initial;
  animation: none;
  overflow: visible;
  padding: 1em 1em;
  min-height: 18rem;
  background: #f9fafb;
  border-color: rgba(34, 36, 38, 0.15);
  box-shadow: 0 2px 25px 0 rgba(34, 36, 38, 0.05) inset;
}
.ui.placeholder.segment.tab {
  display: none;
}
.ui.placeholder.segment.tab.active {
  display: flex;
}
.ui.placeholder.segment .button,
.ui.placeholder.segment textarea {
  display: block;
}
.ui.placeholder.segment .field,
.ui.placeholder.segment textarea,
.ui.placeholder.segment > .ui.input,
.ui.placeholder.segment .button {
  max-width: 15rem;
  margin-left: auto;
  margin-right: auto;
}
.ui.placeholder.segment .column .button,
.ui.placeholder.segment .column .field,
.ui.placeholder.segment .column textarea,
.ui.placeholder.segment .column > .ui.input {
  max-width: 15rem;
  margin-left: auto;
  margin-right: auto;
}
.ui.placeholder.segment > .inline {
  align-self: center;
}
.ui.placeholder.segment > .inline > .button {
  display: inline-block;
  width: auto;
  margin: 0 0.35714286rem 0 0;
}
.ui.placeholder.segment > .inline > .button:last-child {
  margin-right: 0;
}
/* -------------------
            Piled
    -------------------- */
.ui.piled.segments,
.ui.piled.segment {
  margin: 3em 0;
  box-shadow: "";
  z-index: auto;
  background-color: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
}
.ui.piled.segment:first-child {
  margin-top: 0;
}
.ui.piled.segment:last-child {
  margin-bottom: 0;
}
.ui.piled.segments::after,
.ui.piled.segments::before,
.ui.piled.segment::after,
.ui.piled.segment::before {
  background-color: inherit;
  visibility: visible;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
  border: inherit;
  box-shadow: "";
}
.ui.inverted.piled.segment {
  background-color: #1b1c1d;
  border: 1px solid #555;
  color: rgba(255, 255, 255, 0.9);
}
.ui.piled.segments::before,
.ui.piled.segment::before {
  transform: rotate(-1.2deg);
  top: 0;
  z-index: -2;
}
.ui.piled.segments::after,
.ui.piled.segment::after {
  transform: rotate(1.2deg);
  top: 0;
  z-index: -1;
}
/* Piled Attached */
.ui[class*="top attached"].piled.segment {
  margin-top: 3em;
  margin-bottom: 0;
}
.ui.piled.segment[class*="top attached"]:first-child {
  margin-top: 0;
}
.ui.piled.segment[class*="bottom attached"] {
  margin-top: 0;
  margin-bottom: 3em;
}
.ui.piled.segment[class*="bottom attached"]:last-child {
  margin-bottom: 0;
}
@supports selector(:has(.f)) {
  *:has(> .ui.piled.segment) {
    z-index: 0;
    position: relative;
  }
}
/* -------------------
           Stacked
    -------------------- */
.ui.stacked.segment {
  padding-bottom: 1.4em;
}
.ui.stacked.segments::before,
.ui.stacked.segments::after,
.ui.stacked.segment::before,
.ui.stacked.segment::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  background: rgba(0, 0, 0, 0.03);
  width: 100%;
  height: 6px;
  visibility: visible;
}
.ui.stacked.segments::before,
.ui.stacked.segment::before {
  display: none;
}
/* Add additional page */
.ui.tall.stacked.segments::before,
.ui.tall.stacked.segment::before {
  display: block;
  bottom: 0;
}
/* Inverted */
.ui.stacked.inverted.segments,
.ui.stacked.inverted.segment {
  border: 1px solid rgba(225, 225, 225, 0.5);
}
.ui.stacked.inverted.segments::before,
.ui.stacked.inverted.segment::before,
.ui.stacked.inverted.segments::after,
.ui.stacked.inverted.segment::after {
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(225, 225, 225, 0.5);
}
/* -------------------
           Padded
    -------------------- */
.ui.padded.segment {
  padding: 1.5em;
}
.ui[class*="very padded"].segment {
  padding: 3em;
}
/* Padded vertical */
.ui.padded.segment.vertical.segment,
.ui[class*="very padded"].vertical.segment {
  padding-left: 0;
  padding-right: 0;
}
/* -------------------
           Compact
    -------------------- */
.ui.compact.segment {
  display: table;
}
/* Compact Group */
.ui.compact.segments {
  display: inline-flex;
}
.ui.compact.segments .segment,
.ui.segments .compact.segment {
  display: block;
  flex: 0 1 auto;
}
/* -------------------
           Circular
    -------------------- */
.ui.circular.segment {
  display: table-cell;
  padding: 2em;
  text-align: center;
  vertical-align: middle;
  border-radius: 500em;
}
/* -------------------
           Raised
    -------------------- */
.ui.ui.raised.segments,
.ui.ui.raised.segment {
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.ui.inverted.raised.segments,
.ui.ui.inverted.raised.segment {
  box-shadow: 0 2px 4px 0 rgba(225, 225, 225, 0.1), 0 2px 10px 0 rgba(225, 225, 225, 0.5);
}
/*******************************
                Groups
    *******************************/
/* Group */
.ui.segments {
  flex-direction: column;
  position: relative;
  margin: 1rem 0;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
}
.ui.segments:first-child {
  margin-top: 0;
}
.ui.segments:last-child {
  margin-bottom: 0;
}
/* Nested Segment */
.ui.segments > .segment {
  top: 0;
  bottom: 0;
  border-radius: 0;
  margin: 0;
  width: auto;
  box-shadow: none;
  border: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.segments:not(.horizontal) > .segment:first-child {
  top: 0;
  bottom: 0;
  border-top: none;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
/* Bottom */
.ui.segments:not(.horizontal) > .segment:last-child {
  top: 0;
  bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  box-shadow: 0 2px 1px -1px rgba(34, 36, 38, 0.15);
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* Only */
.ui.segments:not(.horizontal) > .segment:only-child {
  border-radius: 0.28571429rem;
}
/* Nested Group */
.ui.segments > .ui.segments {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  margin: 1rem;
}
.ui.segments > .segments:first-child {
  border-top: none;
}
.ui.segments > .segment + .segments:not(.horizontal) {
  margin-top: 0;
}
/* Horizontal Group */
.ui.horizontal.segments {
  display: flex;
  flex-direction: row;
  background-color: transparent;
  padding: 0;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
  margin: 1rem 0;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.wrapping.horizontal.segments,
.ui.stackable.horizontal.segments {
  flex-wrap: wrap;
}
/* Nested Horizontal Group */
.ui.segments > .horizontal.segments {
  margin: 0;
  background-color: transparent;
  border-radius: 0;
  border: none;
  box-shadow: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
/* Horizontal Segment */
.ui.horizontal.segments:not(.compact) > .segment:not(.compact) {
  flex: 1 1 auto;
  -ms-flex: 1 1 0;
}
.ui.horizontal.segments > .segment {
  margin: 0;
  min-width: 0;
  border-radius: 0;
  border: none;
  box-shadow: none;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
/* Border Fixes */
.ui.segments > .horizontal.segments:first-child {
  border-top: none;
}
.ui.horizontal.segments:not(.stackable):not(.wrapping) > .segment:first-child {
  border-left: none;
}
.ui.horizontal.segments > .segment:first-child {
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui.horizontal.segments > .segment:last-child {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
/* Equal Width */
.ui[class*="equal width"].horizontal.segments > .segment {
  width: 100%;
}
/*******************************
            States
*******************************/
/* --------------
        Disabled
    --------------- */
.ui.disabled.segments,
.ui.disabled.segment {
  opacity: 0.45;
  color: rgba(40, 40, 40, 0.3);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
/* --------------
        Loading
    --------------- */
.ui.loading.segments,
.ui.loading.segment {
  position: relative;
  cursor: default;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0s linear;
  min-height: 4.5em;
}
.ui.loading.segments::before,
.ui.loading.segment::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  border-radius: 0.28571429rem;
  z-index: 100;
}
.ui.loading.segments::after,
.ui.loading.segment::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1.5em 0 0 -1.5em;
  width: 3em;
  height: 3em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
  visibility: visible;
  z-index: 101;
}
/*******************************
           Variations
*******************************/
/* -------------------
           Basic
    -------------------- */
.ui.basic.segment,
.ui.segments .ui.basic.segment,
.ui.basic.segments {
  background: none transparent;
  box-shadow: none;
  border: none;
  border-radius: 0;
}
/* -------------------
           Clearing
    -------------------- */
.ui.clearing.segment::after {
  content: "";
  display: block;
  clear: both;
}
/* -------------------
       Colors
-------------------- */
.ui.ui.ui.ui.ui.red.segment:not(.inverted) {
  border-top: 2px solid #db2828;
}
.ui.ui.ui.ui.ui.inverted.red.segment {
  background-color: #db2828;
  color: #FFFFFF;
}
.ui.ui.inverted.red.segment:not(.piled) {
  border-color: #db2828;
}
.ui.ui.ui.ui.ui.orange.segment:not(.inverted) {
  border-top: 2px solid #f2711c;
}
.ui.ui.ui.ui.ui.inverted.orange.segment {
  background-color: #f2711c;
  color: #FFFFFF;
}
.ui.ui.inverted.orange.segment:not(.piled) {
  border-color: #f2711c;
}
.ui.ui.ui.ui.ui.yellow.segment:not(.inverted) {
  border-top: 2px solid #fbbd08;
}
.ui.ui.ui.ui.ui.inverted.yellow.segment {
  background-color: #fbbd08;
  color: #FFFFFF;
}
.ui.ui.inverted.yellow.segment:not(.piled) {
  border-color: #fbbd08;
}
.ui.ui.ui.ui.ui.olive.segment:not(.inverted) {
  border-top: 2px solid #b5cc18;
}
.ui.ui.ui.ui.ui.inverted.olive.segment {
  background-color: #b5cc18;
  color: #FFFFFF;
}
.ui.ui.inverted.olive.segment:not(.piled) {
  border-color: #b5cc18;
}
.ui.ui.ui.ui.ui.green.segment:not(.inverted) {
  border-top: 2px solid #21ba45;
}
.ui.ui.ui.ui.ui.inverted.green.segment {
  background-color: #21ba45;
  color: #FFFFFF;
}
.ui.ui.inverted.green.segment:not(.piled) {
  border-color: #21ba45;
}
.ui.ui.ui.ui.ui.teal.segment:not(.inverted) {
  border-top: 2px solid #00b5ad;
}
.ui.ui.ui.ui.ui.inverted.teal.segment {
  background-color: #00b5ad;
  color: #FFFFFF;
}
.ui.ui.inverted.teal.segment:not(.piled) {
  border-color: #00b5ad;
}
.ui.ui.ui.ui.ui.blue.segment:not(.inverted) {
  border-top: 2px solid #2185d0;
}
.ui.ui.ui.ui.ui.inverted.blue.segment {
  background-color: #2185d0;
  color: #FFFFFF;
}
.ui.ui.inverted.blue.segment:not(.piled) {
  border-color: #2185d0;
}
.ui.ui.ui.ui.ui.violet.segment:not(.inverted) {
  border-top: 2px solid #6435c9;
}
.ui.ui.ui.ui.ui.inverted.violet.segment {
  background-color: #6435c9;
  color: #FFFFFF;
}
.ui.ui.inverted.violet.segment:not(.piled) {
  border-color: #6435c9;
}
.ui.ui.ui.ui.ui.purple.segment:not(.inverted) {
  border-top: 2px solid #a333c8;
}
.ui.ui.ui.ui.ui.inverted.purple.segment {
  background-color: #a333c8;
  color: #FFFFFF;
}
.ui.ui.inverted.purple.segment:not(.piled) {
  border-color: #a333c8;
}
.ui.ui.ui.ui.ui.pink.segment:not(.inverted) {
  border-top: 2px solid #e03997;
}
.ui.ui.ui.ui.ui.inverted.pink.segment {
  background-color: #e03997;
  color: #FFFFFF;
}
.ui.ui.inverted.pink.segment:not(.piled) {
  border-color: #e03997;
}
.ui.ui.ui.ui.ui.brown.segment:not(.inverted) {
  border-top: 2px solid #a5673f;
}
.ui.ui.ui.ui.ui.inverted.brown.segment {
  background-color: #a5673f;
  color: #FFFFFF;
}
.ui.ui.inverted.brown.segment:not(.piled) {
  border-color: #a5673f;
}
.ui.ui.ui.ui.ui.grey.segment:not(.inverted) {
  border-top: 2px solid #767676;
}
.ui.ui.ui.ui.ui.inverted.grey.segment {
  background-color: #767676;
  color: #FFFFFF;
}
.ui.ui.inverted.grey.segment:not(.piled) {
  border-color: #767676;
}
.ui.ui.ui.ui.ui.black.segment:not(.inverted) {
  border-top: 2px solid #1b1c1d;
}
.ui.ui.ui.ui.ui.inverted.black.segment {
  background-color: #1b1c1d;
  color: #FFFFFF;
}
.ui.ui.inverted.black.segment:not(.piled) {
  border-color: #1b1c1d;
}
/* -------------------
           Aligned
    -------------------- */
.ui[class*="left aligned"].segment {
  text-align: left;
}
.ui[class*="right aligned"].segment {
  text-align: right;
}
.ui[class*="center aligned"].segment {
  text-align: center;
}
/* -------------------
           Floated
    -------------------- */
.ui.floated.segment,
.ui[class*="left floated"].segment {
  float: left;
  margin-right: 1em;
}
.ui[class*="right floated"].segment {
  float: right;
  margin-left: 1em;
}
/* -------------------
          Inverted
    -------------------- */
.ui.inverted.segments,
.ui.inverted.segments .segment,
.ui.inverted.segment {
  border: none;
  box-shadow: none;
}
.ui.inverted.segments .segment,
.ui.inverted.segment,
.ui.primary.inverted.segment {
  background: #1b1c1d;
  color: rgba(255, 255, 255, 0.9);
}
/* Nested */
.ui.inverted.segment .segment {
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.segment .inverted.segment {
  color: rgba(255, 255, 255, 0.9);
}
/* Attached */
.ui.ui.inverted.attached.segment {
  border-color: #555;
}
/* Loading */
.ui.inverted.loading.segments,
.ui.inverted.loading.segment {
  color: #FFFFFF;
}
.ui.inverted.loading.segments::before,
.ui.inverted.loading.segment::before {
  background: rgba(0, 0, 0, 0.85);
}
/* -------------------
     Emphasis
-------------------- */
/* Secondary */
.ui.secondary.segment {
  background: #f3f4f5;
  color: rgba(0, 0, 0, 0.6);
}
.ui.secondary.inverted.segment {
  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.2) 100%);
  color: rgba(255, 255, 255, 0.8);
}
/* Tertiary */
.ui.tertiary.segment {
  background: #dcddde;
  color: rgba(0, 0, 0, 0.6);
}
.ui.tertiary.inverted.segment {
  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0, rgba(255, 255, 255, 0.35) 100%);
  color: rgba(255, 255, 255, 0.8);
}
/* -------------------
          Attached
    -------------------- */
/* Middle */
.ui.attached.segment {
  top: 0;
  bottom: 0;
  border-radius: 0;
  margin: 0 -1px;
  width: calc(100% + 2px);
  max-width: calc(100% + 2px);
  box-shadow: none;
}
.ui.attached.segment:not(.basic) {
  border: 1px solid #d4d4d5;
}
.ui.attached:not(.message):not(.text) + .ui.attached.segment:not(.top):not([class*="left attached"]):not([class*="right attached"]) {
  border-top: none;
}
/* Top */
.ui.segment[class*="top attached"] {
  bottom: 0;
  margin-bottom: 0;
  top: 0;
  margin-top: 1rem;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.segment[class*="top attached"]:first-child {
  margin-top: 0;
}
.ui.tab.segment[class*="top attached"]:first-child {
  margin-top: 1rem;
}
/* Bottom */
.ui.segment[class*="bottom attached"] {
  bottom: 0;
  margin-top: 0;
  top: 0;
  margin-bottom: 1rem;
  box-shadow: 0 2px 1px -1px rgba(34, 36, 38, 0.15);
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.segment[class*="bottom attached"]:last-child {
  margin-bottom: 0;
}
.ui.tab.segment[class*="bottom attached"]:last-child {
  margin-bottom: 1rem;
}
.ui[class*="left attached"].segment {
  margin-right: 0;
}
.ui[class*="right attached"].segment {
  margin-left: 0;
}
.ui.seamless.attached.segment:not(.top):not(.bottom):not([class*="right attached"]):not([class*="left attached"]) {
  border-top: none;
  border-bottom: none;
}
.ui.seamless.attached.segment.top {
  border-bottom: none;
}
.ui.seamless.attached.segment.bottom {
  border-top: none;
}
.ui.seamless.attached.segment[class*="left attached"] {
  border-right: none;
}
.ui.seamless.attached.segment[class*="right attached"] {
  border-left: none;
}
/* --------------
         Fitted
    --------------- */
.ui.fitted.segment:not(.horizontally) {
  padding-top: 0;
  padding-bottom: 0;
}
.ui.fitted.segment:not(.vertically) {
  padding-left: 0;
  padding-right: 0;
}
/* --------------
      Scrolling
    --------------- */
.ui.scrolling.segment {
  overflow: auto;
  overscroll-behavior: none;
}
@media only screen and (max-width: 767.98px) {
  .ui.scrolling.segment.short {
    max-height: 11.25em;
  }
  .ui.scrolling.segment.short.resizable {
    height: 11.25em;
  }
  .ui.scrolling.segment[class*="very short"] {
    max-height: 7.5em;
  }
  .ui.scrolling.segment[class*="very short"].resizable {
    height: 7.5em;
  }
  .ui.scrolling.segment {
    max-height: 15em;
  }
  .ui.scrolling.segment.resizable {
    height: 15em;
  }
  .ui.scrolling.segment.long {
    max-height: 30em;
  }
  .ui.scrolling.segment.long.resizable {
    height: 30em;
  }
  .ui.scrolling.segment[class*="very long"] {
    max-height: 45em;
  }
  .ui.scrolling.segment[class*="very long"].resizable {
    height: 45em;
  }
}
@media only screen and (min-width: 768px) {
  .ui.scrolling.segment.short {
    max-height: 13.5em;
  }
  .ui.scrolling.segment.short.resizable {
    height: 13.5em;
  }
  .ui.scrolling.segment[class*="very short"] {
    max-height: 9em;
  }
  .ui.scrolling.segment[class*="very short"].resizable {
    height: 9em;
  }
  .ui.scrolling.segment {
    max-height: 18em;
  }
  .ui.scrolling.segment.resizable {
    height: 18em;
  }
  .ui.scrolling.segment.long {
    max-height: 36em;
  }
  .ui.scrolling.segment.long.resizable {
    height: 36em;
  }
  .ui.scrolling.segment[class*="very long"] {
    max-height: 54em;
  }
  .ui.scrolling.segment[class*="very long"].resizable {
    height: 54em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.scrolling.segment.short {
    max-height: 18em;
  }
  .ui.scrolling.segment.short.resizable {
    height: 18em;
  }
  .ui.scrolling.segment[class*="very short"] {
    max-height: 12em;
  }
  .ui.scrolling.segment[class*="very short"].resizable {
    height: 12em;
  }
  .ui.scrolling.segment {
    max-height: 24em;
  }
  .ui.scrolling.segment.resizable {
    height: 24em;
  }
  .ui.scrolling.segment.long {
    max-height: 48em;
  }
  .ui.scrolling.segment.long.resizable {
    height: 48em;
  }
  .ui.scrolling.segment[class*="very long"] {
    max-height: 72em;
  }
  .ui.scrolling.segment[class*="very long"].resizable {
    height: 72em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.scrolling.segment.short {
    max-height: 22.5em;
  }
  .ui.scrolling.segment.short.resizable {
    height: 22.5em;
  }
  .ui.scrolling.segment[class*="very short"] {
    max-height: 15em;
  }
  .ui.scrolling.segment[class*="very short"].resizable {
    height: 15em;
  }
  .ui.scrolling.segment {
    max-height: 30em;
  }
  .ui.scrolling.segment.resizable {
    height: 30em;
  }
  .ui.scrolling.segment.long {
    max-height: 60em;
  }
  .ui.scrolling.segment.long.resizable {
    height: 60em;
  }
  .ui.scrolling.segment[class*="very long"] {
    max-height: 90em;
  }
  .ui.scrolling.segment[class*="very long"].resizable {
    height: 90em;
  }
}
.ui.resizable.scrolling.segment {
  resize: vertical;
  max-height: none;
}
/* -------------------
        Size
-------------------- */
.ui.segments .segment,
.ui.segment {
  font-size: 1rem;
}
.ui.mini.segments .segment,
.ui.mini.segment {
  font-size: 0.78571429rem;
}
.ui.tiny.segments .segment,
.ui.tiny.segment {
  font-size: 0.85714286rem;
}
.ui.small.segments .segment,
.ui.small.segment {
  font-size: 0.92857143rem;
}
.ui.large.segments .segment,
.ui.large.segment {
  font-size: 1.14285714rem;
}
.ui.big.segments .segment,
.ui.big.segment {
  font-size: 1.28571429rem;
}
.ui.huge.segments .segment,
.ui.huge.segment {
  font-size: 1.42857143rem;
}
.ui.massive.segments .segment,
.ui.massive.segment {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Step
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
             Step
*******************************/
/* --------------
   Load Theme
--------------- */
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Step
*******************************/
/* -------------------
       Group
-------------------- */
/* -------------------
      Element
-------------------- */
/* Icon */
/* Title */
/* Description */
/* Arrow */
/* Mobile */
/* -------------------
       Types
-------------------- */
/* Vertical */
/* -------------------
      Variations
-------------------- */
/* Circular */
/* -------------------
       States
-------------------- */
/* Completed */
/* Hover */
/* Down */
/* Active */
/* Active + Hover */
/* Disabled */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Plural
*******************************/
.ui.steps:not(.circular) {
  display: inline-flex;
  flex-direction: row;
  align-items: stretch;
  margin: 1em 0;
  background: "";
  box-shadow: none;
  line-height: 1.14285714em;
  border-radius: 0.28571429rem;
  border: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.steps:not(.unstackable) {
  flex-wrap: wrap;
}
/* First Steps */
.ui.steps:first-child {
  margin-top: 0;
}
/* Last Steps */
.ui.steps:last-child {
  margin-bottom: 0;
}
/*******************************
           Singular
*******************************/
.ui.steps:not(.circular) .step {
  position: relative;
  display: flex;
  flex: 1 0 auto;
  flex-flow: row wrap;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  margin: 0 0;
  padding: 1.14285714em 2em;
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
  border-radius: 0;
  border: none;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
}
/* Arrow */
.ui.steps:not(.circular) .step::after {
  display: none;
  position: absolute;
  z-index: 2;
  content: "";
  top: 50%;
  right: 0;
  background-color: #FFFFFF;
  width: 1.14285714em;
  height: 1.14285714em;
  border-style: solid;
  border-color: rgba(34, 36, 38, 0.15);
  border-width: 0 1px 1px 0;
  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;
  transform: translateY(-50%) translateX(50%) rotate(-45deg);
}
/* First Step */
.ui.steps:not(.circular) .step:first-child {
  padding-left: 2em;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
/* Last Step */
.ui.steps:not(.circular) .step:last-child {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
  border-right: none;
  margin-right: 0;
}
/* Only Step */
.ui.steps:not(.circular) .step:only-child {
  border-radius: 0.28571429rem;
}
/*******************************
            Content
*******************************/
/* Title */
.ui.steps .step .title {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.14285714em;
  font-weight: bold;
  line-height: 1.14285714em;
}
.ui.steps .step > .title {
  width: 100%;
}
/* Description */
.ui.steps .step .description {
  font-weight: normal;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.14285714em;
}
.ui.steps .step > .description {
  width: 100%;
}
.ui.steps .step .title ~ .description {
  margin-top: 0.25em;
}
/* Icon */
.ui.steps .step > i.icon {
  line-height: 1;
  font-size: 2.5em;
  margin: 0 1rem 0 0;
}
.ui.steps .step > i.icon,
.ui.steps .step > i.icon ~ .content {
  display: block;
  flex: 0 1 auto;
  align-self: center;
}
/* Horizontal Icon */
.ui.steps:not(.vertical) .step > i.icon {
  width: auto;
}
/* Link */
.ui.steps .link.step,
.ui.steps a.step {
  cursor: pointer;
}
/*******************************
            Types
*******************************/
.ui.circular.steps {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.ui.circular.steps:not(.vertical) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  display: flex;
  padding: 1em 0;
  margin: 1em 0;
}
.ui.circular.steps:not(.vertical) .step {
  background: rgba(34, 36, 38, 0.15);
  cursor: default;
  height: 2px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
  position: relative;
  margin-left: 2.2em;
}
.ui.circular.steps:not(.vertical) .step::before {
  left: -2.2em;
}
.ui.circular.steps:not(.vertical) .step::after {
  left: calc((-2.2em + 0.95em) - 0.3em);
}
.ui.circular.steps:not(.vertical) .step.completed {
  background: #21ba45;
}
.ui.circular.steps:not(.vertical) .step.completed::after {
  left: calc(-2.2em + ((2.2em / 2) / 2) + (2px / 2));
}
.ui.circular.steps:not(.vertical) .step:last-child {
  flex: 0;
}
.ui.circular.steps:not(.vertical) .step .content {
  margin-top: -1.5em;
  padding: 0 0.5em;
}
.ui.circular.steps:not(.vertical) .step .content.center.aligned {
  margin-top: -0.65em;
}
.ui.circular.steps:not(.vertical) .step .content.center.aligned .title {
  padding: 0 0.5em;
  margin-left: -0.5em;
  background: #FFFFFF;
}
.ui.circular.steps:not(.vertical) .step .content.bottom.aligned {
  margin-top: 0.5em;
}
.ui.circular.steps:not(.vertical) .step .content:not(.aligned) .title + .description {
  margin-top: 0.5em;
}
.ui.circular.steps:not(.vertical) a.step::before,
.ui.circular.steps:not(.vertical) a.step::after,
.ui.circular.steps:not(.vertical) a.step .content,
.ui.circular.steps:not(.vertical) .step.link .content,
.ui.circular.steps:not(.vertical) .step.link::before,
.ui.circular.steps:not(.vertical) .step.link::after {
  cursor: pointer;
}
.ui.circular.steps .step {
  color: inherit;
}
.ui.circular.steps .step::before {
  content: "";
  border-radius: 50%;
  border: 2px solid rgba(34, 36, 38, 0.15);
  height: 2.2em;
  width: 2.2em;
  line-height: 2.2em;
  position: absolute;
}
.ui.circular.steps .step::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  background: rgba(34, 36, 38, 0.15);
  height: 0.95em;
  width: 0.95em;
}
.ui.circular.steps .step.active::before {
  border-color: #21ba45;
}
.ui.circular.steps .step.active::after {
  background: #21ba45;
}
.ui.circular.steps .step.active .title {
  color: #21ba45;
}
.ui.circular.steps .step.completed::before {
  background: #21ba45;
  border-color: #21ba45;
}
.ui.circular.steps .step.completed::after {
  background: transparent;
  content: "\e800";
  font-family: Step;
  color: #FFFFFF;
  height: auto;
  line-height: 1em;
}
@supports selector(:has(.f)) {
  .ui.circular.steps:not(.vertical) .step:last-child:has(.content) {
    flex: 1;
  }
  .ui.circular.steps:not(.vertical) .step:last-child:has(.center.aligned.content) {
    background: none;
  }
}
/* --------------
         Ordered
    --------------- */
.ui.ordered.steps {
  counter-reset: ordered;
}
.ui.ordered.steps .step::before {
  text-align: center;
  content: counter(ordered);
  align-self: center;
  counter-increment: ordered;
  font-family: inherit;
  font-weight: bold;
}
.ui.ordered.steps:not(.circular) .step::before {
  display: block;
  position: static;
  font-size: 2.5em;
  margin-right: 1rem;
}
.ui.circular.ordered.steps .step::before {
  line-height: calc(2.2em - 2px);
}
.ui.circular.ordered.steps .step.completed::before {
  content: "";
}
.ui.circular.ordered.steps .step::after {
  background: transparent;
}
.ui.circular.ordered.steps .step.active::before {
  color: #21ba45;
}
.ui.ordered.steps .step > * {
  display: block;
  align-self: center;
}
/* --------------
        Vertical
    --------------- */
.ui.vertical.steps:not(.circular) {
  display: inline-flex;
  flex-direction: column;
  overflow: visible;
}
.ui.vertical.steps:not(.circular) .step {
  justify-content: flex-start;
  border-radius: 0;
  padding: 1.14285714em 2em;
  border-right: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.vertical.steps:not(.circular) .step:first-child {
  padding: 1.14285714em 2em;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.vertical.steps:not(.circular) .step:last-child {
  border-bottom: none;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.vertical.steps:not(.circular) .step:only-child {
  border-radius: 0.28571429rem;
}
/* Arrow */
.ui.vertical.steps:not(.circular) .step::after {
  top: 50%;
  right: 0;
  border-width: 0 1px 1px 0;
  display: none;
}
.ui.right.vertical.steps:not(.circular) .step::after {
  border-width: 1px 0 0 1px;
  left: 0;
  right: 100%;
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.ui.vertical.steps:not(.circular) .active.step::after {
  display: block;
}
.ui.vertical.steps:not(.circular) .step:last-child::after {
  display: none;
}
.ui.vertical.steps:not(.circular) .active.step:last-child::after {
  display: block;
}
/* Circular Step */
.ui.circular.vertical.steps {
  display: inline-flex;
  flex-flow: column wrap;
  align-items: flex-start;
}
.ui.circular.vertical.steps .step {
  position: relative;
  width: 100%;
}
.ui.circular.vertical.steps .step::before {
  left: 0;
  top: 0;
}
.ui.circular.vertical.steps .step::after {
  left: calc((2.2em / (2.2 * 2)) + 2px);
  top: calc((2.2em / (2.2 * 2)) + 2px);
}
.ui.circular.vertical.steps .step .content {
  padding-left: 3.5em;
}
.ui.circular.vertical.steps .step:not(:last-child) {
  padding-bottom: 3em;
}
.ui.circular.vertical.steps .step:not(:last-child) .content::before {
  content: "";
  position: absolute;
  border-left: 2px solid rgba(34, 36, 38, 0.15);
  top: 2.2em;
  bottom: 0;
  left: calc(2.2em / 2);
}
.ui.circular.vertical.steps .step.completed .content::before {
  border-color: #21ba45;
}
.ui.circular.vertical.steps .step.completed::before {
  background: #21ba45;
  border-color: #21ba45;
}
.ui.circular.vertical.steps .step.completed::after {
  top: calc((2.2em / (2.2 * 2)) + (2px - (2px / 2)));
}
/* ---------------
    Responsive
---------------- */
/* Mobile (Default) */
@media only screen and (max-width: 767.98px) {
  .ui.steps:not(.unstackable):not(.circular) {
    display: inline-flex;
    overflow: visible;
    flex-direction: column;
  }
  .ui.steps:not(.unstackable):not(.circular) .step {
    width: 100% !important;
    flex-direction: column;
    border-radius: 0;
    padding: 1.14285714em 2em;
    border-right: none;
    border-bottom: 1px solid rgba(34, 36, 38, 0.15);
  }
  .ui.steps:not(.unstackable):not(.circular) .step:first-child {
    padding: 1.14285714em 2em;
    border-radius: 0.28571429rem 0.28571429rem 0 0;
  }
  .ui.steps:not(.unstackable):not(.circular) .step:last-child {
    border-radius: 0 0 0.28571429rem 0.28571429rem;
    border-bottom: none;
  }
  /* Arrow */
  .ui.steps:not(.unstackable):not(.circular) .step::after {
    top: unset;
    bottom: -1.14285714em;
    right: 50%;
    transform: translateY(-50%) translateX(50%) rotate(45deg);
  }
  .ui.vertical.steps:not(.circular) .active.step:last-child::after {
    display: none;
  }
  /* Content */
  .ui.steps:not(.unstackable):not(.circular) .step .content {
    text-align: center;
  }
  /* Icon */
  .ui.steps:not(.unstackable):not(.circular) .step > i.icon,
  .ui.ordered.steps:not(.unstackable):not(.circular) .step::before {
    margin: 0 0 1rem 0;
  }
}
/*******************************
             States
*******************************/
/* Link Hover */
.ui.steps:not(.circular) .link.step:hover::after,
.ui.steps:not(.circular) .link.step:hover,
.ui.steps:not(.circular) a.step:hover::after,
.ui.steps:not(.circular) a.step:hover {
  background: #f9fafb;
  color: rgba(0, 0, 0, 0.8);
}
/* Link Down */
.ui.steps:not(.circular) .link.step:active::after,
.ui.steps:not(.circular) .link.step:active,
.ui.steps:not(.circular) a.step:active::after,
.ui.steps:not(.circular) a.step:active {
  background: #f3f4f5;
  color: rgba(0, 0, 0, 0.9);
}
/* Active */
.ui.steps:not(.circular) .step.active {
  cursor: auto;
  background: #f3f4f5;
}
.ui.steps:not(.circular) .step.active::after {
  background: #f3f4f5;
}
.ui.steps:not(.circular) .step.active .title {
  color: #4183c4;
}
.ui.ordered.steps .step.active::before,
.ui.steps .active.step i.icon {
  color: rgba(0, 0, 0, 0.85);
}
/* Active Arrow */
.ui.steps:not(.circular) .step::after {
  display: block;
}
.ui.steps:not(.circular) .active.step::after {
  display: block;
}
.ui.steps:not(.circular) .step:last-child::after {
  display: none;
}
.ui.steps:not(.circular) .active.step:last-child::after {
  display: none;
}
/* Active Hover */
.ui.steps:not(.circular) .link.active.step:hover::after,
.ui.steps:not(.circular) .link.active.step:hover,
.ui.steps:not(.circular) a.active.step:hover::after,
.ui.steps:not(.circular) a.active.step:hover {
  cursor: pointer;
  background: #dcddde;
  color: rgba(0, 0, 0, 0.87);
}
/* Completed */
.ui.steps .step.completed > i.icon::before,
.ui.ordered.steps .step.completed::before {
  color: #21ba45;
}
/* Disabled */
.ui.steps:not(.circular) .disabled.step {
  cursor: auto;
  background: #FFFFFF;
  pointer-events: none;
}
.ui.steps:not(.circular) .disabled.step,
.ui.steps:not(.circular) .disabled.step .title,
.ui.steps:not(.circular) .disabled.step .description {
  color: rgba(40, 40, 40, 0.3);
}
.ui.steps:not(.circular) .disabled.step::after {
  background: #FFFFFF;
}
.ui.circular.steps .disabled.step {
  cursor: auto;
  opacity: 0.5;
  pointer-events: none;
}
.ui.circular.steps .disabled.step::before,
.ui.circular.steps .disabled.step::after {
  cursor: auto;
}
/*******************************
           Variations
*******************************/
/* --------------
       Stackable
    --------------- */
/* Tablet Or Below */
@media only screen and (max-width: 991.98px) {
  .ui[class*="tablet stackable"].steps:not(.circular) {
    display: inline-flex;
    overflow: visible;
    flex-direction: column;
  }
  /* Steps */
  .ui[class*="tablet stackable"].steps:not(.circular) .step {
    flex-direction: column;
    border-radius: 0;
    padding: 1.14285714em 2em;
    border-right: none;
    border-bottom: 1px solid rgba(34, 36, 38, 0.15);
  }
  .ui[class*="tablet stackable"].steps:not(.circular) .step:first-child {
    padding: 1.14285714em 2em;
    border-radius: 0.28571429rem 0.28571429rem 0 0;
  }
  .ui[class*="tablet stackable"].steps:not(.circular) .step:last-child {
    border-radius: 0 0 0.28571429rem 0.28571429rem;
    border-bottom: none;
  }
  /* Arrow */
  .ui[class*="tablet stackable"].steps:not(.circular) .step::after {
    top: unset;
    bottom: -1.14285714em;
    right: 50%;
    transform: translateY(-50%) translateX(50%) rotate(45deg);
  }
  /* Content */
  .ui[class*="tablet stackable"].steps:not(.circular) .step .content {
    text-align: center;
  }
  /* Icon */
  .ui[class*="tablet stackable"].steps .step > i.icon,
  .ui[class*="tablet stackable"].ordered.steps .step::before {
    margin: 0 0 1rem 0;
  }
}
/* --------------
          Fluid
    --------------- */
/* Fluid */
.ui.fluid.steps {
  display: flex;
  width: 100%;
}
/* --------------
        Attached
    --------------- */
/* Top */
.ui.attached.steps:not(.circular) {
  width: calc(100% + 2px) !important;
  margin: 0 -1px 0;
  max-width: calc(100% + 2px);
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.attached.steps:not(.circular) .step:first-child {
  border-radius: 0.28571429rem 0 0 0;
}
.ui.attached.steps:not(.circular) .step:last-child {
  border-radius: 0 0.28571429rem 0 0;
}
/* Bottom */
.ui.bottom.attached.steps:not(.circular) {
  margin: 0 -1px 0;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.bottom.attached.steps:not(.circular) .step:first-child {
  border-radius: 0 0 0 0.28571429rem;
}
.ui.bottom.attached.steps:not(.circular) .step:last-child {
  border-radius: 0 0 0.28571429rem 0;
}
/* -------------------
        Evenly Divided
    -------------------- */
.ui.one.steps,
.ui.two.steps,
.ui.three.steps,
.ui.four.steps,
.ui.five.steps,
.ui.six.steps,
.ui.seven.steps,
.ui.eight.steps {
  width: 100%;
}
.ui.one.steps > .step,
.ui.two.steps > .step,
.ui.three.steps > .step,
.ui.four.steps > .step,
.ui.five.steps > .step,
.ui.six.steps > .step,
.ui.seven.steps > .step,
.ui.eight.steps > .step {
  flex-wrap: nowrap;
}
.ui.one.steps > .step {
  width: 100%;
}
.ui.two.steps > .step {
  width: 50%;
}
.ui.three.steps > .step {
  width: 33.333%;
}
.ui.four.steps > .step {
  width: 25%;
}
.ui.five.steps > .step {
  width: 20%;
}
.ui.six.steps > .step {
  width: 16.666%;
}
.ui.seven.steps > .step {
  width: 14.285%;
}
.ui.eight.steps > .step {
  width: 12.5%;
}
/* -------------------
       Sizes
-------------------- */
.ui.steps .step,
.ui.step {
  font-size: 1rem;
}
.ui.mini.steps .step,
.ui.mini.step {
  font-size: 0.78571429rem;
}
.ui.mini.circular.steps:not(.vertical) {
  margin: 0.78571429rem 0;
  padding: 0.78571429rem 0;
}
.ui.tiny.steps .step,
.ui.tiny.step {
  font-size: 0.85714286rem;
}
.ui.tiny.circular.steps:not(.vertical) {
  margin: 0.85714286rem 0;
  padding: 0.85714286rem 0;
}
.ui.small.steps .step,
.ui.small.step {
  font-size: 0.92857143rem;
}
.ui.small.circular.steps:not(.vertical) {
  margin: 0.92857143rem 0;
  padding: 0.92857143rem 0;
}
.ui.large.steps .step,
.ui.large.step {
  font-size: 1.14285714rem;
}
.ui.large.circular.steps:not(.vertical) {
  margin: 1.14285714rem 0;
  padding: 1.14285714rem 0;
}
.ui.big.steps .step,
.ui.big.step {
  font-size: 1.28571429rem;
}
.ui.big.circular.steps:not(.vertical) {
  margin: 1.28571429rem 0;
  padding: 1.28571429rem 0;
}
.ui.huge.steps .step,
.ui.huge.step {
  font-size: 1.42857143rem;
}
.ui.huge.circular.steps:not(.vertical) {
  margin: 1.42857143rem 0;
  padding: 1.42857143rem 0;
}
.ui.massive.steps .step,
.ui.massive.step {
  font-size: 1.71428571rem;
}
.ui.massive.circular.steps:not(.vertical) {
  margin: 1.71428571rem 0;
  padding: 1.71428571rem 0;
}
/* --------------
        Inverted
    --------------- */
.ui.inverted.steps:not(.circular) {
  border: 1px solid #555;
}
.ui.inverted.steps:not(.circular) .step {
  color: rgba(255, 255, 255, 0.9);
  background: #1b1c1d;
  border-color: #555;
}
.ui.inverted.steps:not(.circular) .step::after {
  background-color: #1b1c1d;
  border-color: #555;
}
.ui.inverted.steps .step .description {
  color: rgba(255, 255, 255, 0.9);
}
/* Active */
.ui.inverted.steps:not(.circular) .step.active,
.ui.inverted.steps:not(.circular) .step.active::after {
  background: #333;
}
.ui.inverted.ordered.steps:not(.circular) .step.active::before,
.ui.inverted.steps:not(.circular) .active.step i.icon {
  color: #ffffff;
}
/* Disabled */
.ui.inverted.steps:not(.circular) .disabled.step,
.ui.inverted.steps:not(.circular) .disabled.step::after {
  background: #222;
}
.ui.inverted.steps:not(.circular) .disabled.step,
.ui.inverted.steps:not(.circular) .disabled.step .title,
.ui.inverted.steps:not(.circular) .disabled.step .description {
  color: rgba(225, 225, 225, 0.3);
}
/* Link Hover */
.ui.inverted.steps:not(.circular) .link.step:hover::after,
.ui.inverted.steps:not(.circular) .link.step:hover,
.ui.inverted.steps:not(.circular) a.step:hover::after,
.ui.inverted.steps:not(.circular) a.step:hover {
  background: #3f3f3f;
  color: #ffffff;
}
/* Link Down */
.ui.inverted.steps:not(.circular) .link.step:active::after,
.ui.inverted.steps:not(.circular) .link.step:active,
.ui.inverted.steps:not(.circular) a.step:active::after,
.ui.inverted.steps:not(.circular) a.step:active {
  background: #444;
  color: #ffffff;
}
/* Circular Step */
.ui.inverted.circular.steps .step .content {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.circular.steps:not(.vertical) .step:not(.completed) {
  background: rgba(255, 255, 255, 0.9);
}
.ui.inverted.circular.steps:not(.vertical) .step:not(.active):not(.completed)::before {
  border-color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.circular.steps:not(.vertical) .step .center.aligned.content .title {
  background: #1b1c1d;
}
.ui.inverted.circular.steps:not(.ordered) .step:not(.active):not(.completed)::after {
  background: rgba(255, 255, 255, 0.9);
}
.ui.inverted.circular.steps.vertical .step:not(.active):not(.completed)::before {
  border-color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.circular.steps.vertical .step:not(.completed) .content::before {
  background: rgba(255, 255, 255, 0.9);
}
.ui.ui.circular.steps .step.primary::before {
  border-color: #6C3667;
}
.ui.ui.circular.steps .step.primary::after {
  background: #6C3667;
}
.ui.ui.primary.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.primary.active::before {
  border-color: #6C3667;
}
.ui.ui.primary.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.primary.active::after {
  background: #6C3667;
}
.ui.ui.primary.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.primary.completed::before {
  background: #6C3667;
  border-color: #6C3667;
}
.ui.ui.primary.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.primary.completed {
  background: #6C3667;
}
.ui.ui.circular.steps:not(.vertical) .step.primary {
  background: #6C3667;
}
.ui.ui.primary.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.primary.active .content .title {
  color: #6C3667;
}
.ui.ui.vertical.circular.steps .step.completed.primary .content::before {
  border-color: #6C3667;
}
.ui.ui.primary.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.primary.completed .content::before {
  border-color: #6C3667;
}
.ui.ui.primary.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.primary::after {
  background: transparent;
}
.ui.ui.primary.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.primary.active::before {
  color: #6C3667;
}
.ui.ui.circular.steps .step.secondary::before {
  border-color: #88d317;
}
.ui.ui.circular.steps .step.secondary::after {
  background: #88d317;
}
.ui.ui.secondary.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.secondary.active::before {
  border-color: #88d317;
}
.ui.ui.secondary.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.secondary.active::after {
  background: #88d317;
}
.ui.ui.secondary.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.secondary.completed::before {
  background: #88d317;
  border-color: #88d317;
}
.ui.ui.secondary.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.secondary.completed {
  background: #88d317;
}
.ui.ui.circular.steps:not(.vertical) .step.secondary {
  background: #88d317;
}
.ui.ui.secondary.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.secondary.active .content .title {
  color: #88d317;
}
.ui.ui.vertical.circular.steps .step.completed.secondary .content::before {
  border-color: #88d317;
}
.ui.ui.secondary.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.secondary.completed .content::before {
  border-color: #88d317;
}
.ui.ui.secondary.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.secondary::after {
  background: transparent;
}
.ui.ui.secondary.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.secondary.active::before {
  color: #88d317;
}
.ui.ui.circular.steps .step.red::before {
  border-color: #db2828;
}
.ui.ui.circular.steps .step.red::after {
  background: #db2828;
}
.ui.ui.red.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.red.active::before {
  border-color: #db2828;
}
.ui.ui.red.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.red.active::after {
  background: #db2828;
}
.ui.ui.red.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.red.completed::before {
  background: #db2828;
  border-color: #db2828;
}
.ui.ui.red.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.red.completed {
  background: #db2828;
}
.ui.ui.circular.steps:not(.vertical) .step.red {
  background: #db2828;
}
.ui.ui.red.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.red.active .content .title {
  color: #db2828;
}
.ui.ui.vertical.circular.steps .step.completed.red .content::before {
  border-color: #db2828;
}
.ui.ui.red.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.red.completed .content::before {
  border-color: #db2828;
}
.ui.ui.red.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.red::after {
  background: transparent;
}
.ui.ui.red.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.red.active::before {
  color: #db2828;
}
.ui.ui.circular.steps .step.orange::before {
  border-color: #f2711c;
}
.ui.ui.circular.steps .step.orange::after {
  background: #f2711c;
}
.ui.ui.orange.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.orange.active::before {
  border-color: #f2711c;
}
.ui.ui.orange.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.orange.active::after {
  background: #f2711c;
}
.ui.ui.orange.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.orange.completed::before {
  background: #f2711c;
  border-color: #f2711c;
}
.ui.ui.orange.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.orange.completed {
  background: #f2711c;
}
.ui.ui.circular.steps:not(.vertical) .step.orange {
  background: #f2711c;
}
.ui.ui.orange.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.orange.active .content .title {
  color: #f2711c;
}
.ui.ui.vertical.circular.steps .step.completed.orange .content::before {
  border-color: #f2711c;
}
.ui.ui.orange.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.orange.completed .content::before {
  border-color: #f2711c;
}
.ui.ui.orange.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.orange::after {
  background: transparent;
}
.ui.ui.orange.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.orange.active::before {
  color: #f2711c;
}
.ui.ui.circular.steps .step.yellow::before {
  border-color: #fbbd08;
}
.ui.ui.circular.steps .step.yellow::after {
  background: #fbbd08;
}
.ui.ui.yellow.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.yellow.active::before {
  border-color: #fbbd08;
}
.ui.ui.yellow.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.yellow.active::after {
  background: #fbbd08;
}
.ui.ui.yellow.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.yellow.completed::before {
  background: #fbbd08;
  border-color: #fbbd08;
}
.ui.ui.yellow.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.yellow.completed {
  background: #fbbd08;
}
.ui.ui.circular.steps:not(.vertical) .step.yellow {
  background: #fbbd08;
}
.ui.ui.yellow.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.yellow.active .content .title {
  color: #fbbd08;
}
.ui.ui.vertical.circular.steps .step.completed.yellow .content::before {
  border-color: #fbbd08;
}
.ui.ui.yellow.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.yellow.completed .content::before {
  border-color: #fbbd08;
}
.ui.ui.yellow.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.yellow::after {
  background: transparent;
}
.ui.ui.yellow.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.yellow.active::before {
  color: #fbbd08;
}
.ui.ui.circular.steps .step.olive::before {
  border-color: #b5cc18;
}
.ui.ui.circular.steps .step.olive::after {
  background: #b5cc18;
}
.ui.ui.olive.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.olive.active::before {
  border-color: #b5cc18;
}
.ui.ui.olive.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.olive.active::after {
  background: #b5cc18;
}
.ui.ui.olive.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.olive.completed::before {
  background: #b5cc18;
  border-color: #b5cc18;
}
.ui.ui.olive.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.olive.completed {
  background: #b5cc18;
}
.ui.ui.circular.steps:not(.vertical) .step.olive {
  background: #b5cc18;
}
.ui.ui.olive.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.olive.active .content .title {
  color: #b5cc18;
}
.ui.ui.vertical.circular.steps .step.completed.olive .content::before {
  border-color: #b5cc18;
}
.ui.ui.olive.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.olive.completed .content::before {
  border-color: #b5cc18;
}
.ui.ui.olive.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.olive::after {
  background: transparent;
}
.ui.ui.olive.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.olive.active::before {
  color: #b5cc18;
}
.ui.ui.circular.steps .step.green::before {
  border-color: #21ba45;
}
.ui.ui.circular.steps .step.green::after {
  background: #21ba45;
}
.ui.ui.green.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.green.active::before {
  border-color: #21ba45;
}
.ui.ui.green.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.green.active::after {
  background: #21ba45;
}
.ui.ui.green.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.green.completed::before {
  background: #21ba45;
  border-color: #21ba45;
}
.ui.ui.green.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.green.completed {
  background: #21ba45;
}
.ui.ui.circular.steps:not(.vertical) .step.green {
  background: #21ba45;
}
.ui.ui.green.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.green.active .content .title {
  color: #21ba45;
}
.ui.ui.vertical.circular.steps .step.completed.green .content::before {
  border-color: #21ba45;
}
.ui.ui.green.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.green.completed .content::before {
  border-color: #21ba45;
}
.ui.ui.green.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.green::after {
  background: transparent;
}
.ui.ui.green.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.green.active::before {
  color: #21ba45;
}
.ui.ui.circular.steps .step.teal::before {
  border-color: #00b5ad;
}
.ui.ui.circular.steps .step.teal::after {
  background: #00b5ad;
}
.ui.ui.teal.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.teal.active::before {
  border-color: #00b5ad;
}
.ui.ui.teal.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.teal.active::after {
  background: #00b5ad;
}
.ui.ui.teal.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.teal.completed::before {
  background: #00b5ad;
  border-color: #00b5ad;
}
.ui.ui.teal.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.teal.completed {
  background: #00b5ad;
}
.ui.ui.circular.steps:not(.vertical) .step.teal {
  background: #00b5ad;
}
.ui.ui.teal.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.teal.active .content .title {
  color: #00b5ad;
}
.ui.ui.vertical.circular.steps .step.completed.teal .content::before {
  border-color: #00b5ad;
}
.ui.ui.teal.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.teal.completed .content::before {
  border-color: #00b5ad;
}
.ui.ui.teal.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.teal::after {
  background: transparent;
}
.ui.ui.teal.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.teal.active::before {
  color: #00b5ad;
}
.ui.ui.circular.steps .step.blue::before {
  border-color: #2185d0;
}
.ui.ui.circular.steps .step.blue::after {
  background: #2185d0;
}
.ui.ui.blue.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.blue.active::before {
  border-color: #2185d0;
}
.ui.ui.blue.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.blue.active::after {
  background: #2185d0;
}
.ui.ui.blue.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.blue.completed::before {
  background: #2185d0;
  border-color: #2185d0;
}
.ui.ui.blue.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.blue.completed {
  background: #2185d0;
}
.ui.ui.circular.steps:not(.vertical) .step.blue {
  background: #2185d0;
}
.ui.ui.blue.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.blue.active .content .title {
  color: #2185d0;
}
.ui.ui.vertical.circular.steps .step.completed.blue .content::before {
  border-color: #2185d0;
}
.ui.ui.blue.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.blue.completed .content::before {
  border-color: #2185d0;
}
.ui.ui.blue.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.blue::after {
  background: transparent;
}
.ui.ui.blue.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.blue.active::before {
  color: #2185d0;
}
.ui.ui.circular.steps .step.violet::before {
  border-color: #6435c9;
}
.ui.ui.circular.steps .step.violet::after {
  background: #6435c9;
}
.ui.ui.violet.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.violet.active::before {
  border-color: #6435c9;
}
.ui.ui.violet.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.violet.active::after {
  background: #6435c9;
}
.ui.ui.violet.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.violet.completed::before {
  background: #6435c9;
  border-color: #6435c9;
}
.ui.ui.violet.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.violet.completed {
  background: #6435c9;
}
.ui.ui.circular.steps:not(.vertical) .step.violet {
  background: #6435c9;
}
.ui.ui.violet.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.violet.active .content .title {
  color: #6435c9;
}
.ui.ui.vertical.circular.steps .step.completed.violet .content::before {
  border-color: #6435c9;
}
.ui.ui.violet.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.violet.completed .content::before {
  border-color: #6435c9;
}
.ui.ui.violet.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.violet::after {
  background: transparent;
}
.ui.ui.violet.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.violet.active::before {
  color: #6435c9;
}
.ui.ui.circular.steps .step.purple::before {
  border-color: #a333c8;
}
.ui.ui.circular.steps .step.purple::after {
  background: #a333c8;
}
.ui.ui.purple.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.purple.active::before {
  border-color: #a333c8;
}
.ui.ui.purple.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.purple.active::after {
  background: #a333c8;
}
.ui.ui.purple.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.purple.completed::before {
  background: #a333c8;
  border-color: #a333c8;
}
.ui.ui.purple.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.purple.completed {
  background: #a333c8;
}
.ui.ui.circular.steps:not(.vertical) .step.purple {
  background: #a333c8;
}
.ui.ui.purple.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.purple.active .content .title {
  color: #a333c8;
}
.ui.ui.vertical.circular.steps .step.completed.purple .content::before {
  border-color: #a333c8;
}
.ui.ui.purple.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.purple.completed .content::before {
  border-color: #a333c8;
}
.ui.ui.purple.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.purple::after {
  background: transparent;
}
.ui.ui.purple.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.purple.active::before {
  color: #a333c8;
}
.ui.ui.circular.steps .step.pink::before {
  border-color: #e03997;
}
.ui.ui.circular.steps .step.pink::after {
  background: #e03997;
}
.ui.ui.pink.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.pink.active::before {
  border-color: #e03997;
}
.ui.ui.pink.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.pink.active::after {
  background: #e03997;
}
.ui.ui.pink.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.pink.completed::before {
  background: #e03997;
  border-color: #e03997;
}
.ui.ui.pink.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.pink.completed {
  background: #e03997;
}
.ui.ui.circular.steps:not(.vertical) .step.pink {
  background: #e03997;
}
.ui.ui.pink.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.pink.active .content .title {
  color: #e03997;
}
.ui.ui.vertical.circular.steps .step.completed.pink .content::before {
  border-color: #e03997;
}
.ui.ui.pink.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.pink.completed .content::before {
  border-color: #e03997;
}
.ui.ui.pink.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.pink::after {
  background: transparent;
}
.ui.ui.pink.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.pink.active::before {
  color: #e03997;
}
.ui.ui.circular.steps .step.brown::before {
  border-color: #a5673f;
}
.ui.ui.circular.steps .step.brown::after {
  background: #a5673f;
}
.ui.ui.brown.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.brown.active::before {
  border-color: #a5673f;
}
.ui.ui.brown.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.brown.active::after {
  background: #a5673f;
}
.ui.ui.brown.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.brown.completed::before {
  background: #a5673f;
  border-color: #a5673f;
}
.ui.ui.brown.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.brown.completed {
  background: #a5673f;
}
.ui.ui.circular.steps:not(.vertical) .step.brown {
  background: #a5673f;
}
.ui.ui.brown.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.brown.active .content .title {
  color: #a5673f;
}
.ui.ui.vertical.circular.steps .step.completed.brown .content::before {
  border-color: #a5673f;
}
.ui.ui.brown.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.brown.completed .content::before {
  border-color: #a5673f;
}
.ui.ui.brown.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.brown::after {
  background: transparent;
}
.ui.ui.brown.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.brown.active::before {
  color: #a5673f;
}
.ui.ui.circular.steps .step.grey::before {
  border-color: #767676;
}
.ui.ui.circular.steps .step.grey::after {
  background: #767676;
}
.ui.ui.grey.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.grey.active::before {
  border-color: #767676;
}
.ui.ui.grey.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.grey.active::after {
  background: #767676;
}
.ui.ui.grey.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.grey.completed::before {
  background: #767676;
  border-color: #767676;
}
.ui.ui.grey.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.grey.completed {
  background: #767676;
}
.ui.ui.circular.steps:not(.vertical) .step.grey {
  background: #767676;
}
.ui.ui.grey.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.grey.active .content .title {
  color: #767676;
}
.ui.ui.vertical.circular.steps .step.completed.grey .content::before {
  border-color: #767676;
}
.ui.ui.grey.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.grey.completed .content::before {
  border-color: #767676;
}
.ui.ui.grey.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.grey::after {
  background: transparent;
}
.ui.ui.grey.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.grey.active::before {
  color: #767676;
}
.ui.ui.circular.steps .step.black::before {
  border-color: #1b1c1d;
}
.ui.ui.circular.steps .step.black::after {
  background: #1b1c1d;
}
.ui.ui.black.circular.steps .step.active::before,
.ui.ui.ui.circular.steps .step.black.active::before {
  border-color: #1b1c1d;
}
.ui.ui.black.circular.steps .step.active::after,
.ui.ui.ui.circular.steps .step.black.active::after {
  background: #1b1c1d;
}
.ui.ui.black.circular.steps .step.completed::before,
.ui.ui.ui.circular.steps .step.black.completed::before {
  background: #1b1c1d;
  border-color: #1b1c1d;
}
.ui.ui.black.circular.steps:not(.vertical) .step.completed,
.ui.ui.ui.circular.steps:not(.vertical) .step.black.completed {
  background: #1b1c1d;
}
.ui.ui.circular.steps:not(.vertical) .step.black {
  background: #1b1c1d;
}
.ui.ui.black.circular.steps .step.active .content .title,
.ui.ui.ui.circular.steps .step.black.active .content .title {
  color: #1b1c1d;
}
.ui.ui.vertical.circular.steps .step.completed.black .content::before {
  border-color: #1b1c1d;
}
.ui.ui.black.vertical.circular.steps .step.completed .content::before,
.ui.ui.vertical.circular.steps .step.black.completed .content::before {
  border-color: #1b1c1d;
}
.ui.ui.black.circular.ordered.steps .step::after,
.ui.ui.circular.ordered.steps .step.black::after {
  background: transparent;
}
.ui.ui.black.circular.ordered.steps .step.active::before,
.ui.ui.circular.ordered.steps .step.black.active::before {
  color: #1b1c1d;
}
/*******************************
         Theme Overrides
*******************************/
@font-face {
  font-family: Step;
  src: url(data:application/font-woff;base64,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) format("woff");
}
.ui.steps .step.completed > .icon::before,
.ui.ordered.steps .step.completed::before {
  font-family: Step;
  content: "\e800";
  /* '' */
}
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Text
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Text
*******************************/
/* -------------------
       Element
-------------------- */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Text
*******************************/
span.ui.text {
  line-height: 1;
}
span.ui.primary.text {
  color: #6C3667;
}
span.ui.inverted.primary.text {
  color: #54c8ff;
}
span.ui.secondary.text {
  color: #88d317;
}
span.ui.inverted.secondary.text {
  color: #545454;
}
span.ui.red.text {
  color: #db2828;
}
span.ui.inverted.red.text {
  color: #ff695e;
}
span.ui.orange.text {
  color: #f2711c;
}
span.ui.inverted.orange.text {
  color: #ff851b;
}
span.ui.yellow.text {
  color: #fbbd08;
}
span.ui.inverted.yellow.text {
  color: #ffe21f;
}
span.ui.olive.text {
  color: #b5cc18;
}
span.ui.inverted.olive.text {
  color: #d9e778;
}
span.ui.green.text {
  color: #21ba45;
}
span.ui.inverted.green.text {
  color: #2ecc40;
}
span.ui.teal.text {
  color: #00b5ad;
}
span.ui.inverted.teal.text {
  color: #6dffff;
}
span.ui.blue.text {
  color: #2185d0;
}
span.ui.inverted.blue.text {
  color: #54c8ff;
}
span.ui.violet.text {
  color: #6435c9;
}
span.ui.inverted.violet.text {
  color: #a291fb;
}
span.ui.purple.text {
  color: #a333c8;
}
span.ui.inverted.purple.text {
  color: #dc73ff;
}
span.ui.pink.text {
  color: #e03997;
}
span.ui.inverted.pink.text {
  color: #ff8edf;
}
span.ui.brown.text {
  color: #a5673f;
}
span.ui.inverted.brown.text {
  color: #d67c1c;
}
span.ui.grey.text {
  color: #767676;
}
span.ui.inverted.grey.text {
  color: #dcddde;
}
span.ui.black.text {
  color: #1b1c1d;
}
span.ui.inverted.black.text {
  color: #545454;
}
span.ui.error.text {
  color: #db2828;
}
span.ui.info.text {
  color: #31ccec;
}
span.ui.success.text {
  color: #21ba45;
}
span.ui.warning.text {
  color: #f2c037;
}
span.ui.disabled.text {
  opacity: 0.45;
}
/* Sizes */
span.ui.medium.text {
  font-size: 1em;
}
span.ui.mini.text {
  font-size: 0.4em;
}
span.ui.tiny.text {
  font-size: 0.5em;
}
span.ui.small.text {
  font-size: 0.75em;
}
span.ui.large.text {
  font-size: 1.5em;
}
span.ui.big.text {
  font-size: 2em;
}
span.ui.huge.text {
  font-size: 4em;
}
span.ui.massive.text {
  font-size: 8em;
}
/*******************************
         Theme Overrides
*******************************/
/* Collections */
/*!
 * # Fomantic-UI - Breadcrumb
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
          Breadcrumb
*******************************/
/* -------------------
     Breadcrumb
-------------------- */
/* Coupling */
/* Inverted */
/* -------------------
       States
-------------------- */
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           Breadcrumb
*******************************/
.ui.breadcrumb {
  line-height: 1.4285em;
  display: inline-block;
  margin: 0 0;
  vertical-align: middle;
}
.ui.breadcrumb:first-child {
  margin-top: 0;
}
.ui.breadcrumb:last-child {
  margin-bottom: 0;
}
/*******************************
          Content
*******************************/
/* Divider */
.ui.breadcrumb .divider {
  display: inline-block;
  opacity: 0.7;
  margin: 0 0.21428571rem;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.4);
  vertical-align: baseline;
}
/* Link */
.ui.breadcrumb a {
  color: #4183c4;
}
.ui.breadcrumb a:hover {
  color: #1e70bf;
}
/* Icon Divider */
.ui.breadcrumb .icon.divider {
  font-size: 0.85714286em;
  vertical-align: baseline;
}
/* Section */
.ui.breadcrumb a.section {
  cursor: pointer;
}
.ui.breadcrumb .section {
  display: inline-block;
  margin: 0;
  padding: 0;
}
/* Loose Coupling */
.ui.breadcrumb.segment {
  display: inline-block;
  padding: 0.78571429em 1em;
}
/* Inverted */
.ui.inverted.breadcrumb {
  color: #dcddde;
}
.ui.inverted.breadcrumb > .active.section {
  color: #FFFFFF;
}
.ui.inverted.breadcrumb > .divider {
  color: rgba(255, 255, 255, 0.7);
}
/*******************************
            States
*******************************/
.ui.breadcrumb .active.section {
  font-weight: bold;
}
/*******************************
           Variations
*******************************/
.ui.breadcrumb {
  font-size: 1rem;
}
.ui.mini.breadcrumb {
  font-size: 0.78571429rem;
}
.ui.tiny.breadcrumb {
  font-size: 0.85714286rem;
}
.ui.small.breadcrumb {
  font-size: 0.92857143rem;
}
.ui.large.breadcrumb {
  font-size: 1.14285714rem;
}
.ui.big.breadcrumb {
  font-size: 1.28571429rem;
}
.ui.huge.breadcrumb {
  font-size: 1.42857143rem;
}
.ui.massive.breadcrumb {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Form
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Form
*******************************/
/* -------------------
       Elements
-------------------- */
/* Form */
/* Text */
/* Field */
/* Fields */
/* Form Label */
/* Input */
/* Select */
/* Text Area */
/* Checkbox */
/* Inline Validation Prompt */
/* -------------------
        States
-------------------- */
/* Focus */
/* Input Focus */
/* Text Area Focus */
/* Disabled */
/* Input states */
/* Loading Dimmer */
/* Loading Spinner */
/* -------------------
        Types
-------------------- */
/* Required */
/* Inverted */
/* -------------------
      Variations
-------------------- */
/* Grouped Fields */
/* Icon */
/* Inline */
/* -------------------
       Groups
-------------------- */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Elements
*******************************/
/* --------------------
        Form
--------------------- */
.ui.form {
  position: relative;
  max-width: 100%;
}
/* --------------------
        Content
--------------------- */
.ui.form > p {
  margin: 1em 0;
}
/* --------------------
        Field
--------------------- */
.ui.form .field {
  clear: both;
  margin: 0 0 1em;
}
.ui.form .fields .fields,
.ui.form .field:last-child,
.ui.form .fields:last-child .field {
  margin-bottom: 0;
}
.ui.form .fields .field {
  clear: both;
  margin: 0;
}
/* --------------------
        Labels
--------------------- */
.ui.form .field > label {
  display: block;
  margin: 0 0 0.28571429rem 0;
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}
.ui.form:not(.inverted) .field > label:not(.button) {
  color: rgba(0, 0, 0, 0.87);
}
/* --------------------
    Standard Inputs
--------------------- */
.ui.form textarea,
.ui.form input:not([type]),
.ui.form input[type="color"],
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="month"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="file"],
.ui.form input[type="url"],
.ui.form input[type="week"] {
  width: 100%;
  vertical-align: top;
}
/* Set max height on unusual input */
.ui.form ::-webkit-datetime-edit,
.ui.form ::-webkit-inner-spin-button {
  height: 1.21428571em;
}
.ui.form input:not([type]),
.ui.form input[type="color"],
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="month"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="file"],
.ui.form input[type="url"],
.ui.form input[type="week"] {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin: 0;
  outline: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  line-height: 1.21428571em;
  padding: 0.67857143em 1em;
  font-size: 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0 0 0 0 transparent inset;
  transition: color 0.1s ease, border-color 0.1s ease;
}
.ui.form input[type="color"] {
  padding: initial;
}
.ui.form input::-webkit-calendar-picker-indicator {
  padding: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
/* Text Area */
.ui.input textarea,
.ui.form textarea {
  margin: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  padding: 0.78571429em 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  outline: none;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0 0 0 0 transparent inset;
  transition: color 0.1s ease, border-color 0.1s ease;
  font-size: 1em;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  line-height: 1.2857;
  resize: vertical;
  min-height: 2.99992857em;
}
.ui.input > textarea {
  flex: 1 1 auto;
  max-width: 100%;
}
.ui.form textarea:not([rows]) {
  height: 12em;
  min-height: 8em;
  max-height: 24em;
}
.ui.form textarea,
.ui.form input[type="checkbox"] {
  vertical-align: top;
}
/* --------------------
    Checkbox margin
--------------------- */
.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) label + .ui.ui.checkbox {
  margin-top: 0.7em;
}
.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.checkbox {
  margin-top: 2.41428571em;
}
.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.toggle.checkbox {
  margin-top: 2.21428571em;
}
.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.slider.checkbox {
  margin-top: 2.61428571em;
}
.ui.ui.form .field .fields .field:not(:only-child) .ui.checkbox {
  margin-top: 0.6em;
}
.ui.ui.form .field .fields .field:not(:only-child) .ui.toggle.checkbox {
  margin-top: 0.5em;
}
.ui.ui.form .field .fields .field:not(:only-child) .ui.slider.checkbox {
  margin-top: 0.7em;
}
/* --------------------
          Transparent
    --------------------- */
.ui.form .field .transparent.input:not(.icon) input,
.ui.form .field input.transparent,
.ui.form .field textarea.transparent {
  padding: 0.67857143em 1em;
}
.ui.form .field input.transparent,
.ui.form .field textarea.transparent {
  border-color: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
/* --------------------------
  Input w/ attached Button
--------------------------- */
.ui.form input.attached {
  width: auto;
}
/* --------------------
     Basic Select
--------------------- */
.ui.form select {
  display: block;
  height: auto;
  width: 100%;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  box-shadow: 0 0 0 0 transparent inset;
  padding: 0.62em 1em;
  color: rgba(0, 0, 0, 0.87);
  transition: color 0.1s ease, border-color 0.1s ease;
}
/* --------------------
       Dropdown
--------------------- */
/* Block */
.ui.form .field > .selection.dropdown:not(.compact) {
  min-width: auto;
  width: 100%;
}
.ui.form .field > .selection.dropdown > .dropdown.icon {
  float: right;
}
/* Inline */
.ui.form .inline.fields .field > .selection.dropdown,
.ui.form .inline.field > .selection.dropdown {
  width: auto;
}
.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,
.ui.form .inline.field > .selection.dropdown > .dropdown.icon {
  float: none;
}
/* --------------------
       UI Input
--------------------- */
/* Block */
.ui.form .field .ui.input,
.ui.form .fields .field .ui.input,
.ui.form .wide.field .ui.input {
  width: 100%;
}
/* Inline */
.ui.form .inline.fields .field:not(.wide) .ui.input,
.ui.form .inline.field:not(.wide) .ui.input {
  width: auto;
  vertical-align: middle;
}
/* Auto Input */
.ui.form .fields .field .ui.input input,
.ui.form .fields .field .ui.input textarea,
.ui.form .field .ui.input input,
.ui.form .field .ui.input textarea {
  width: 100%;
}
/* Full Width Input */
.ui.form .ten.fields .ui.input input,
.ui.form .nine.fields .ui.input input,
.ui.form .eight.fields .ui.input input,
.ui.form .seven.fields .ui.input input,
.ui.form .six.fields .ui.input input,
.ui.form .five.fields .ui.input input,
.ui.form .four.fields .ui.input input,
.ui.form .three.fields .ui.input input,
.ui.form .two.fields .ui.input input,
.ui.form .wide.field .ui.input input {
  flex: 1 0 auto;
  width: 0;
}
/* --------------------
   Types of Messages
--------------------- */
.ui.form .error.message,
.ui.form .error.message:empty {
  display: none;
}
.ui.form .info.message,
.ui.form .info.message:empty {
  display: none;
}
.ui.form .success.message,
.ui.form .success.message:empty {
  display: none;
}
.ui.form .warning.message,
.ui.form .warning.message:empty {
  display: none;
}
/* Assumptions */
.ui.form .message:first-child {
  margin-top: 0;
}
/* --------------------
   Validation Prompt
--------------------- */
.ui.form .field .prompt.label {
  white-space: normal;
  background: #FFFFFF !important;
  border: 1px solid #e0b4b4 !important;
  color: #9f3a38 !important;
}
.ui.form .field .prompt.label li::before {
  color: #9f3a38;
}
.ui.form .inline.fields .field .prompt,
.ui.form .inline.field .prompt {
  vertical-align: top;
  margin: -0.25em 0 -0.5em 0.5em;
}
.ui.form .inline.fields .field .prompt::before,
.ui.form .inline.field .prompt::before {
  border-width: 0 0 1px 1px;
  bottom: auto;
  right: auto;
  top: 50%;
  left: 0;
}
/*******************************
            States
*******************************/
/* --------------------
      Autofilled
--------------------- */
.ui.form .field.field input:-webkit-autofill {
  box-shadow: 0 0 0 100px #fffff0 inset !important;
  border-color: #e5dfa1 !important;
}
/* Focus */
.ui.form .field.field input:-webkit-autofill:focus {
  box-shadow: 0 0 0 100px #fffff0 inset !important;
  border-color: #d5c315 !important;
}
/* --------------------
      Placeholder
--------------------- */
/* browsers require these rules separate */
.ui.form ::-moz-placeholder {
  color: rgba(191, 191, 191, 0.87);
}
.ui.form ::placeholder {
  color: rgba(191, 191, 191, 0.87);
}
.ui.form ::-moz-placeholder {
  opacity: 1;
}
.ui.form :focus::-moz-placeholder {
  color: rgba(115, 115, 115, 0.87);
}
.ui.form :focus::placeholder {
  color: rgba(115, 115, 115, 0.87);
}
.ui.form :focus:-ms-input-placeholder {
  color: rgba(115, 115, 115, 0.87) !important;
}
/* --------------------
        Focus
--------------------- */
.ui.form input:not([type]):focus,
.ui.form input[type="color"]:focus,
.ui.form input[type="date"]:focus,
.ui.form input[type="datetime-local"]:focus,
.ui.form input[type="email"]:focus,
.ui.form input[type="month"]:focus,
.ui.form input[type="number"]:focus,
.ui.form input[type="password"]:focus,
.ui.form input[type="search"]:focus,
.ui.form input[type="tel"]:focus,
.ui.form input[type="time"]:focus,
.ui.form input[type="text"]:focus,
.ui.form input[type="file"]:focus,
.ui.form input[type="url"]:focus,
.ui.form input[type="week"]:focus {
  color: rgba(0, 0, 0, 0.95);
  border-color: #85b7d9;
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
}
.ui.form .ui.action.input:not([class*="left action"]) input:not([type]):focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="color"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="date"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="datetime-local"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="email"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="month"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="number"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="password"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="search"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="tel"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="time"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="text"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="file"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="url"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) input[type="week"]:focus,
.ui.form .ui.action.input:not([class*="left action"]) textarea:focus {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.form .ui[class*="left action"].input input:not([type]),
.ui.form .ui[class*="left action"].input input[type="color"],
.ui.form .ui[class*="left action"].input input[type="date"],
.ui.form .ui[class*="left action"].input input[type="datetime-local"],
.ui.form .ui[class*="left action"].input input[type="email"],
.ui.form .ui[class*="left action"].input input[type="month"],
.ui.form .ui[class*="left action"].input input[type="number"],
.ui.form .ui[class*="left action"].input input[type="password"],
.ui.form .ui[class*="left action"].input input[type="search"],
.ui.form .ui[class*="left action"].input input[type="tel"],
.ui.form .ui[class*="left action"].input input[type="time"],
.ui.form .ui[class*="left action"].input input[type="text"],
.ui.form .ui[class*="left action"].input input[type="file"],
.ui.form .ui[class*="left action"].input input[type="url"],
.ui.form .ui[class*="left action"].input input[type="week"],
.ui.form .ui[class*="left action"].input textarea {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.ui.form textarea:focus {
  color: rgba(0, 0, 0, 0.95);
  border-color: #85b7d9;
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.35) inset;
  -webkit-appearance: none;
}
/* Focus */
.ui.form input:focus::-webkit-calendar-picker-indicator {
  opacity: 1;
}
/* --------------------
            States
    --------------------- */
/* On Form */
.ui.form.error .error.message:not(:empty) {
  display: block;
}
.ui.form.error .compact.error.message:not(:empty) {
  display: inline-block;
}
.ui.form.error .icon.error.message:not(:empty) {
  display: flex;
}
/* On Field(s) */
.ui.form .fields.error .error.message:not(:empty),
.ui.form .field.error .error.message:not(:empty) {
  display: block;
}
.ui.form .fields.error .compact.error.message:not(:empty),
.ui.form .field.error .compact.error.message:not(:empty) {
  display: inline-block;
}
.ui.form .fields.error .icon.error.message:not(:empty),
.ui.form .field.error .icon.error.message:not(:empty) {
  display: flex;
}
.ui.ui.form .fields.error .field label,
.ui.ui.form .fields.error .field .ui.label:not(.corner),
.ui.ui.form .field.error label,
.ui.ui.form .field.error .ui.label:not(.corner),
.ui.ui.form .fields.error .field .input,
.ui.ui.form .field.error .input {
  color: #9f3a38;
}
@supports selector(:has(.f)) {
  .ui.form .fields:has(.error) > label {
    color: #9f3a38;
  }
}
.ui.form .fields.error .field .ui.label,
.ui.form .field.error .ui.label {
  background-color: #ecd1d1;
}
.ui.form .fields.error .field .corner.label,
.ui.form .field.error .corner.label {
  border-color: #9f3a38;
  color: #FFFFFF;
}
.ui.form .fields.error .field textarea,
.ui.form .fields.error .field select,
.ui.form .fields.error .field input:not([type]),
.ui.form .fields.error .field input[type="color"],
.ui.form .fields.error .field input[type="date"],
.ui.form .fields.error .field input[type="datetime-local"],
.ui.form .fields.error .field input[type="email"],
.ui.form .fields.error .field input[type="month"],
.ui.form .fields.error .field input[type="number"],
.ui.form .fields.error .field input[type="password"],
.ui.form .fields.error .field input[type="search"],
.ui.form .fields.error .field input[type="tel"],
.ui.form .fields.error .field input[type="time"],
.ui.form .fields.error .field input[type="text"],
.ui.form .fields.error .field input[type="file"],
.ui.form .fields.error .field input[type="url"],
.ui.form .fields.error .field input[type="week"],
.ui.form .field.error textarea,
.ui.form .field.error select,
.ui.form .field.error input:not([type]),
.ui.form .field.error input[type="color"],
.ui.form .field.error input[type="date"],
.ui.form .field.error input[type="datetime-local"],
.ui.form .field.error input[type="email"],
.ui.form .field.error input[type="month"],
.ui.form .field.error input[type="number"],
.ui.form .field.error input[type="password"],
.ui.form .field.error input[type="search"],
.ui.form .field.error input[type="tel"],
.ui.form .field.error input[type="time"],
.ui.form .field.error input[type="text"],
.ui.form .field.error input[type="file"],
.ui.form .field.error input[type="url"],
.ui.form .field.error input[type="week"] {
  color: #9f3a38;
  background: #fff6f6;
  border-color: #e0b4b4;
  border-radius: "";
  box-shadow: none;
}
.ui.form:not(.initial) .field input:invalid {
  color: #9f3a38;
  background: #fff6f6;
  border-color: #e0b4b4;
  border-radius: "";
  box-shadow: none;
}
.ui.form .field.error textarea:focus,
.ui.form .field.error select:focus,
.ui.form .field.error input:not([type]):focus,
.ui.form .field.error input[type="color"]:focus,
.ui.form .field.error input[type="date"]:focus,
.ui.form .field.error input[type="datetime-local"]:focus,
.ui.form .field.error input[type="email"]:focus,
.ui.form .field.error input[type="month"]:focus,
.ui.form .field.error input[type="number"]:focus,
.ui.form .field.error input[type="password"]:focus,
.ui.form .field.error input[type="search"]:focus,
.ui.form .field.error input[type="tel"]:focus,
.ui.form .field.error input[type="time"]:focus,
.ui.form .field.error input[type="text"]:focus,
.ui.form .field.error input[type="file"]:focus,
.ui.form .field.error input[type="url"]:focus,
.ui.form .field.error input[type="week"]:focus {
  background: #fff6f6;
  border-color: #e0b4b4;
  color: #9f3a38;
  box-shadow: none;
}
.ui.form .field.error > textarea:hover:not(:focus),
.ui.form .field.error > input:hover:not(:focus) {
  border-color: #e0b4b4;
}
/* Preserve Native Select Stylings */
.ui.form .field.error select {
  -webkit-appearance: menulist-button;
}
/*------------------
            Input State
        --------------------*/
/* Transparent */
.ui.form .field.error .transparent.input input,
.ui.form .field.error .transparent.input textarea,
.ui.form .field.error input.transparent,
.ui.form .field.error textarea.transparent {
  background-color: #fff6f6 !important;
  color: #9f3a38 !important;
}
/* Autofilled */
.ui.form .error.error input:-webkit-autofill {
  box-shadow: 0 0 0 100px #fffaf0 inset !important;
  border-color: #e0b4b4 !important;
}
/* Placeholder */
.ui.form .error ::-moz-placeholder {
  color: #e7bdbc;
}
.ui.form .error .ui.dropdown > .default.text,
.ui.form .error ::placeholder {
  color: #e7bdbc;
}
.ui.form .error :focus::-moz-placeholder {
  color: #da9796;
}
.ui.form .error .ui.dropdown > input:focus ~ .default.text,
.ui.form .error :focus::placeholder {
  color: #da9796;
}
.ui.form .error :focus:-ms-input-placeholder {
  color: #da9796 !important;
}
/*------------------
            Dropdown State
        --------------------*/
.ui.form .fields.error .field .ui.dropdown,
.ui.form .fields.error .field .ui.dropdown .item,
.ui.form .field.error .ui.dropdown,
.ui.form .field.error .ui.dropdown > .text,
.ui.form .field.error .ui.dropdown .item {
  background: #fff6f6;
  color: #9f3a38;
}
.ui.form .fields.error .field .ui.dropdown,
.ui.form .field.error .ui.dropdown {
  border-color: #e0b4b4 !important;
}
.ui.form .fields.error .field .ui.dropdown:hover,
.ui.form .field.error .ui.dropdown:hover {
  border-color: #e0b4b4 !important;
}
.ui.form .fields.error .field .ui.dropdown:hover .menu,
.ui.form .field.error .ui.dropdown:hover .menu {
  border-color: #e0b4b4;
}
.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,
.ui.form .field.error .ui.multiple.selection.dropdown > .label {
  background-color: #eacbcb;
  color: #9f3a38;
}
/* Hover */
.ui.form .fields.error .field .ui.dropdown .menu .item:hover,
.ui.form .field.error .ui.dropdown .menu .item:hover {
  background-color: #fbe7e7;
}
/* Selected */
.ui.form .fields.error .field .ui.dropdown .menu .selected.item,
.ui.form .field.error .ui.dropdown .menu .selected.item {
  background-color: #fbe7e7;
}
/* Active */
.ui.form .fields.error .field .ui.dropdown .menu .active.item,
.ui.form .field.error .ui.dropdown .menu .active.item {
  background-color: #fdcfcf !important;
}
/*--------------------
            Checkbox State
        ---------------------*/
.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) label {
  color: #9f3a38;
}
.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label::before,
.ui.form .field.error .checkbox:not(.toggle):not(.slider) label::before {
  background: #fff6f6;
  border-color: #e0b4b4;
}
.ui.form .fields.error .field .checkbox label::after,
.ui.form .field.error .checkbox label::after {
  color: #9f3a38;
}
.ui.inverted.form .fields.error .field label,
.ui.inverted.form .error.field label {
  color: #ecd1d1;
}
@supports selector(:has(.f)) {
  .ui.inverted.form .fields:has(.error) > label {
    color: #ecd1d1;
  }
}
/* On Form */
.ui.form.info .info.message:not(:empty) {
  display: block;
}
.ui.form.info .compact.info.message:not(:empty) {
  display: inline-block;
}
.ui.form.info .icon.info.message:not(:empty) {
  display: flex;
}
/* On Field(s) */
.ui.form .fields.info .info.message:not(:empty),
.ui.form .field.info .info.message:not(:empty) {
  display: block;
}
.ui.form .fields.info .compact.info.message:not(:empty),
.ui.form .field.info .compact.info.message:not(:empty) {
  display: inline-block;
}
.ui.form .fields.info .icon.info.message:not(:empty),
.ui.form .field.info .icon.info.message:not(:empty) {
  display: flex;
}
.ui.ui.form .fields.info .field label,
.ui.ui.form .fields.info .field .ui.label:not(.corner),
.ui.ui.form .field.info label,
.ui.ui.form .field.info .ui.label:not(.corner),
.ui.ui.form .fields.info .field .input,
.ui.ui.form .field.info .input {
  color: #276f86;
}
@supports selector(:has(.f)) {
  .ui.form .fields:has(.info) > label {
    color: #276f86;
  }
}
.ui.form .fields.info .field .ui.label,
.ui.form .field.info .ui.label {
  background-color: #c6e3e9;
}
.ui.form .fields.info .field .corner.label,
.ui.form .field.info .corner.label {
  border-color: #276f86;
  color: #FFFFFF;
}
.ui.form .fields.info .field textarea,
.ui.form .fields.info .field select,
.ui.form .fields.info .field input:not([type]),
.ui.form .fields.info .field input[type="color"],
.ui.form .fields.info .field input[type="date"],
.ui.form .fields.info .field input[type="datetime-local"],
.ui.form .fields.info .field input[type="email"],
.ui.form .fields.info .field input[type="month"],
.ui.form .fields.info .field input[type="number"],
.ui.form .fields.info .field input[type="password"],
.ui.form .fields.info .field input[type="search"],
.ui.form .fields.info .field input[type="tel"],
.ui.form .fields.info .field input[type="time"],
.ui.form .fields.info .field input[type="text"],
.ui.form .fields.info .field input[type="file"],
.ui.form .fields.info .field input[type="url"],
.ui.form .fields.info .field input[type="week"],
.ui.form .field.info textarea,
.ui.form .field.info select,
.ui.form .field.info input:not([type]),
.ui.form .field.info input[type="color"],
.ui.form .field.info input[type="date"],
.ui.form .field.info input[type="datetime-local"],
.ui.form .field.info input[type="email"],
.ui.form .field.info input[type="month"],
.ui.form .field.info input[type="number"],
.ui.form .field.info input[type="password"],
.ui.form .field.info input[type="search"],
.ui.form .field.info input[type="tel"],
.ui.form .field.info input[type="time"],
.ui.form .field.info input[type="text"],
.ui.form .field.info input[type="file"],
.ui.form .field.info input[type="url"],
.ui.form .field.info input[type="week"] {
  color: #276f86;
  background: #f8ffff;
  border-color: #a9d5de;
  border-radius: "";
  box-shadow: none;
}
.ui.form .field.info textarea:focus,
.ui.form .field.info select:focus,
.ui.form .field.info input:not([type]):focus,
.ui.form .field.info input[type="color"]:focus,
.ui.form .field.info input[type="date"]:focus,
.ui.form .field.info input[type="datetime-local"]:focus,
.ui.form .field.info input[type="email"]:focus,
.ui.form .field.info input[type="month"]:focus,
.ui.form .field.info input[type="number"]:focus,
.ui.form .field.info input[type="password"]:focus,
.ui.form .field.info input[type="search"]:focus,
.ui.form .field.info input[type="tel"]:focus,
.ui.form .field.info input[type="time"]:focus,
.ui.form .field.info input[type="text"]:focus,
.ui.form .field.info input[type="file"]:focus,
.ui.form .field.info input[type="url"]:focus,
.ui.form .field.info input[type="week"]:focus {
  background: #f8ffff;
  border-color: #a9d5de;
  color: #276f86;
  box-shadow: none;
}
.ui.form .field.info > textarea:hover:not(:focus),
.ui.form .field.info > input:hover:not(:focus) {
  border-color: #a9d5de;
}
/* Preserve Native Select Stylings */
.ui.form .field.info select {
  -webkit-appearance: menulist-button;
}
/*------------------
            Input State
        --------------------*/
/* Transparent */
.ui.form .field.info .transparent.input input,
.ui.form .field.info .transparent.input textarea,
.ui.form .field.info input.transparent,
.ui.form .field.info textarea.transparent {
  background-color: #f8ffff !important;
  color: #276f86 !important;
}
/* Autofilled */
.ui.form .info.info input:-webkit-autofill {
  box-shadow: 0 0 0 100px #f0faff inset !important;
  border-color: #b3e0e0 !important;
}
/* Placeholder */
.ui.form .info ::-moz-placeholder {
  color: #98cfe1;
}
.ui.form .info .ui.dropdown > .default.text,
.ui.form .info ::placeholder {
  color: #98cfe1;
}
.ui.form .info :focus::-moz-placeholder {
  color: #70bdd6;
}
.ui.form .info .ui.dropdown > input:focus ~ .default.text,
.ui.form .info :focus::placeholder {
  color: #70bdd6;
}
.ui.form .info :focus:-ms-input-placeholder {
  color: #70bdd6 !important;
}
/*------------------
            Dropdown State
        --------------------*/
.ui.form .fields.info .field .ui.dropdown,
.ui.form .fields.info .field .ui.dropdown .item,
.ui.form .field.info .ui.dropdown,
.ui.form .field.info .ui.dropdown > .text,
.ui.form .field.info .ui.dropdown .item {
  background: #f8ffff;
  color: #276f86;
}
.ui.form .fields.info .field .ui.dropdown,
.ui.form .field.info .ui.dropdown {
  border-color: #a9d5de !important;
}
.ui.form .fields.info .field .ui.dropdown:hover,
.ui.form .field.info .ui.dropdown:hover {
  border-color: #a9d5de !important;
}
.ui.form .fields.info .field .ui.dropdown:hover .menu,
.ui.form .field.info .ui.dropdown:hover .menu {
  border-color: #a9d5de;
}
.ui.form .fields.info .field .ui.multiple.selection.dropdown > .label,
.ui.form .field.info .ui.multiple.selection.dropdown > .label {
  background-color: #cce3ea;
  color: #276f86;
}
/* Hover */
.ui.form .fields.info .field .ui.dropdown .menu .item:hover,
.ui.form .field.info .ui.dropdown .menu .item:hover {
  background-color: #e9f2fb;
}
/* Selected */
.ui.form .fields.info .field .ui.dropdown .menu .selected.item,
.ui.form .field.info .ui.dropdown .menu .selected.item {
  background-color: #e9f2fb;
}
/* Active */
.ui.form .fields.info .field .ui.dropdown .menu .active.item,
.ui.form .field.info .ui.dropdown .menu .active.item {
  background-color: #cef1fd !important;
}
/*--------------------
            Checkbox State
        ---------------------*/
.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) label,
.ui.form .field.info .checkbox:not(.toggle):not(.slider) label {
  color: #276f86;
}
.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) label::before,
.ui.form .field.info .checkbox:not(.toggle):not(.slider) label::before {
  background: #f8ffff;
  border-color: #a9d5de;
}
.ui.form .fields.info .field .checkbox label::after,
.ui.form .field.info .checkbox label::after {
  color: #276f86;
}
.ui.inverted.form .fields.info .field label,
.ui.inverted.form .info.field label {
  color: #c6e3e9;
}
@supports selector(:has(.f)) {
  .ui.inverted.form .fields:has(.info) > label {
    color: #c6e3e9;
  }
}
/* On Form */
.ui.form.success .success.message:not(:empty) {
  display: block;
}
.ui.form.success .compact.success.message:not(:empty) {
  display: inline-block;
}
.ui.form.success .icon.success.message:not(:empty) {
  display: flex;
}
/* On Field(s) */
.ui.form .fields.success .success.message:not(:empty),
.ui.form .field.success .success.message:not(:empty) {
  display: block;
}
.ui.form .fields.success .compact.success.message:not(:empty),
.ui.form .field.success .compact.success.message:not(:empty) {
  display: inline-block;
}
.ui.form .fields.success .icon.success.message:not(:empty),
.ui.form .field.success .icon.success.message:not(:empty) {
  display: flex;
}
.ui.ui.form .fields.success .field label,
.ui.ui.form .fields.success .field .ui.label:not(.corner),
.ui.ui.form .field.success label,
.ui.ui.form .field.success .ui.label:not(.corner),
.ui.ui.form .fields.success .field .input,
.ui.ui.form .field.success .input {
  color: #2c662d;
}
@supports selector(:has(.f)) {
  .ui.form .fields:has(.success) > label {
    color: #2c662d;
  }
}
.ui.form .fields.success .field .ui.label,
.ui.form .field.success .ui.label {
  background-color: #b9d1ad;
}
.ui.form .fields.success .field .corner.label,
.ui.form .field.success .corner.label {
  border-color: #2c662d;
  color: #FFFFFF;
}
.ui.form .fields.success .field textarea,
.ui.form .fields.success .field select,
.ui.form .fields.success .field input:not([type]),
.ui.form .fields.success .field input[type="color"],
.ui.form .fields.success .field input[type="date"],
.ui.form .fields.success .field input[type="datetime-local"],
.ui.form .fields.success .field input[type="email"],
.ui.form .fields.success .field input[type="month"],
.ui.form .fields.success .field input[type="number"],
.ui.form .fields.success .field input[type="password"],
.ui.form .fields.success .field input[type="search"],
.ui.form .fields.success .field input[type="tel"],
.ui.form .fields.success .field input[type="time"],
.ui.form .fields.success .field input[type="text"],
.ui.form .fields.success .field input[type="file"],
.ui.form .fields.success .field input[type="url"],
.ui.form .fields.success .field input[type="week"],
.ui.form .field.success textarea,
.ui.form .field.success select,
.ui.form .field.success input:not([type]),
.ui.form .field.success input[type="color"],
.ui.form .field.success input[type="date"],
.ui.form .field.success input[type="datetime-local"],
.ui.form .field.success input[type="email"],
.ui.form .field.success input[type="month"],
.ui.form .field.success input[type="number"],
.ui.form .field.success input[type="password"],
.ui.form .field.success input[type="search"],
.ui.form .field.success input[type="tel"],
.ui.form .field.success input[type="time"],
.ui.form .field.success input[type="text"],
.ui.form .field.success input[type="file"],
.ui.form .field.success input[type="url"],
.ui.form .field.success input[type="week"] {
  color: #2c662d;
  background: #fcfff5;
  border-color: #a3c293;
  border-radius: "";
  box-shadow: none;
}
.ui.form .field.success textarea:focus,
.ui.form .field.success select:focus,
.ui.form .field.success input:not([type]):focus,
.ui.form .field.success input[type="color"]:focus,
.ui.form .field.success input[type="date"]:focus,
.ui.form .field.success input[type="datetime-local"]:focus,
.ui.form .field.success input[type="email"]:focus,
.ui.form .field.success input[type="month"]:focus,
.ui.form .field.success input[type="number"]:focus,
.ui.form .field.success input[type="password"]:focus,
.ui.form .field.success input[type="search"]:focus,
.ui.form .field.success input[type="tel"]:focus,
.ui.form .field.success input[type="time"]:focus,
.ui.form .field.success input[type="text"]:focus,
.ui.form .field.success input[type="file"]:focus,
.ui.form .field.success input[type="url"]:focus,
.ui.form .field.success input[type="week"]:focus {
  background: #fcfff5;
  border-color: #a3c293;
  color: #2c662d;
  box-shadow: none;
}
.ui.form .field.success > textarea:hover:not(:focus),
.ui.form .field.success > input:hover:not(:focus) {
  border-color: #a3c293;
}
/* Preserve Native Select Stylings */
.ui.form .field.success select {
  -webkit-appearance: menulist-button;
}
/*------------------
            Input State
        --------------------*/
/* Transparent */
.ui.form .field.success .transparent.input input,
.ui.form .field.success .transparent.input textarea,
.ui.form .field.success input.transparent,
.ui.form .field.success textarea.transparent {
  background-color: #fcfff5 !important;
  color: #2c662d !important;
}
/* Autofilled */
.ui.form .success.success input:-webkit-autofill {
  box-shadow: 0 0 0 100px #f0fff0 inset !important;
  border-color: #bee0b3 !important;
}
/* Placeholder */
.ui.form .success ::-moz-placeholder {
  color: #8fcf90;
}
.ui.form .success .ui.dropdown > .default.text,
.ui.form .success ::placeholder {
  color: #8fcf90;
}
.ui.form .success :focus::-moz-placeholder {
  color: #6cbf6d;
}
.ui.form .success .ui.dropdown > input:focus ~ .default.text,
.ui.form .success :focus::placeholder {
  color: #6cbf6d;
}
.ui.form .success :focus:-ms-input-placeholder {
  color: #6cbf6d !important;
}
/*------------------
            Dropdown State
        --------------------*/
.ui.form .fields.success .field .ui.dropdown,
.ui.form .fields.success .field .ui.dropdown .item,
.ui.form .field.success .ui.dropdown,
.ui.form .field.success .ui.dropdown > .text,
.ui.form .field.success .ui.dropdown .item {
  background: #fcfff5;
  color: #2c662d;
}
.ui.form .fields.success .field .ui.dropdown,
.ui.form .field.success .ui.dropdown {
  border-color: #a3c293 !important;
}
.ui.form .fields.success .field .ui.dropdown:hover,
.ui.form .field.success .ui.dropdown:hover {
  border-color: #a3c293 !important;
}
.ui.form .fields.success .field .ui.dropdown:hover .menu,
.ui.form .field.success .ui.dropdown:hover .menu {
  border-color: #a3c293;
}
.ui.form .fields.success .field .ui.multiple.selection.dropdown > .label,
.ui.form .field.success .ui.multiple.selection.dropdown > .label {
  background-color: #cceacc;
  color: #2c662d;
}
/* Hover */
.ui.form .fields.success .field .ui.dropdown .menu .item:hover,
.ui.form .field.success .ui.dropdown .menu .item:hover {
  background-color: #e9fbe9;
}
/* Selected */
.ui.form .fields.success .field .ui.dropdown .menu .selected.item,
.ui.form .field.success .ui.dropdown .menu .selected.item {
  background-color: #e9fbe9;
}
/* Active */
.ui.form .fields.success .field .ui.dropdown .menu .active.item,
.ui.form .field.success .ui.dropdown .menu .active.item {
  background-color: #dafdce !important;
}
/*--------------------
            Checkbox State
        ---------------------*/
.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) label,
.ui.form .field.success .checkbox:not(.toggle):not(.slider) label {
  color: #2c662d;
}
.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) label::before,
.ui.form .field.success .checkbox:not(.toggle):not(.slider) label::before {
  background: #fcfff5;
  border-color: #a3c293;
}
.ui.form .fields.success .field .checkbox label::after,
.ui.form .field.success .checkbox label::after {
  color: #2c662d;
}
.ui.inverted.form .fields.success .field label,
.ui.inverted.form .success.field label {
  color: #b9d1ad;
}
@supports selector(:has(.f)) {
  .ui.inverted.form .fields:has(.success) > label {
    color: #b9d1ad;
  }
}
/* On Form */
.ui.form.warning .warning.message:not(:empty) {
  display: block;
}
.ui.form.warning .compact.warning.message:not(:empty) {
  display: inline-block;
}
.ui.form.warning .icon.warning.message:not(:empty) {
  display: flex;
}
/* On Field(s) */
.ui.form .fields.warning .warning.message:not(:empty),
.ui.form .field.warning .warning.message:not(:empty) {
  display: block;
}
.ui.form .fields.warning .compact.warning.message:not(:empty),
.ui.form .field.warning .compact.warning.message:not(:empty) {
  display: inline-block;
}
.ui.form .fields.warning .icon.warning.message:not(:empty),
.ui.form .field.warning .icon.warning.message:not(:empty) {
  display: flex;
}
.ui.ui.form .fields.warning .field label,
.ui.ui.form .fields.warning .field .ui.label:not(.corner),
.ui.ui.form .field.warning label,
.ui.ui.form .field.warning .ui.label:not(.corner),
.ui.ui.form .fields.warning .field .input,
.ui.ui.form .field.warning .input {
  color: #573a08;
}
@supports selector(:has(.f)) {
  .ui.form .fields:has(.warning) > label {
    color: #573a08;
  }
}
.ui.form .fields.warning .field .ui.label,
.ui.form .field.warning .ui.label {
  background-color: #d7ccb5;
}
.ui.form .fields.warning .field .corner.label,
.ui.form .field.warning .corner.label {
  border-color: #573a08;
  color: #FFFFFF;
}
.ui.form .fields.warning .field textarea,
.ui.form .fields.warning .field select,
.ui.form .fields.warning .field input:not([type]),
.ui.form .fields.warning .field input[type="color"],
.ui.form .fields.warning .field input[type="date"],
.ui.form .fields.warning .field input[type="datetime-local"],
.ui.form .fields.warning .field input[type="email"],
.ui.form .fields.warning .field input[type="month"],
.ui.form .fields.warning .field input[type="number"],
.ui.form .fields.warning .field input[type="password"],
.ui.form .fields.warning .field input[type="search"],
.ui.form .fields.warning .field input[type="tel"],
.ui.form .fields.warning .field input[type="time"],
.ui.form .fields.warning .field input[type="text"],
.ui.form .fields.warning .field input[type="file"],
.ui.form .fields.warning .field input[type="url"],
.ui.form .fields.warning .field input[type="week"],
.ui.form .field.warning textarea,
.ui.form .field.warning select,
.ui.form .field.warning input:not([type]),
.ui.form .field.warning input[type="color"],
.ui.form .field.warning input[type="date"],
.ui.form .field.warning input[type="datetime-local"],
.ui.form .field.warning input[type="email"],
.ui.form .field.warning input[type="month"],
.ui.form .field.warning input[type="number"],
.ui.form .field.warning input[type="password"],
.ui.form .field.warning input[type="search"],
.ui.form .field.warning input[type="tel"],
.ui.form .field.warning input[type="time"],
.ui.form .field.warning input[type="text"],
.ui.form .field.warning input[type="file"],
.ui.form .field.warning input[type="url"],
.ui.form .field.warning input[type="week"] {
  color: #573a08;
  background: #fffaf3;
  border-color: #c9ba9b;
  border-radius: "";
  box-shadow: none;
}
.ui.form .field.warning textarea:focus,
.ui.form .field.warning select:focus,
.ui.form .field.warning input:not([type]):focus,
.ui.form .field.warning input[type="color"]:focus,
.ui.form .field.warning input[type="date"]:focus,
.ui.form .field.warning input[type="datetime-local"]:focus,
.ui.form .field.warning input[type="email"]:focus,
.ui.form .field.warning input[type="month"]:focus,
.ui.form .field.warning input[type="number"]:focus,
.ui.form .field.warning input[type="password"]:focus,
.ui.form .field.warning input[type="search"]:focus,
.ui.form .field.warning input[type="tel"]:focus,
.ui.form .field.warning input[type="time"]:focus,
.ui.form .field.warning input[type="text"]:focus,
.ui.form .field.warning input[type="file"]:focus,
.ui.form .field.warning input[type="url"]:focus,
.ui.form .field.warning input[type="week"]:focus {
  background: #fffaf3;
  border-color: #c9ba9b;
  color: #573a08;
  box-shadow: none;
}
.ui.form .field.warning > textarea:hover:not(:focus),
.ui.form .field.warning > input:hover:not(:focus) {
  border-color: #c9ba9b;
}
/* Preserve Native Select Stylings */
.ui.form .field.warning select {
  -webkit-appearance: menulist-button;
}
/*------------------
            Input State
        --------------------*/
/* Transparent */
.ui.form .field.warning .transparent.input input,
.ui.form .field.warning .transparent.input textarea,
.ui.form .field.warning input.transparent,
.ui.form .field.warning textarea.transparent {
  background-color: #fffaf3 !important;
  color: #573a08 !important;
}
/* Autofilled */
.ui.form .warning.warning input:-webkit-autofill {
  box-shadow: 0 0 0 100px #ffffe0 inset !important;
  border-color: #e0e0b3 !important;
}
/* Placeholder */
.ui.form .warning ::-moz-placeholder {
  color: #edad3e;
}
.ui.form .warning .ui.dropdown > .default.text,
.ui.form .warning ::placeholder {
  color: #edad3e;
}
.ui.form .warning :focus::-moz-placeholder {
  color: #e39715;
}
.ui.form .warning .ui.dropdown > input:focus ~ .default.text,
.ui.form .warning :focus::placeholder {
  color: #e39715;
}
.ui.form .warning :focus:-ms-input-placeholder {
  color: #e39715 !important;
}
/*------------------
            Dropdown State
        --------------------*/
.ui.form .fields.warning .field .ui.dropdown,
.ui.form .fields.warning .field .ui.dropdown .item,
.ui.form .field.warning .ui.dropdown,
.ui.form .field.warning .ui.dropdown > .text,
.ui.form .field.warning .ui.dropdown .item {
  background: #fffaf3;
  color: #573a08;
}
.ui.form .fields.warning .field .ui.dropdown,
.ui.form .field.warning .ui.dropdown {
  border-color: #c9ba9b !important;
}
.ui.form .fields.warning .field .ui.dropdown:hover,
.ui.form .field.warning .ui.dropdown:hover {
  border-color: #c9ba9b !important;
}
.ui.form .fields.warning .field .ui.dropdown:hover .menu,
.ui.form .field.warning .ui.dropdown:hover .menu {
  border-color: #c9ba9b;
}
.ui.form .fields.warning .field .ui.multiple.selection.dropdown > .label,
.ui.form .field.warning .ui.multiple.selection.dropdown > .label {
  background-color: #eaeacc;
  color: #573a08;
}
/* Hover */
.ui.form .fields.warning .field .ui.dropdown .menu .item:hover,
.ui.form .field.warning .ui.dropdown .menu .item:hover {
  background-color: #fbfbe9;
}
/* Selected */
.ui.form .fields.warning .field .ui.dropdown .menu .selected.item,
.ui.form .field.warning .ui.dropdown .menu .selected.item {
  background-color: #fbfbe9;
}
/* Active */
.ui.form .fields.warning .field .ui.dropdown .menu .active.item,
.ui.form .field.warning .ui.dropdown .menu .active.item {
  background-color: #fdfdce !important;
}
/*--------------------
            Checkbox State
        ---------------------*/
.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) label,
.ui.form .field.warning .checkbox:not(.toggle):not(.slider) label {
  color: #573a08;
}
.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) label::before,
.ui.form .field.warning .checkbox:not(.toggle):not(.slider) label::before {
  background: #fffaf3;
  border-color: #c9ba9b;
}
.ui.form .fields.warning .field .checkbox label::after,
.ui.form .field.warning .checkbox label::after {
  color: #573a08;
}
.ui.inverted.form .fields.warning .field label,
.ui.inverted.form .warning.field label {
  color: #d7ccb5;
}
@supports selector(:has(.f)) {
  .ui.inverted.form .fields:has(.warning) > label {
    color: #d7ccb5;
  }
}
/* --------------------
           Disabled
    --------------------- */
.ui.form .disabled.fields .field,
.ui.form .disabled.field,
.ui.form .field :disabled {
  pointer-events: none;
  opacity: 0.45;
}
.ui.form .field.disabled > label,
.ui.form .fields.disabled > label {
  opacity: 0.45;
}
.ui.form .field.disabled :disabled {
  opacity: 1;
}
/* --------------
        Loading
    --------------- */
.ui.loading.form {
  position: relative;
  cursor: default;
  pointer-events: none;
}
.ui.loading.form::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  z-index: 100;
}
.ui.loading.form.segments::before {
  border-radius: 0.28571429rem;
}
.ui.loading.form::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1.5em 0 0 -1.5em;
  width: 3em;
  height: 3em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
  visibility: visible;
  z-index: 101;
}
/*******************************
         Element Types
*******************************/
/* --------------------
         Required Field
    --------------------- */
.ui.form .required.fields:not(.grouped):not(.inline) > .field > label::after,
.ui.form .required.fields.inline > label::after,
.ui.form .required.fields.grouped > label::after,
.ui.form .required.field > label::after,
.ui.form .required.fields:not(.grouped):not(.inline) > .field > .checkbox::after,
.ui.form .required.field > .checkbox::after,
.ui.form label.required::after {
  margin: -0.2em 0 0 0.2em;
  content: "*";
  color: #db2828;
}
.ui.form .required.fields:not(.grouped):not(.inline) > .field > label::after,
.ui.form .required.fields.inline > label::after,
.ui.form .required.fields.grouped > label::after,
.ui.form .required.field > label::after,
.ui.form label.required::after {
  display: inline-block;
  vertical-align: top;
}
.ui.form .required.fields:not(.grouped):not(.inline) > .field > .checkbox::after,
.ui.form .required.field > .checkbox::after {
  position: absolute;
  top: 0;
  left: 100%;
}
.ui.ui.ui.ui.form .fields:not(.required) > label:empty::after,
.ui.ui.ui.ui.form .fields:not(.grouped):not(.inline) > .field:not(.required) > label:empty::after {
  content: " ";
  display: inline-block;
}
.ui.ui.ui.ui.form .inline.fields .field:not(.required) > label:empty {
  display: none;
}
/*******************************
           Variations
*******************************/
/* --------------------
        Inverted Colors
    --------------------- */
.ui.inverted.form label,
.ui.form .inverted.segment label,
.ui.form .inverted.segment .ui.checkbox label,
.ui.inverted.form .ui.checkbox label,
.ui.inverted.form .grouped.fields > label,
.ui.inverted.form .inline.fields > label,
.ui.inverted.form .inline.fields .field > label,
.ui.inverted.form .inline.fields .field > p,
.ui.inverted.form .inline.field > label,
.ui.inverted.form .inline.field > p {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.loading.form {
  color: #FFFFFF;
}
.ui.inverted.loading.form::before {
  background: rgba(0, 0, 0, 0.85);
}
/* Inverted Field */
.ui.inverted.form input:not([type]),
.ui.inverted.form input[type="color"],
.ui.inverted.form input[type="date"],
.ui.inverted.form input[type="datetime-local"],
.ui.inverted.form input[type="email"],
.ui.inverted.form input[type="month"],
.ui.inverted.form input[type="number"],
.ui.inverted.form input[type="password"],
.ui.inverted.form input[type="search"],
.ui.inverted.form input[type="tel"],
.ui.inverted.form input[type="time"],
.ui.inverted.form input[type="text"],
.ui.inverted.form input[type="file"],
.ui.inverted.form input[type="url"],
.ui.inverted.form input[type="week"] {
  background: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}
/* --------------------
         Field Groups
    --------------------- */
/* Grouped Vertically */
.ui.form .grouped.fields {
  display: block;
  margin: 0 0 1em;
}
.ui.form .grouped.fields:last-child {
  margin-bottom: 0;
}
.ui.form .grouped.fields > label {
  margin: 0 0 0.28571429rem 0;
  color: rgba(0, 0, 0, 0.87);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}
.ui.form .grouped.fields .field,
.ui.form .grouped.inline.fields .field {
  display: block;
  margin: 0.5em 0;
  padding: 0;
}
.ui.form .grouped.inline.fields .ui.checkbox {
  margin-bottom: 0.4em;
}
/* --------------------
        Fields
--------------------- */
/* Split fields */
.ui.form .fields {
  display: flex;
  flex-direction: row;
  margin: 0 -0.5em 1em;
}
.ui.form .fields > .field {
  flex: 0 1 auto;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.ui.form .fields > .field:first-child {
  border-left: none;
  box-shadow: none;
}
/* Other Combinations */
.ui.form .two.fields > .fields,
.ui.form .two.fields > .field {
  width: 50%;
}
.ui.form .three.fields > .fields,
.ui.form .three.fields > .field {
  width: 33.33333333%;
}
.ui.form .four.fields > .fields,
.ui.form .four.fields > .field {
  width: 25%;
}
.ui.form .five.fields > .fields,
.ui.form .five.fields > .field {
  width: 20%;
}
.ui.form .six.fields > .fields,
.ui.form .six.fields > .field {
  width: 16.66666667%;
}
.ui.form .seven.fields > .fields,
.ui.form .seven.fields > .field {
  width: 14.28571429%;
}
.ui.form .eight.fields > .fields,
.ui.form .eight.fields > .field {
  width: 12.5%;
}
.ui.form .nine.fields > .fields,
.ui.form .nine.fields > .field {
  width: 11.11111111%;
}
.ui.form .ten.fields > .fields,
.ui.form .ten.fields > .field {
  width: 10%;
}
/* Swap to full width on mobile */
@media only screen and (max-width: 767.98px) {
  .ui.form .fields {
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .ui.form:not(.unstackable) .fields:not(.unstackable) > .fields,
  .ui.form:not(.unstackable) .fields:not(.unstackable) > .field {
    width: 100%;
    margin: 0 0 1em;
  }
}
/* Sizing Combinations */
.ui.form .fields .wide.field {
  width: 6.25%;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.ui.form .one.wide.field {
  width: 6.25%;
}
.ui.form .two.wide.field {
  width: 12.5%;
}
.ui.form .three.wide.field {
  width: 18.75%;
}
.ui.form .four.wide.field {
  width: 25%;
}
.ui.form .five.wide.field {
  width: 31.25%;
}
.ui.form .six.wide.field {
  width: 37.5%;
}
.ui.form .seven.wide.field {
  width: 43.75%;
}
.ui.form .eight.wide.field {
  width: 50%;
}
.ui.form .nine.wide.field {
  width: 56.25%;
}
.ui.form .ten.wide.field {
  width: 62.5%;
}
.ui.form .eleven.wide.field {
  width: 68.75%;
}
.ui.form .twelve.wide.field {
  width: 75%;
}
.ui.form .thirteen.wide.field {
  width: 81.25%;
}
.ui.form .fourteen.wide.field {
  width: 87.5%;
}
.ui.form .fifteen.wide.field {
  width: 93.75%;
}
.ui.form .sixteen.wide.field {
  width: 100%;
}
/* --------------------
     Equal Width
--------------------- */
.ui[class*="equal width"].form .fields > .field,
.ui.form [class*="equal width"].fields > .field {
  width: 100%;
  flex: 1 1 auto;
}
/* --------------------
        Inline Fields
    --------------------- */
.ui.form .inline.fields {
  margin: 0 0 1em;
  align-items: center;
}
.ui.form .inline.fields .field {
  margin: 0;
  padding: 0 1em 0 0;
}
/* Inline Label */
.ui.form .inline.fields > label,
.ui.form .inline.fields .field > label,
.ui.form .inline.fields .field > p,
.ui.form .inline.field > label,
.ui.form .inline.field > p {
  display: inline-block;
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: baseline;
  font-size: 0.92857143em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-transform: none;
}
/* Grouped Inline Label */
.ui.form .inline.fields > label {
  margin: 0.03571em 1em 0 0;
}
/* Inline Input */
.ui.form .inline.fields .field > input,
.ui.form .inline.fields .field > select,
.ui.form .inline.field > input,
.ui.form .inline.field > select {
  display: inline-block;
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: middle;
  font-size: 1em;
}
.ui.form .inline.fields .field .calendar:not(.popup),
.ui.form .inline.field .calendar:not(.popup) {
  display: inline-block;
}
.ui.form .inline.fields .field .calendar:not(.popup) > .input > input,
.ui.form .inline.field .calendar:not(.popup) > .input > input {
  width: 13.11em;
}
/* Label */
.ui.form .inline.fields .field > :first-child,
.ui.form .inline.field > :first-child {
  margin: 0 0.85714286em 0 0;
}
.ui.form .inline.fields .field > :only-child,
.ui.form .inline.field > :only-child {
  margin: 0;
}
/* Wide */
.ui.form .inline.fields .wide.field {
  display: flex;
  align-items: center;
}
.ui.form .inline.fields .wide.field > input,
.ui.form .inline.fields .wide.field > select {
  width: 100%;
}
/* --------------------
        Sizes
--------------------- */
.ui.form,
.ui.form .field .dropdown,
.ui.form .field .dropdown .menu > .item {
  font-size: 1rem;
}
.ui.mini.form,
.ui.mini.form .field .dropdown,
.ui.mini.form .field .dropdown .menu > .item {
  font-size: 0.78571429rem;
}
.ui.tiny.form,
.ui.tiny.form .field .dropdown,
.ui.tiny.form .field .dropdown .menu > .item {
  font-size: 0.85714286rem;
}
.ui.small.form,
.ui.small.form .field .dropdown,
.ui.small.form .field .dropdown .menu > .item {
  font-size: 0.92857143rem;
}
.ui.large.form,
.ui.large.form .field .dropdown,
.ui.large.form .field .dropdown .menu > .item {
  font-size: 1.14285714rem;
}
.ui.big.form,
.ui.big.form .field .dropdown,
.ui.big.form .field .dropdown .menu > .item {
  font-size: 1.28571429rem;
}
.ui.huge.form,
.ui.huge.form .field .dropdown,
.ui.huge.form .field .dropdown .menu > .item {
  font-size: 1.42857143rem;
}
.ui.massive.form,
.ui.massive.form .field .dropdown,
.ui.massive.form .field .dropdown .menu > .item {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Grid
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Grid
*******************************/
/* Inherited From Site */
/*******************************
            Grid
*******************************/
/*******************************
           Variations
*******************************/
/* --------------
     Relaxed
--------------- */
/* --------------
     Divided
--------------- */
/* --------------
    Celled
--------------- */
/* --------------
    Stackable
--------------- */
/* --------------
    Compact
--------------- */
/* ------------------
    Very Compact
------------------ */
/*******************************
             Legacy
*******************************/
/* --------------
     Page
--------------- */
/* Legacy (DO NOT USE)
 */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Standard
*******************************/
.ui.grid {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  padding: 0;
}
/* ----------------------
      Remove Gutters
----------------------- */
.ui.grid {
  margin: -1rem -1rem;
}
.ui.relaxed.grid {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.ui[class*="very relaxed"].grid {
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}
/* Preserve Rows Spacing on Consecutive Grids */
.ui.grid + .grid {
  margin-top: 1rem;
}
/* -------------------
       Columns
-------------------- */
/* Standard 16 column */
.ui.grid > .column:not(.row),
.ui.grid > .row > .column {
  position: relative;
  display: inline-block;
  width: 6.25%;
  padding-left: 1rem;
  padding-right: 1rem;
  vertical-align: top;
}
.ui.grid > * {
  padding-left: 1rem;
  padding-right: 1rem;
}
/* -------------------
        Rows
-------------------- */
.ui.grid > .row {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: inherit;
  align-items: stretch;
  width: 100% !important;
  padding: 0;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
/* -------------------
       Columns
-------------------- */
/* Vertical padding when no rows */
.ui.grid > .column:not(.row) {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.ui.grid > .row > .column {
  margin-top: 0;
  margin-bottom: 0;
}
/* -------------------
      Content
-------------------- */
.ui.grid > .row > img,
.ui.grid > .row > .column > img {
  max-width: 100%;
}
/* -------------------
    Loose Coupling
-------------------- */
/* Collapse Margin on Consecutive Grid */
.ui.grid > .ui.grid:first-child {
  margin-top: 0;
}
.ui.grid > .ui.grid:last-child {
  margin-bottom: 0;
}
/* Segment inside Aligned Grid */
.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),
.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {
  width: 100%;
}
/* Align Dividers with Gutter */
.ui.grid .row + .ui.divider {
  flex-grow: 1;
  margin: 1rem 1rem;
}
.ui.grid .column + .ui.vertical.divider {
  height: calc(50% - 1rem);
}
/* Remove Border on Last Horizontal Segment */
.ui.grid > .row > .column:last-child > .horizontal.segment,
.ui.grid > .column:last-child > .horizontal.segment {
  box-shadow: none;
}
/*******************************
           Variations
*******************************/
/* -----------------------
           Page Grid
    ------------------------- */
@media only screen and (max-width: 767.98px) {
  .ui.page.grid {
    width: auto;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 2em;
    padding-right: 2em;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 15%;
    padding-right: 15%;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.page.grid {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 23%;
    padding-right: 23%;
  }
}
/* -------------------
     Column Count
-------------------- */
/* Assume full width with one column */
.ui.grid > .column:only-child,
.ui.grid > .row > .column:only-child {
  width: 100%;
}
/* Grid Based */
.ui[class*="one column"].grid > .row > .column,
.ui[class*="one column"].grid > .column:not(.row) {
  width: 100%;
}
.ui[class*="two column"].grid > .row > .column,
.ui[class*="two column"].grid > .column:not(.row) {
  width: 50%;
}
.ui[class*="three column"].grid > .row > .column,
.ui[class*="three column"].grid > .column:not(.row) {
  width: 33.33333333%;
}
.ui[class*="four column"].grid > .row > .column,
.ui[class*="four column"].grid > .column:not(.row) {
  width: 25%;
}
.ui[class*="five column"].grid > .row > .column,
.ui[class*="five column"].grid > .column:not(.row) {
  width: 20%;
}
.ui[class*="six column"].grid > .row > .column,
.ui[class*="six column"].grid > .column:not(.row) {
  width: 16.66666667%;
}
.ui[class*="seven column"].grid > .row > .column,
.ui[class*="seven column"].grid > .column:not(.row) {
  width: 14.28571429%;
}
.ui[class*="eight column"].grid > .row > .column,
.ui[class*="eight column"].grid > .column:not(.row) {
  width: 12.5%;
}
.ui[class*="nine column"].grid > .row > .column,
.ui[class*="nine column"].grid > .column:not(.row) {
  width: 11.11111111%;
}
.ui[class*="ten column"].grid > .row > .column,
.ui[class*="ten column"].grid > .column:not(.row) {
  width: 10%;
}
.ui[class*="eleven column"].grid > .row > .column,
.ui[class*="eleven column"].grid > .column:not(.row) {
  width: 9.09090909%;
}
.ui[class*="twelve column"].grid > .row > .column,
.ui[class*="twelve column"].grid > .column:not(.row) {
  width: 8.33333333%;
}
.ui[class*="thirteen column"].grid > .row > .column,
.ui[class*="thirteen column"].grid > .column:not(.row) {
  width: 7.69230769%;
}
.ui[class*="fourteen column"].grid > .row > .column,
.ui[class*="fourteen column"].grid > .column:not(.row) {
  width: 7.14285714%;
}
.ui[class*="fifteen column"].grid > .row > .column,
.ui[class*="fifteen column"].grid > .column:not(.row) {
  width: 6.66666667%;
}
.ui[class*="sixteen column"].grid > .row > .column,
.ui[class*="sixteen column"].grid > .column:not(.row) {
  width: 6.25%;
}
/* Row Based Overrides */
.ui.grid > [class*="one column"].row > .column {
  width: 100% !important;
}
.ui.grid > [class*="two column"].row > .column {
  width: 50% !important;
}
.ui.grid > [class*="three column"].row > .column {
  width: 33.33333333% !important;
}
.ui.grid > [class*="four column"].row > .column {
  width: 25% !important;
}
.ui.grid > [class*="five column"].row > .column {
  width: 20% !important;
}
.ui.grid > [class*="six column"].row > .column {
  width: 16.66666667% !important;
}
.ui.grid > [class*="seven column"].row > .column {
  width: 14.28571429% !important;
}
.ui.grid > [class*="eight column"].row > .column {
  width: 12.5% !important;
}
.ui.grid > [class*="nine column"].row > .column {
  width: 11.11111111% !important;
}
.ui.grid > [class*="ten column"].row > .column {
  width: 10% !important;
}
.ui.grid > [class*="eleven column"].row > .column {
  width: 9.09090909% !important;
}
.ui.grid > [class*="twelve column"].row > .column {
  width: 8.33333333% !important;
}
.ui.grid > [class*="thirteen column"].row > .column {
  width: 7.69230769% !important;
}
.ui.grid > [class*="fourteen column"].row > .column {
  width: 7.14285714% !important;
}
.ui.grid > [class*="fifteen column"].row > .column {
  width: 6.66666667% !important;
}
.ui.grid > [class*="sixteen column"].row > .column {
  width: 6.25% !important;
}
/* Celled Page */
.ui.celled.page.grid {
  box-shadow: none;
}
/* -------------------
        Column Width
    -------------------- */
/* Sizing Combinations */
.ui.grid > .row > [class*="one wide"].column,
.ui.grid > .column.row > [class*="one wide"].column,
.ui.grid > [class*="one wide"].column,
.ui.column.grid > [class*="one wide"].column {
  width: 6.25% !important;
}
.ui.grid > .row > [class*="two wide"].column,
.ui.grid > .column.row > [class*="two wide"].column,
.ui.grid > [class*="two wide"].column,
.ui.column.grid > [class*="two wide"].column {
  width: 12.5% !important;
}
.ui.grid > .row > [class*="three wide"].column,
.ui.grid > .column.row > [class*="three wide"].column,
.ui.grid > [class*="three wide"].column,
.ui.column.grid > [class*="three wide"].column {
  width: 18.75% !important;
}
.ui.grid > .row > [class*="four wide"].column,
.ui.grid > .column.row > [class*="four wide"].column,
.ui.grid > [class*="four wide"].column,
.ui.column.grid > [class*="four wide"].column {
  width: 25% !important;
}
.ui.grid > .row > [class*="five wide"].column,
.ui.grid > .column.row > [class*="five wide"].column,
.ui.grid > [class*="five wide"].column,
.ui.column.grid > [class*="five wide"].column {
  width: 31.25% !important;
}
.ui.grid > .row > [class*="six wide"].column,
.ui.grid > .column.row > [class*="six wide"].column,
.ui.grid > [class*="six wide"].column,
.ui.column.grid > [class*="six wide"].column {
  width: 37.5% !important;
}
.ui.grid > .row > [class*="seven wide"].column,
.ui.grid > .column.row > [class*="seven wide"].column,
.ui.grid > [class*="seven wide"].column,
.ui.column.grid > [class*="seven wide"].column {
  width: 43.75% !important;
}
.ui.grid > .row > [class*="eight wide"].column,
.ui.grid > .column.row > [class*="eight wide"].column,
.ui.grid > [class*="eight wide"].column,
.ui.column.grid > [class*="eight wide"].column {
  width: 50% !important;
}
.ui.grid > .row > [class*="nine wide"].column,
.ui.grid > .column.row > [class*="nine wide"].column,
.ui.grid > [class*="nine wide"].column,
.ui.column.grid > [class*="nine wide"].column {
  width: 56.25% !important;
}
.ui.grid > .row > [class*="ten wide"].column,
.ui.grid > .column.row > [class*="ten wide"].column,
.ui.grid > [class*="ten wide"].column,
.ui.column.grid > [class*="ten wide"].column {
  width: 62.5% !important;
}
.ui.grid > .row > [class*="eleven wide"].column,
.ui.grid > .column.row > [class*="eleven wide"].column,
.ui.grid > [class*="eleven wide"].column,
.ui.column.grid > [class*="eleven wide"].column {
  width: 68.75% !important;
}
.ui.grid > .row > [class*="twelve wide"].column,
.ui.grid > .column.row > [class*="twelve wide"].column,
.ui.grid > [class*="twelve wide"].column,
.ui.column.grid > [class*="twelve wide"].column {
  width: 75% !important;
}
.ui.grid > .row > [class*="thirteen wide"].column,
.ui.grid > .column.row > [class*="thirteen wide"].column,
.ui.grid > [class*="thirteen wide"].column,
.ui.column.grid > [class*="thirteen wide"].column {
  width: 81.25% !important;
}
.ui.grid > .row > [class*="fourteen wide"].column,
.ui.grid > .column.row > [class*="fourteen wide"].column,
.ui.grid > [class*="fourteen wide"].column,
.ui.column.grid > [class*="fourteen wide"].column {
  width: 87.5% !important;
}
.ui.grid > .row > [class*="fifteen wide"].column,
.ui.grid > .column.row > [class*="fifteen wide"].column,
.ui.grid > [class*="fifteen wide"].column,
.ui.column.grid > [class*="fifteen wide"].column {
  width: 93.75% !important;
}
.ui.grid > .row > [class*="sixteen wide"].column,
.ui.grid > .column.row > [class*="sixteen wide"].column,
.ui.grid > [class*="sixteen wide"].column,
.ui.column.grid > [class*="sixteen wide"].column {
  width: 100% !important;
}
/* ----------------------
        Width per Device
    ----------------------- */
/* Mobile Sizing Combinations */
@media only screen and (min-width: 320px) and (max-width: 767.98px) {
  .ui.grid > .row > [class*="one wide mobile"].column,
  .ui.grid > .column.row > [class*="one wide mobile"].column,
  .ui.grid > [class*="one wide mobile"].column,
  .ui.column.grid > [class*="one wide mobile"].column {
    width: 6.25% !important;
  }
  .ui.grid > .row > [class*="two wide mobile"].column,
  .ui.grid > .column.row > [class*="two wide mobile"].column,
  .ui.grid > [class*="two wide mobile"].column,
  .ui.column.grid > [class*="two wide mobile"].column {
    width: 12.5% !important;
  }
  .ui.grid > .row > [class*="three wide mobile"].column,
  .ui.grid > .column.row > [class*="three wide mobile"].column,
  .ui.grid > [class*="three wide mobile"].column,
  .ui.column.grid > [class*="three wide mobile"].column {
    width: 18.75% !important;
  }
  .ui.grid > .row > [class*="four wide mobile"].column,
  .ui.grid > .column.row > [class*="four wide mobile"].column,
  .ui.grid > [class*="four wide mobile"].column,
  .ui.column.grid > [class*="four wide mobile"].column {
    width: 25% !important;
  }
  .ui.grid > .row > [class*="five wide mobile"].column,
  .ui.grid > .column.row > [class*="five wide mobile"].column,
  .ui.grid > [class*="five wide mobile"].column,
  .ui.column.grid > [class*="five wide mobile"].column {
    width: 31.25% !important;
  }
  .ui.grid > .row > [class*="six wide mobile"].column,
  .ui.grid > .column.row > [class*="six wide mobile"].column,
  .ui.grid > [class*="six wide mobile"].column,
  .ui.column.grid > [class*="six wide mobile"].column {
    width: 37.5% !important;
  }
  .ui.grid > .row > [class*="seven wide mobile"].column,
  .ui.grid > .column.row > [class*="seven wide mobile"].column,
  .ui.grid > [class*="seven wide mobile"].column,
  .ui.column.grid > [class*="seven wide mobile"].column {
    width: 43.75% !important;
  }
  .ui.grid > .row > [class*="eight wide mobile"].column,
  .ui.grid > .column.row > [class*="eight wide mobile"].column,
  .ui.grid > [class*="eight wide mobile"].column,
  .ui.column.grid > [class*="eight wide mobile"].column {
    width: 50% !important;
  }
  .ui.grid > .row > [class*="nine wide mobile"].column,
  .ui.grid > .column.row > [class*="nine wide mobile"].column,
  .ui.grid > [class*="nine wide mobile"].column,
  .ui.column.grid > [class*="nine wide mobile"].column {
    width: 56.25% !important;
  }
  .ui.grid > .row > [class*="ten wide mobile"].column,
  .ui.grid > .column.row > [class*="ten wide mobile"].column,
  .ui.grid > [class*="ten wide mobile"].column,
  .ui.column.grid > [class*="ten wide mobile"].column {
    width: 62.5% !important;
  }
  .ui.grid > .row > [class*="eleven wide mobile"].column,
  .ui.grid > .column.row > [class*="eleven wide mobile"].column,
  .ui.grid > [class*="eleven wide mobile"].column,
  .ui.column.grid > [class*="eleven wide mobile"].column {
    width: 68.75% !important;
  }
  .ui.grid > .row > [class*="twelve wide mobile"].column,
  .ui.grid > .column.row > [class*="twelve wide mobile"].column,
  .ui.grid > [class*="twelve wide mobile"].column,
  .ui.column.grid > [class*="twelve wide mobile"].column {
    width: 75% !important;
  }
  .ui.grid > .row > [class*="thirteen wide mobile"].column,
  .ui.grid > .column.row > [class*="thirteen wide mobile"].column,
  .ui.grid > [class*="thirteen wide mobile"].column,
  .ui.column.grid > [class*="thirteen wide mobile"].column {
    width: 81.25% !important;
  }
  .ui.grid > .row > [class*="fourteen wide mobile"].column,
  .ui.grid > .column.row > [class*="fourteen wide mobile"].column,
  .ui.grid > [class*="fourteen wide mobile"].column,
  .ui.column.grid > [class*="fourteen wide mobile"].column {
    width: 87.5% !important;
  }
  .ui.grid > .row > [class*="fifteen wide mobile"].column,
  .ui.grid > .column.row > [class*="fifteen wide mobile"].column,
  .ui.grid > [class*="fifteen wide mobile"].column,
  .ui.column.grid > [class*="fifteen wide mobile"].column {
    width: 93.75% !important;
  }
  .ui.grid > .row > [class*="sixteen wide mobile"].column,
  .ui.grid > .column.row > [class*="sixteen wide mobile"].column,
  .ui.grid > [class*="sixteen wide mobile"].column,
  .ui.column.grid > [class*="sixteen wide mobile"].column {
    width: 100% !important;
  }
}
/* Tablet Sizing Combinations */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.grid > .row > [class*="one wide tablet"].column,
  .ui.grid > .column.row > [class*="one wide tablet"].column,
  .ui.grid > [class*="one wide tablet"].column,
  .ui.column.grid > [class*="one wide tablet"].column {
    width: 6.25% !important;
  }
  .ui.grid > .row > [class*="two wide tablet"].column,
  .ui.grid > .column.row > [class*="two wide tablet"].column,
  .ui.grid > [class*="two wide tablet"].column,
  .ui.column.grid > [class*="two wide tablet"].column {
    width: 12.5% !important;
  }
  .ui.grid > .row > [class*="three wide tablet"].column,
  .ui.grid > .column.row > [class*="three wide tablet"].column,
  .ui.grid > [class*="three wide tablet"].column,
  .ui.column.grid > [class*="three wide tablet"].column {
    width: 18.75% !important;
  }
  .ui.grid > .row > [class*="four wide tablet"].column,
  .ui.grid > .column.row > [class*="four wide tablet"].column,
  .ui.grid > [class*="four wide tablet"].column,
  .ui.column.grid > [class*="four wide tablet"].column {
    width: 25% !important;
  }
  .ui.grid > .row > [class*="five wide tablet"].column,
  .ui.grid > .column.row > [class*="five wide tablet"].column,
  .ui.grid > [class*="five wide tablet"].column,
  .ui.column.grid > [class*="five wide tablet"].column {
    width: 31.25% !important;
  }
  .ui.grid > .row > [class*="six wide tablet"].column,
  .ui.grid > .column.row > [class*="six wide tablet"].column,
  .ui.grid > [class*="six wide tablet"].column,
  .ui.column.grid > [class*="six wide tablet"].column {
    width: 37.5% !important;
  }
  .ui.grid > .row > [class*="seven wide tablet"].column,
  .ui.grid > .column.row > [class*="seven wide tablet"].column,
  .ui.grid > [class*="seven wide tablet"].column,
  .ui.column.grid > [class*="seven wide tablet"].column {
    width: 43.75% !important;
  }
  .ui.grid > .row > [class*="eight wide tablet"].column,
  .ui.grid > .column.row > [class*="eight wide tablet"].column,
  .ui.grid > [class*="eight wide tablet"].column,
  .ui.column.grid > [class*="eight wide tablet"].column {
    width: 50% !important;
  }
  .ui.grid > .row > [class*="nine wide tablet"].column,
  .ui.grid > .column.row > [class*="nine wide tablet"].column,
  .ui.grid > [class*="nine wide tablet"].column,
  .ui.column.grid > [class*="nine wide tablet"].column {
    width: 56.25% !important;
  }
  .ui.grid > .row > [class*="ten wide tablet"].column,
  .ui.grid > .column.row > [class*="ten wide tablet"].column,
  .ui.grid > [class*="ten wide tablet"].column,
  .ui.column.grid > [class*="ten wide tablet"].column {
    width: 62.5% !important;
  }
  .ui.grid > .row > [class*="eleven wide tablet"].column,
  .ui.grid > .column.row > [class*="eleven wide tablet"].column,
  .ui.grid > [class*="eleven wide tablet"].column,
  .ui.column.grid > [class*="eleven wide tablet"].column {
    width: 68.75% !important;
  }
  .ui.grid > .row > [class*="twelve wide tablet"].column,
  .ui.grid > .column.row > [class*="twelve wide tablet"].column,
  .ui.grid > [class*="twelve wide tablet"].column,
  .ui.column.grid > [class*="twelve wide tablet"].column {
    width: 75% !important;
  }
  .ui.grid > .row > [class*="thirteen wide tablet"].column,
  .ui.grid > .column.row > [class*="thirteen wide tablet"].column,
  .ui.grid > [class*="thirteen wide tablet"].column,
  .ui.column.grid > [class*="thirteen wide tablet"].column {
    width: 81.25% !important;
  }
  .ui.grid > .row > [class*="fourteen wide tablet"].column,
  .ui.grid > .column.row > [class*="fourteen wide tablet"].column,
  .ui.grid > [class*="fourteen wide tablet"].column,
  .ui.column.grid > [class*="fourteen wide tablet"].column {
    width: 87.5% !important;
  }
  .ui.grid > .row > [class*="fifteen wide tablet"].column,
  .ui.grid > .column.row > [class*="fifteen wide tablet"].column,
  .ui.grid > [class*="fifteen wide tablet"].column,
  .ui.column.grid > [class*="fifteen wide tablet"].column {
    width: 93.75% !important;
  }
  .ui.grid > .row > [class*="sixteen wide tablet"].column,
  .ui.grid > .column.row > [class*="sixteen wide tablet"].column,
  .ui.grid > [class*="sixteen wide tablet"].column,
  .ui.column.grid > [class*="sixteen wide tablet"].column {
    width: 100% !important;
  }
}
/* Computer/Desktop Sizing Combinations */
@media only screen and (min-width: 992px) {
  .ui.grid > .row > [class*="one wide computer"].column,
  .ui.grid > .column.row > [class*="one wide computer"].column,
  .ui.grid > [class*="one wide computer"].column,
  .ui.column.grid > [class*="one wide computer"].column {
    width: 6.25% !important;
  }
  .ui.grid > .row > [class*="two wide computer"].column,
  .ui.grid > .column.row > [class*="two wide computer"].column,
  .ui.grid > [class*="two wide computer"].column,
  .ui.column.grid > [class*="two wide computer"].column {
    width: 12.5% !important;
  }
  .ui.grid > .row > [class*="three wide computer"].column,
  .ui.grid > .column.row > [class*="three wide computer"].column,
  .ui.grid > [class*="three wide computer"].column,
  .ui.column.grid > [class*="three wide computer"].column {
    width: 18.75% !important;
  }
  .ui.grid > .row > [class*="four wide computer"].column,
  .ui.grid > .column.row > [class*="four wide computer"].column,
  .ui.grid > [class*="four wide computer"].column,
  .ui.column.grid > [class*="four wide computer"].column {
    width: 25% !important;
  }
  .ui.grid > .row > [class*="five wide computer"].column,
  .ui.grid > .column.row > [class*="five wide computer"].column,
  .ui.grid > [class*="five wide computer"].column,
  .ui.column.grid > [class*="five wide computer"].column {
    width: 31.25% !important;
  }
  .ui.grid > .row > [class*="six wide computer"].column,
  .ui.grid > .column.row > [class*="six wide computer"].column,
  .ui.grid > [class*="six wide computer"].column,
  .ui.column.grid > [class*="six wide computer"].column {
    width: 37.5% !important;
  }
  .ui.grid > .row > [class*="seven wide computer"].column,
  .ui.grid > .column.row > [class*="seven wide computer"].column,
  .ui.grid > [class*="seven wide computer"].column,
  .ui.column.grid > [class*="seven wide computer"].column {
    width: 43.75% !important;
  }
  .ui.grid > .row > [class*="eight wide computer"].column,
  .ui.grid > .column.row > [class*="eight wide computer"].column,
  .ui.grid > [class*="eight wide computer"].column,
  .ui.column.grid > [class*="eight wide computer"].column {
    width: 50% !important;
  }
  .ui.grid > .row > [class*="nine wide computer"].column,
  .ui.grid > .column.row > [class*="nine wide computer"].column,
  .ui.grid > [class*="nine wide computer"].column,
  .ui.column.grid > [class*="nine wide computer"].column {
    width: 56.25% !important;
  }
  .ui.grid > .row > [class*="ten wide computer"].column,
  .ui.grid > .column.row > [class*="ten wide computer"].column,
  .ui.grid > [class*="ten wide computer"].column,
  .ui.column.grid > [class*="ten wide computer"].column {
    width: 62.5% !important;
  }
  .ui.grid > .row > [class*="eleven wide computer"].column,
  .ui.grid > .column.row > [class*="eleven wide computer"].column,
  .ui.grid > [class*="eleven wide computer"].column,
  .ui.column.grid > [class*="eleven wide computer"].column {
    width: 68.75% !important;
  }
  .ui.grid > .row > [class*="twelve wide computer"].column,
  .ui.grid > .column.row > [class*="twelve wide computer"].column,
  .ui.grid > [class*="twelve wide computer"].column,
  .ui.column.grid > [class*="twelve wide computer"].column {
    width: 75% !important;
  }
  .ui.grid > .row > [class*="thirteen wide computer"].column,
  .ui.grid > .column.row > [class*="thirteen wide computer"].column,
  .ui.grid > [class*="thirteen wide computer"].column,
  .ui.column.grid > [class*="thirteen wide computer"].column {
    width: 81.25% !important;
  }
  .ui.grid > .row > [class*="fourteen wide computer"].column,
  .ui.grid > .column.row > [class*="fourteen wide computer"].column,
  .ui.grid > [class*="fourteen wide computer"].column,
  .ui.column.grid > [class*="fourteen wide computer"].column {
    width: 87.5% !important;
  }
  .ui.grid > .row > [class*="fifteen wide computer"].column,
  .ui.grid > .column.row > [class*="fifteen wide computer"].column,
  .ui.grid > [class*="fifteen wide computer"].column,
  .ui.column.grid > [class*="fifteen wide computer"].column {
    width: 93.75% !important;
  }
  .ui.grid > .row > [class*="sixteen wide computer"].column,
  .ui.grid > .column.row > [class*="sixteen wide computer"].column,
  .ui.grid > [class*="sixteen wide computer"].column,
  .ui.column.grid > [class*="sixteen wide computer"].column {
    width: 100% !important;
  }
}
/* Large Monitor Sizing Combinations */
@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
  .ui.grid > .row > [class*="one wide large screen"].column,
  .ui.grid > .column.row > [class*="one wide large screen"].column,
  .ui.grid > [class*="one wide large screen"].column,
  .ui.column.grid > [class*="one wide large screen"].column {
    width: 6.25% !important;
  }
  .ui.grid > .row > [class*="two wide large screen"].column,
  .ui.grid > .column.row > [class*="two wide large screen"].column,
  .ui.grid > [class*="two wide large screen"].column,
  .ui.column.grid > [class*="two wide large screen"].column {
    width: 12.5% !important;
  }
  .ui.grid > .row > [class*="three wide large screen"].column,
  .ui.grid > .column.row > [class*="three wide large screen"].column,
  .ui.grid > [class*="three wide large screen"].column,
  .ui.column.grid > [class*="three wide large screen"].column {
    width: 18.75% !important;
  }
  .ui.grid > .row > [class*="four wide large screen"].column,
  .ui.grid > .column.row > [class*="four wide large screen"].column,
  .ui.grid > [class*="four wide large screen"].column,
  .ui.column.grid > [class*="four wide large screen"].column {
    width: 25% !important;
  }
  .ui.grid > .row > [class*="five wide large screen"].column,
  .ui.grid > .column.row > [class*="five wide large screen"].column,
  .ui.grid > [class*="five wide large screen"].column,
  .ui.column.grid > [class*="five wide large screen"].column {
    width: 31.25% !important;
  }
  .ui.grid > .row > [class*="six wide large screen"].column,
  .ui.grid > .column.row > [class*="six wide large screen"].column,
  .ui.grid > [class*="six wide large screen"].column,
  .ui.column.grid > [class*="six wide large screen"].column {
    width: 37.5% !important;
  }
  .ui.grid > .row > [class*="seven wide large screen"].column,
  .ui.grid > .column.row > [class*="seven wide large screen"].column,
  .ui.grid > [class*="seven wide large screen"].column,
  .ui.column.grid > [class*="seven wide large screen"].column {
    width: 43.75% !important;
  }
  .ui.grid > .row > [class*="eight wide large screen"].column,
  .ui.grid > .column.row > [class*="eight wide large screen"].column,
  .ui.grid > [class*="eight wide large screen"].column,
  .ui.column.grid > [class*="eight wide large screen"].column {
    width: 50% !important;
  }
  .ui.grid > .row > [class*="nine wide large screen"].column,
  .ui.grid > .column.row > [class*="nine wide large screen"].column,
  .ui.grid > [class*="nine wide large screen"].column,
  .ui.column.grid > [class*="nine wide large screen"].column {
    width: 56.25% !important;
  }
  .ui.grid > .row > [class*="ten wide large screen"].column,
  .ui.grid > .column.row > [class*="ten wide large screen"].column,
  .ui.grid > [class*="ten wide large screen"].column,
  .ui.column.grid > [class*="ten wide large screen"].column {
    width: 62.5% !important;
  }
  .ui.grid > .row > [class*="eleven wide large screen"].column,
  .ui.grid > .column.row > [class*="eleven wide large screen"].column,
  .ui.grid > [class*="eleven wide large screen"].column,
  .ui.column.grid > [class*="eleven wide large screen"].column {
    width: 68.75% !important;
  }
  .ui.grid > .row > [class*="twelve wide large screen"].column,
  .ui.grid > .column.row > [class*="twelve wide large screen"].column,
  .ui.grid > [class*="twelve wide large screen"].column,
  .ui.column.grid > [class*="twelve wide large screen"].column {
    width: 75% !important;
  }
  .ui.grid > .row > [class*="thirteen wide large screen"].column,
  .ui.grid > .column.row > [class*="thirteen wide large screen"].column,
  .ui.grid > [class*="thirteen wide large screen"].column,
  .ui.column.grid > [class*="thirteen wide large screen"].column {
    width: 81.25% !important;
  }
  .ui.grid > .row > [class*="fourteen wide large screen"].column,
  .ui.grid > .column.row > [class*="fourteen wide large screen"].column,
  .ui.grid > [class*="fourteen wide large screen"].column,
  .ui.column.grid > [class*="fourteen wide large screen"].column {
    width: 87.5% !important;
  }
  .ui.grid > .row > [class*="fifteen wide large screen"].column,
  .ui.grid > .column.row > [class*="fifteen wide large screen"].column,
  .ui.grid > [class*="fifteen wide large screen"].column,
  .ui.column.grid > [class*="fifteen wide large screen"].column {
    width: 93.75% !important;
  }
  .ui.grid > .row > [class*="sixteen wide large screen"].column,
  .ui.grid > .column.row > [class*="sixteen wide large screen"].column,
  .ui.grid > [class*="sixteen wide large screen"].column,
  .ui.column.grid > [class*="sixteen wide large screen"].column {
    width: 100% !important;
  }
}
/* Widescreen Sizing Combinations */
@media only screen and (min-width: 1920px) {
  .ui.grid > .row > [class*="one wide widescreen"].column,
  .ui.grid > .column.row > [class*="one wide widescreen"].column,
  .ui.grid > [class*="one wide widescreen"].column,
  .ui.column.grid > [class*="one wide widescreen"].column {
    width: 6.25% !important;
  }
  .ui.grid > .row > [class*="two wide widescreen"].column,
  .ui.grid > .column.row > [class*="two wide widescreen"].column,
  .ui.grid > [class*="two wide widescreen"].column,
  .ui.column.grid > [class*="two wide widescreen"].column {
    width: 12.5% !important;
  }
  .ui.grid > .row > [class*="three wide widescreen"].column,
  .ui.grid > .column.row > [class*="three wide widescreen"].column,
  .ui.grid > [class*="three wide widescreen"].column,
  .ui.column.grid > [class*="three wide widescreen"].column {
    width: 18.75% !important;
  }
  .ui.grid > .row > [class*="four wide widescreen"].column,
  .ui.grid > .column.row > [class*="four wide widescreen"].column,
  .ui.grid > [class*="four wide widescreen"].column,
  .ui.column.grid > [class*="four wide widescreen"].column {
    width: 25% !important;
  }
  .ui.grid > .row > [class*="five wide widescreen"].column,
  .ui.grid > .column.row > [class*="five wide widescreen"].column,
  .ui.grid > [class*="five wide widescreen"].column,
  .ui.column.grid > [class*="five wide widescreen"].column {
    width: 31.25% !important;
  }
  .ui.grid > .row > [class*="six wide widescreen"].column,
  .ui.grid > .column.row > [class*="six wide widescreen"].column,
  .ui.grid > [class*="six wide widescreen"].column,
  .ui.column.grid > [class*="six wide widescreen"].column {
    width: 37.5% !important;
  }
  .ui.grid > .row > [class*="seven wide widescreen"].column,
  .ui.grid > .column.row > [class*="seven wide widescreen"].column,
  .ui.grid > [class*="seven wide widescreen"].column,
  .ui.column.grid > [class*="seven wide widescreen"].column {
    width: 43.75% !important;
  }
  .ui.grid > .row > [class*="eight wide widescreen"].column,
  .ui.grid > .column.row > [class*="eight wide widescreen"].column,
  .ui.grid > [class*="eight wide widescreen"].column,
  .ui.column.grid > [class*="eight wide widescreen"].column {
    width: 50% !important;
  }
  .ui.grid > .row > [class*="nine wide widescreen"].column,
  .ui.grid > .column.row > [class*="nine wide widescreen"].column,
  .ui.grid > [class*="nine wide widescreen"].column,
  .ui.column.grid > [class*="nine wide widescreen"].column {
    width: 56.25% !important;
  }
  .ui.grid > .row > [class*="ten wide widescreen"].column,
  .ui.grid > .column.row > [class*="ten wide widescreen"].column,
  .ui.grid > [class*="ten wide widescreen"].column,
  .ui.column.grid > [class*="ten wide widescreen"].column {
    width: 62.5% !important;
  }
  .ui.grid > .row > [class*="eleven wide widescreen"].column,
  .ui.grid > .column.row > [class*="eleven wide widescreen"].column,
  .ui.grid > [class*="eleven wide widescreen"].column,
  .ui.column.grid > [class*="eleven wide widescreen"].column {
    width: 68.75% !important;
  }
  .ui.grid > .row > [class*="twelve wide widescreen"].column,
  .ui.grid > .column.row > [class*="twelve wide widescreen"].column,
  .ui.grid > [class*="twelve wide widescreen"].column,
  .ui.column.grid > [class*="twelve wide widescreen"].column {
    width: 75% !important;
  }
  .ui.grid > .row > [class*="thirteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="thirteen wide widescreen"].column,
  .ui.grid > [class*="thirteen wide widescreen"].column,
  .ui.column.grid > [class*="thirteen wide widescreen"].column {
    width: 81.25% !important;
  }
  .ui.grid > .row > [class*="fourteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="fourteen wide widescreen"].column,
  .ui.grid > [class*="fourteen wide widescreen"].column,
  .ui.column.grid > [class*="fourteen wide widescreen"].column {
    width: 87.5% !important;
  }
  .ui.grid > .row > [class*="fifteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="fifteen wide widescreen"].column,
  .ui.grid > [class*="fifteen wide widescreen"].column,
  .ui.column.grid > [class*="fifteen wide widescreen"].column {
    width: 93.75% !important;
  }
  .ui.grid > .row > [class*="sixteen wide widescreen"].column,
  .ui.grid > .column.row > [class*="sixteen wide widescreen"].column,
  .ui.grid > [class*="sixteen wide widescreen"].column,
  .ui.column.grid > [class*="sixteen wide widescreen"].column {
    width: 100% !important;
  }
}
/* ----------------------
            Centered
    ----------------------- */
.ui.centered.grid,
.ui.centered.grid > .row,
.ui.grid > .centered.row {
  text-align: center;
  justify-content: center;
}
.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row),
.ui.centered.grid > .row > .column:not(.aligned):not(.justified),
.ui.grid .centered.row > .column:not(.aligned):not(.justified) {
  text-align: left;
}
.ui.grid > .centered.column,
.ui.grid > .row > .centered.column {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/* ----------------------
            Relaxed
    ----------------------- */
.ui.relaxed.grid > .column:not(.row),
.ui.relaxed.grid > .row > .column,
.ui.grid > .relaxed.row > .column {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.ui[class*="very relaxed"].grid > .column:not(.row),
.ui[class*="very relaxed"].grid > .row > .column,
.ui.grid > [class*="very relaxed"].row > .column {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
/* Coupling with UI Divider */
.ui.relaxed.grid .row + .ui.divider,
.ui.grid .relaxed.row + .ui.divider {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.ui[class*="very relaxed"].grid .row + .ui.divider,
.ui.grid [class*="very relaxed"].row + .ui.divider {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}
/* ----------------------
            Padded
    ----------------------- */
.ui.padded.grid:not(.vertically):not(.horizontally) {
  margin: 0;
}
[class*="horizontally padded"].ui.grid {
  margin-left: 0;
  margin-right: 0;
}
[class*="vertically padded"].ui.grid {
  margin-top: 0;
  margin-bottom: 0;
}
/* ----------------------
           "Floated"
    ----------------------- */
.ui.grid [class*="left floated"].column {
  margin-right: auto;
}
.ui.grid [class*="right floated"].column {
  margin-left: auto;
}
/* ----------------------
            Divided
    ----------------------- */
.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
.ui.divided.grid:not([class*="vertically divided"]) > .row > .column {
  box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
}
/* Swap from padding to margin on columns to have dividers align */
.ui[class*="vertically divided"].grid > .column:not(.row),
.ui[class*="vertically divided"].grid > .row > .column {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-top: 0;
  padding-bottom: 0;
}
.ui[class*="vertically divided"].grid > .row {
  margin-top: 0;
  margin-bottom: 0;
}
/* No divider on first column on row */
.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child,
.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
  box-shadow: none;
}
/* No space on top of first row */
.ui[class*="vertically divided"].grid > .row:first-child > .column {
  margin-top: 0;
}
/* Divided Row */
.ui.grid > .divided.row > .column {
  box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
}
.ui.grid > .divided.row > .column:first-child {
  box-shadow: none;
}
/* Vertically Divided */
.ui[class*="vertically divided"].grid > .row {
  position: relative;
}
.ui[class*="vertically divided"].grid > .row::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: calc(100% - 2rem);
  height: 1px;
  margin: 0 1rem;
  box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
}
/* Padded Horizontally Divided */
[class*="horizontally padded"].ui.divided.grid,
.ui.padded.divided.grid:not(.vertically):not(.horizontally) {
  width: 100%;
}
/* First Row Vertically Divided */
.ui[class*="vertically divided"].grid > .row:first-child::before {
  box-shadow: none;
}
/* Inverted Divided */
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row),
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column {
  box-shadow: -1px 0 0 0 rgba(255, 255, 255, 0.1);
}
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child,
.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
  box-shadow: none;
}
.ui.inverted[class*="vertically divided"].grid > .row::before {
  box-shadow: 0 -1px 0 0 rgba(255, 255, 255, 0.1);
}
/* Relaxed */
.ui.relaxed[class*="vertically divided"].grid > .row::before {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  width: calc(100% - 3rem);
}
.ui[class*="very relaxed"][class*="vertically divided"].grid > .row::before {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
  width: calc(100% - 5rem);
}
/* ----------------------
             Celled
    ----------------------- */
.ui.celled.grid {
  width: 100%;
  margin: 1em 0;
  box-shadow: 0 0 0 1px #d4d4d5;
}
.ui.celled.grid > .row {
  width: 100% !important;
  margin: 0;
  padding: 0;
  box-shadow: 0 -1px 0 0 #d4d4d5;
}
.ui.celled.grid > .column:not(.row),
.ui.celled.grid > .row > .column {
  box-shadow: -1px 0 0 0 #d4d4d5;
}
.ui.celled.grid > .column:first-child,
.ui.celled.grid > .row > .column:first-child {
  box-shadow: none;
}
.ui.celled.grid > .column:not(.row),
.ui.celled.grid > .row > .column {
  padding: 1em;
}
.ui.relaxed.celled.grid > .column:not(.row),
.ui.relaxed.celled.grid > .row > .column {
  padding: 1.5em;
}
.ui[class*="very relaxed"].celled.grid > .column:not(.row),
.ui[class*="very relaxed"].celled.grid > .row > .column {
  padding: 2em;
}
/* Internally Celled */
.ui[class*="internally celled"].grid {
  box-shadow: none;
  margin: 0;
}
.ui[class*="internally celled"].grid > .row:first-child {
  box-shadow: none;
}
.ui[class*="internally celled"].grid > .row > .column:first-child {
  box-shadow: none;
}
/* ----------------------
       Vertically Aligned
    ----------------------- */
/* Top Aligned */
.ui[class*="top aligned"].grid > .column:not(.row),
.ui[class*="top aligned"].grid > .row > .column,
.ui.grid > [class*="top aligned"].row > .column,
.ui.grid > [class*="top aligned"].column:not(.row),
.ui.grid > .row > [class*="top aligned"].column {
  flex-direction: column;
  vertical-align: top;
  align-self: flex-start !important;
}
/* Middle Aligned */
.ui[class*="middle aligned"].grid > .column:not(.row),
.ui[class*="middle aligned"].grid > .row > .column,
.ui.grid > [class*="middle aligned"].row > .column,
.ui.grid > [class*="middle aligned"].column:not(.row),
.ui.grid > .row > [class*="middle aligned"].column {
  flex-direction: column;
  vertical-align: middle;
  align-self: center !important;
}
/* Bottom Aligned */
.ui[class*="bottom aligned"].grid > .column:not(.row),
.ui[class*="bottom aligned"].grid > .row > .column,
.ui.grid > [class*="bottom aligned"].row > .column,
.ui.grid > [class*="bottom aligned"].column:not(.row),
.ui.grid > .row > [class*="bottom aligned"].column {
  flex-direction: column;
  vertical-align: bottom;
  align-self: flex-end !important;
}
/* Stretched */
.ui.stretched.grid > .row > .column,
.ui.stretched.grid > .column,
.ui.grid > .stretched.row > .column,
.ui.grid > .stretched.column:not(.row),
.ui.grid > .row > .stretched.column {
  display: inline-flex !important;
  align-self: stretch;
  flex-direction: column;
}
.ui.stretched.grid > .row > .column > *,
.ui.stretched.grid > .column > *,
.ui.grid > .stretched.row > .column > *,
.ui.grid > .stretched.column:not(.row) > *,
.ui.grid > .row > .stretched.column > * {
  flex-grow: 1;
}
/* ----------------------
      Horizontally Centered
    ----------------------- */
/* Left Aligned */
.ui[class*="left aligned"].grid > .column,
.ui[class*="left aligned"].grid > .row > .column,
.ui.grid > [class*="left aligned"].row > .column,
.ui.ui.grid > [class*="left aligned"].column,
.ui.ui.grid > .row > [class*="left aligned"].column {
  text-align: left;
  align-self: inherit;
}
/* Center Aligned */
.ui[class*="center aligned"].grid > .column,
.ui[class*="center aligned"].grid > .row > .column,
.ui.grid > [class*="center aligned"].row > .column,
.ui.ui.grid > [class*="center aligned"].column,
.ui.ui.grid > .row > [class*="center aligned"].column {
  text-align: center;
  align-self: inherit;
}
.ui[class*="center aligned"].grid {
  justify-content: center;
}
/* Right Aligned */
.ui[class*="right aligned"].grid > .column,
.ui[class*="right aligned"].grid > .row > .column,
.ui.grid > [class*="right aligned"].row > .column,
.ui.ui.grid > [class*="right aligned"].column,
.ui.ui.grid > .row > [class*="right aligned"].column {
  text-align: right;
  align-self: inherit;
}
/* Justified */
.ui.justified.grid > .column,
.ui.justified.grid > .row > .column,
.ui.grid > .justified.row > .column,
.ui.ui.grid > .justified.column,
.ui.ui.grid > .row > .justified.column {
  text-align: justify;
  -webkit-hyphens: auto;
          hyphens: auto;
}
/* ----------------------
         Colored
----------------------- */
.ui.grid > .primary.row,
.ui.grid > .primary.column,
.ui.grid > .row > .primary.column {
  background-color: #6C3667;
  color: #FFFFFF;
}
.ui.grid > .secondary.row,
.ui.grid > .secondary.column,
.ui.grid > .row > .secondary.column {
  background-color: #88d317;
  color: #FFFFFF;
}
.ui.grid > .red.row,
.ui.grid > .red.column,
.ui.grid > .row > .red.column {
  background-color: #db2828;
  color: #FFFFFF;
}
.ui.grid > .orange.row,
.ui.grid > .orange.column,
.ui.grid > .row > .orange.column {
  background-color: #f2711c;
  color: #FFFFFF;
}
.ui.grid > .yellow.row,
.ui.grid > .yellow.column,
.ui.grid > .row > .yellow.column {
  background-color: #fbbd08;
  color: #FFFFFF;
}
.ui.grid > .olive.row,
.ui.grid > .olive.column,
.ui.grid > .row > .olive.column {
  background-color: #b5cc18;
  color: #FFFFFF;
}
.ui.grid > .green.row,
.ui.grid > .green.column,
.ui.grid > .row > .green.column {
  background-color: #21ba45;
  color: #FFFFFF;
}
.ui.grid > .teal.row,
.ui.grid > .teal.column,
.ui.grid > .row > .teal.column {
  background-color: #00b5ad;
  color: #FFFFFF;
}
.ui.grid > .blue.row,
.ui.grid > .blue.column,
.ui.grid > .row > .blue.column {
  background-color: #2185d0;
  color: #FFFFFF;
}
.ui.grid > .violet.row,
.ui.grid > .violet.column,
.ui.grid > .row > .violet.column {
  background-color: #6435c9;
  color: #FFFFFF;
}
.ui.grid > .purple.row,
.ui.grid > .purple.column,
.ui.grid > .row > .purple.column {
  background-color: #a333c8;
  color: #FFFFFF;
}
.ui.grid > .pink.row,
.ui.grid > .pink.column,
.ui.grid > .row > .pink.column {
  background-color: #e03997;
  color: #FFFFFF;
}
.ui.grid > .brown.row,
.ui.grid > .brown.column,
.ui.grid > .row > .brown.column {
  background-color: #a5673f;
  color: #FFFFFF;
}
.ui.grid > .grey.row,
.ui.grid > .grey.column,
.ui.grid > .row > .grey.column {
  background-color: #767676;
  color: #FFFFFF;
}
.ui.grid > .black.row,
.ui.grid > .black.column,
.ui.grid > .row > .black.column {
  background-color: #1b1c1d;
  color: #FFFFFF;
}
/* ----------------------
          Equal Width
    ----------------------- */
.ui[class*="equal width"].grid > .column:not(.row),
.ui[class*="equal width"].grid > .row > .column,
.ui.grid > [class*="equal width"].row > .column {
  display: inline-block;
  flex-grow: 1;
}
.ui[class*="equal width"].grid > .wide.column,
.ui[class*="equal width"].grid > .row > .wide.column,
.ui.grid > [class*="equal width"].row > .wide.column {
  flex-grow: 0;
}
/* ----------------------
            Reverse
    ----------------------- */
/* Mobile */
@media only screen and (max-width: 767.98px) {
  .ui[class*="mobile reversed"].grid,
  .ui[class*="mobile reversed"].grid > .row,
  .ui.grid > [class*="mobile reversed"].row {
    flex-direction: row-reverse;
  }
  .ui[class*="mobile vertically reversed"].grid,
  .ui.stackable[class*="mobile reversed"] {
    flex-direction: column-reverse;
  }
  /* Divided Reversed */
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }
  /* Vertically Divided Reversed */
  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child::before {
    box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child::before {
    box-shadow: none;
  }
  /* Celled Reversed */
  .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0 0 0 #d4d4d5;
  }
  .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}
/* Tablet */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui[class*="tablet reversed"].grid,
  .ui[class*="tablet reversed"].grid > .row,
  .ui.grid > [class*="tablet reversed"].row {
    flex-direction: row-reverse;
  }
  .ui[class*="tablet vertically reversed"].grid {
    flex-direction: column-reverse;
  }
  /* Divided Reversed */
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }
  /* Vertically Divided Reversed */
  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child::before {
    box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child::before {
    box-shadow: none;
  }
  /* Celled Reversed */
  .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0 0 0 #d4d4d5;
  }
  .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}
/* Computer */
@media only screen and (min-width: 992px) {
  .ui[class*="computer reversed"].grid,
  .ui[class*="computer reversed"].grid > .row,
  .ui.grid > [class*="computer reversed"].row {
    flex-direction: row-reverse;
  }
  .ui[class*="computer vertically reversed"].grid {
    flex-direction: column-reverse;
  }
  /* Divided Reversed */
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child,
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child {
    box-shadow: -1px 0 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child,
  .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child {
    box-shadow: none;
  }
  /* Vertically Divided Reversed */
  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child::before {
    box-shadow: 0 -1px 0 0 rgba(34, 36, 38, 0.15);
  }
  .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child::before {
    box-shadow: none;
  }
  /* Celled Reversed */
  .ui[class*="computer reversed"].celled.grid > .row > .column:first-child {
    box-shadow: -1px 0 0 0 #d4d4d5;
  }
  .ui[class*="computer reversed"].celled.grid > .row > .column:last-child {
    box-shadow: none;
  }
}
/* -------------------
          Doubling
    -------------------- */
/* Tablet Only */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.doubling.grid {
    width: auto;
  }
  .ui.grid > .doubling.row,
  .ui.doubling.grid > .row {
    margin: 0 !important;
    padding: 0 !important;
  }
  .ui.grid > .doubling.row > .column,
  .ui.doubling.grid > .row > .column {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    box-shadow: none !important;
    margin: 0;
  }
  .ui.grid:not(.stretched) > .doubling.row:not(.stretched) > .column:not(.stretched),
  .ui.doubling.grid:not(.stretched) > .row:not(.stretched) > .column:not(.stretched) {
    display: inline-block !important;
  }
  .ui[class*="two column"].doubling.grid > .row > .column,
  .ui[class*="two column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="two column"].doubling.row > .column {
    width: 100% !important;
  }
  .ui[class*="three column"].doubling.grid > .row > .column,
  .ui[class*="three column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="three column"].doubling.row > .column {
    width: 50% !important;
  }
  .ui[class*="four column"].doubling.grid > .row > .column,
  .ui[class*="four column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="four column"].doubling.row > .column {
    width: 50% !important;
  }
  .ui[class*="five column"].doubling.grid > .row > .column,
  .ui[class*="five column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="five column"].doubling.row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="six column"].doubling.grid > .row > .column,
  .ui[class*="six column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="six column"].doubling.row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="seven column"].doubling.grid > .row > .column,
  .ui[class*="seven column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="seven column"].doubling.row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="eight column"].doubling.grid > .row > .column,
  .ui[class*="eight column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="eight column"].doubling.row > .column {
    width: 25% !important;
  }
  .ui[class*="nine column"].doubling.grid > .row > .column,
  .ui[class*="nine column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="nine column"].doubling.row > .column {
    width: 25% !important;
  }
  .ui[class*="ten column"].doubling.grid > .row > .column,
  .ui[class*="ten column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="ten column"].doubling.row > .column {
    width: 20% !important;
  }
  .ui[class*="eleven column"].doubling.grid > .row > .column,
  .ui[class*="eleven column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="eleven column"].doubling.row > .column {
    width: 20% !important;
  }
  .ui[class*="twelve column"].doubling.grid > .row > .column,
  .ui[class*="twelve column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="twelve column"].doubling.row > .column {
    width: 16.66666667% !important;
  }
  .ui[class*="thirteen column"].doubling.grid > .row > .column,
  .ui[class*="thirteen column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="thirteen column"].doubling.row > .column {
    width: 16.66666667% !important;
  }
  .ui[class*="fourteen column"].doubling.grid > .row > .column,
  .ui[class*="fourteen column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="fourteen column"].doubling.row > .column {
    width: 14.28571429% !important;
  }
  .ui[class*="fifteen column"].doubling.grid > .row > .column,
  .ui[class*="fifteen column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="fifteen column"].doubling.row > .column {
    width: 14.28571429% !important;
  }
  .ui[class*="sixteen column"].doubling.grid > .row > .column,
  .ui[class*="sixteen column"].doubling.grid > .column:not(.row),
  .ui.ui.grid > [class*="sixteen column"].doubling.row > .column {
    width: 12.5% !important;
  }
}
/* Mobile Only */
@media only screen and (max-width: 767.98px) {
  .ui.grid > .doubling.row,
  .ui.doubling.grid > .row {
    margin: 0 !important;
    padding: 0 !important;
  }
  .ui.grid > .doubling.row > .column,
  .ui.doubling.grid > .row > .column {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
  .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="two column"].doubling:not(.stackable).row > .column {
    width: 100% !important;
  }
  .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="three column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="four column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="five column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="six column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="seven column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="eight column"].doubling:not(.stackable).row > .column {
    width: 50% !important;
  }
  .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="nine column"].doubling:not(.stackable).row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="ten column"].doubling:not(.stackable).row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="eleven column"].doubling:not(.stackable).row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="twelve column"].doubling:not(.stackable).row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="thirteen column"].doubling:not(.stackable).row > .column {
    width: 33.33333333% !important;
  }
  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="fourteen column"].doubling:not(.stackable).row > .column {
    width: 25% !important;
  }
  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="fifteen column"].doubling:not(.stackable).row > .column {
    width: 25% !important;
  }
  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column,
  .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row),
  .ui.ui.grid > [class*="sixteen column"].doubling:not(.stackable).row > .column {
    width: 25% !important;
  }
}
/* -------------------
          Stackable
    -------------------- */
@media only screen and (max-width: 767.98px) {
  body > .ui.stackable.grid,
  .ui:not(.segment):not(.grid) .ui.stackable.grid {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .ui.stackable.grid > .row > .wide.column,
  .ui.stackable.grid > .wide.column,
  .ui.stackable.grid > .column.grid > .column,
  .ui.stackable.grid > .column.row > .column,
  .ui.stackable.grid > .row > .column,
  .ui.stackable.grid > .column:not(.row),
  .ui.grid > .stackable.stackable.stackable.row > .column {
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
    padding: 1rem 1rem;
  }
  .ui.stackable.grid:not(.vertically) > .row {
    margin: 0;
    padding: 0;
  }
  /* Coupling */
  .ui.container > .ui.stackable.grid > .column,
  .ui.container > .ui.stackable.grid > .row > .column {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Don't pad inside segment or nested grid */
  .ui.grid .ui.stackable.grid,
  .ui.segment:not(.vertical) .ui.stackable.page.grid {
    margin-left: -1rem;
    margin-right: -1rem;
  }
  /* Divided Stackable */
  .ui.stackable.divided.grid > .row:first-child > .column:first-child,
  .ui.stackable.celled.grid > .row:first-child > .column:first-child,
  .ui.stackable.divided.grid > .column:not(.row):first-child,
  .ui.stackable.celled.grid > .column:not(.row):first-child {
    border-top: none !important;
  }
  .ui.ui.inverted.stackable.celled.grid > .column:not(.row),
  .ui.ui.inverted.stackable.divided.grid > .column:not(.row),
  .ui.ui.inverted.stackable.celled.grid > .row > .column,
  .ui.ui.inverted.stackable.divided.grid > .row > .column {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .ui.stackable.celled.grid > .column:not(.row),
  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
  .ui.stackable.celled.grid > .row > .column,
  .ui.stackable.divided:not(.vertically).grid > .row > .column {
    border-top: 1px solid rgba(34, 36, 38, 0.15);
    box-shadow: none !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ui.stackable.celled.grid > .row {
    box-shadow: none !important;
  }
  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),
  .ui.stackable.divided:not(.vertically).grid > .row > .column {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ----------------------
     Only (Device)
----------------------- */
/* These include arbitrary class repetitions for forced specificity */
/* Mobile Only Hide */
@media only screen and (max-width: 767.98px) {
  .ui.ui.ui[class*="tablet only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="tablet only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="tablet only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="tablet only"].column:not(.mobile) {
    display: none !important;
  }
  .ui.ui.ui[class*="computer only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="computer only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="computer only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="computer only"].column:not(.mobile) {
    display: none !important;
  }
  .ui.ui.ui[class*="large screen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }
  .ui.ui.ui[class*="widescreen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}
/* Tablet Only Hide */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.ui.ui[class*="mobile only"].grid:not(.tablet),
  .ui.ui.ui.grid > [class*="mobile only"].row:not(.tablet),
  .ui.ui.ui.grid > [class*="mobile only"].column:not(.tablet),
  .ui.ui.ui.grid > .row > [class*="mobile only"].column:not(.tablet) {
    display: none !important;
  }
  .ui.ui.ui[class*="computer only"].grid:not(.tablet),
  .ui.ui.ui.grid > [class*="computer only"].row:not(.tablet),
  .ui.ui.ui.grid > [class*="computer only"].column:not(.tablet),
  .ui.ui.ui.grid > .row > [class*="computer only"].column:not(.tablet) {
    display: none !important;
  }
  .ui.ui.ui[class*="large screen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }
  .ui.ui.ui[class*="widescreen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}
/* Computer Only Hide */
@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
  .ui.ui.ui[class*="mobile only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }
  .ui.ui.ui[class*="tablet only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }
  .ui.ui.ui[class*="large screen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="large screen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="large screen only"].column:not(.mobile) {
    display: none !important;
  }
  .ui.ui.ui[class*="widescreen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}
/* Large Screen Only Hide */
@media only screen and (min-width: 1200px) and (max-width: 1919.98px) {
  .ui.ui.ui[class*="mobile only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }
  .ui.ui.ui[class*="tablet only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }
  .ui.ui.ui[class*="widescreen only"].grid:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].row:not(.mobile),
  .ui.ui.ui.grid > [class*="widescreen only"].column:not(.mobile),
  .ui.ui.ui.grid > .row > [class*="widescreen only"].column:not(.mobile) {
    display: none !important;
  }
}
/* Widescreen Only Hide */
@media only screen and (min-width: 1920px) {
  .ui.ui.ui[class*="mobile only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="mobile only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="mobile only"].column:not(.computer) {
    display: none !important;
  }
  .ui.ui.ui[class*="tablet only"].grid:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].row:not(.computer),
  .ui.ui.ui.grid > [class*="tablet only"].column:not(.computer),
  .ui.ui.ui.grid > .row > [class*="tablet only"].column:not(.computer) {
    display: none !important;
  }
}
/* -----------------
          Compact
    ----------------- */
.ui.ui.ui.compact.grid {
  margin: -0.5rem;
}
.ui.ui.ui.compact.grid > .column:not(.row),
.ui.ui.ui.compact.grid > .row > .column {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.ui.ui.ui.compact.grid > * {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
/* Row */
.ui.ui.ui.compact.grid > .row {
  padding: 0.5rem 0;
}
/* Columns */
.ui.ui.ui.compact.grid > .column:not(.row) {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
/* Relaxed + Celled */
.ui.compact.relaxed.celled.grid > .column:not(.row),
.ui.compact.relaxed.celled.grid > .row > .column {
  padding: 0.75em;
}
.ui.compact[class*="very relaxed"].celled.grid > .column:not(.row),
.ui.compact[class*="very relaxed"].celled.grid > .row > .column {
  padding: 1em;
}
/* -----------------
        Very compact
    ----------------- */
.ui.ui.ui[class*="very compact"].grid {
  margin: -0.25rem;
}
.ui.ui.ui[class*="very compact"].grid > .column:not(.row),
.ui.ui.ui[class*="very compact"].grid > .row > .column {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.ui.ui.ui[class*="very compact"].grid > * {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
/* Row */
.ui.ui.ui[class*="very compact"].grid > .row {
  padding: 0.25rem 0;
}
/* Columns */
.ui.ui.ui[class*="very compact"].grid > .column:not(.row) {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
/* Relaxed + Celled */
.ui[class*="very compact"].relaxed.celled.grid > .column:not(.row),
.ui[class*="very compact"].relaxed.celled.grid > .row > .column {
  padding: 0.375em;
}
.ui[class*="very compact"][class*="very relaxed"].celled.grid > .column:not(.row),
.ui[class*="very compact"][class*="very relaxed"].celled.grid > .row > .column {
  padding: 0.5em;
}
.ui.grid .left.attached.column {
  padding-right: 0;
}
.ui.grid .right.attached.column {
  padding-left: 0;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Menu
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Menu
*******************************/
/* -------------------
      Collection
-------------------- */
/* Menu */
/* Menu Item */
/* Divider */
/* Sub Menu */
/* Text Item */
/* --------------
    Elements
--------------- */
/* Icon */
/* Dropdown Icon */
/* Header */
/* Vertical Icon */
/* Vertical Header */
/* Pointing Arrow */
/* --------------
    Couplings
--------------- */
/* Button */
/* Input */
/* Image */
/* Label */
/* has to be equal to @circularPadding from label.less */
/* Image Label */
/* Calculates as: @verticalLabel (from label.less) - @labelVerticalPadding (from here) */
/* Logic adopted from label.less */
/* Dropdown in Menu */
/* Dropdown Variations */
/* --------------
     States
--------------- */
/* Hovered Item */
/* Pressed Item */
/* Active Item */
/* Active Hovered Item */
/* Selected Dropdown */
/* Active Dropdown */
/* Active Sub Menu */
/* --------------
     Types
--------------- */
/* Vertical */
/* Secondary */
/* Pointing */
/* Inverted Secondary */
/* Inverted Pointing */
/* Tiered */
/* Icon */
/* Tabular */
/* Pagination */
/* Labeled Icon */
/* Text */
/* --------------
   Variations
--------------- */
/* Inverted */
/* Inverted Sub Menu */
/* Inverted Hover */
/* Pressed */
/* Inverted Active */
/* Inverted Active Hover */
/* Inverted Menu Divider */
/* Inverted Colored */
/* Fixed */
/* Floated */
/* Attached */
/* Resize large sizes */
/* Sizes */
/* -------------------
  Inverted dropdowns
-------------------- */
/* Tabular */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* Main Top Menu */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Standard
*******************************/
/* --------------
      Menu
--------------- */
.ui.menu {
  display: flex;
  margin: 1rem 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  background: #fff;
  font-weight: normal;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  min-height: 2.85714286em;
}
.ui.menu::after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.ui.menu:first-child {
  margin-top: 0;
}
.ui.menu:last-child {
  margin-bottom: 0;
}
/* --------------
    Sub-Menu
--------------- */
.ui.menu .menu {
  margin: 0;
}
.ui.menu:not(.vertical) > .menu {
  display: flex;
}
/* --------------
      Item
--------------- */
.ui.menu:not(.vertical) .item {
  display: flex;
  align-items: center;
}
.ui.menu .item {
  position: relative;
  vertical-align: middle;
  line-height: 1;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  flex: 0 0 auto;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: none;
  padding: 0.92857143em 1.14285714em;
  text-transform: none;
  color: rgba(0, 0, 0, 0.87);
  font-weight: normal;
  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;
}
.ui.menu > .item:first-child {
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
/* Border */
.ui.menu .item::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  height: 100%;
  width: 1px;
  background: rgba(34, 36, 38, 0.1);
}
/* --------------
  Text Content
--------------- */
.ui.menu .text.item > *,
.ui.menu .item > a:not(.ui),
.ui.menu .item > p:only-child {
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  line-height: 1.3;
}
.ui.menu .item > p:first-child {
  margin-top: 0;
}
.ui.menu .item > p:last-child {
  margin-bottom: 0;
}
/* --------------
      Icons
--------------- */
.ui.menu .item > i.icon {
  opacity: 0.9;
  float: none;
  margin: 0 0.35714286em 0 0;
}
/* --------------
     Button
--------------- */
.ui.menu:not(.vertical) .item > .button {
  position: relative;
  top: 0;
  margin: -0.5em 0;
  padding-bottom: 0.78571429em;
  padding-top: 0.78571429em;
  font-size: 1em;
}
/* ----------------
 Grid / Container
----------------- */
.ui.menu > .grid,
.ui.menu > .container {
  display: flex;
  align-items: inherit;
  flex-direction: inherit;
}
/* --------------
     Inputs
--------------- */
.ui.menu .item > .input {
  width: 100%;
}
.ui.menu:not(.vertical) .item > .input {
  position: relative;
  top: 0;
  margin: -0.5em 0;
}
.ui.menu .item > .input input {
  font-size: 1em;
  padding-top: 0.57142857em;
  padding-bottom: 0.57142857em;
}
/* --------------
     Header
--------------- */
.ui.menu .header.item,
.ui.vertical.menu .header.item {
  margin: 0;
  background: "";
  text-transform: normal;
  font-weight: bold;
}
.ui.vertical.menu .item > .header:not(.ui) {
  margin: 0 0 0.5em;
  font-size: 1em;
  font-weight: bold;
}
/* --------------
    Dropdowns
--------------- */
/* Dropdown Icon */
.ui.menu .item > i.dropdown.icon {
  padding: 0;
  float: right;
  margin: 0 0 0 1em;
}
/* Menu */
.ui.menu .dropdown.item .menu {
  min-width: calc(100% - 1px);
  border-radius: 0 0 0.28571429rem 0.28571429rem;
  background: #fff;
  margin: 0 0 0;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
}
.ui.menu .dropdown.item:not(.column) .menu {
  flex-direction: column;
}
/* Menu Items */
.ui.menu .ui.dropdown .menu > .item {
  margin: 0;
  text-align: left;
  font-size: 1em !important;
  padding: 0.78571429em 1.14285714em !important;
  background: transparent !important;
  color: rgba(0, 0, 0, 0.87) !important;
  text-transform: none !important;
  font-weight: normal !important;
  box-shadow: none !important;
  transition: none !important;
}
.ui.menu .ui.dropdown .menu > .item:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: rgba(0, 0, 0, 0.95) !important;
}
.ui.menu .ui.dropdown .menu > .selected.item {
  background: rgba(0, 0, 0, 0.05) !important;
  color: rgba(0, 0, 0, 0.95) !important;
}
.ui.menu .ui.dropdown .menu > .active.item {
  background: rgba(0, 0, 0, 0.03) !important;
  font-weight: bold !important;
  color: rgba(0, 0, 0, 0.95) !important;
}
.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {
  display: block;
}
.ui.menu .ui.dropdown .menu > .item > .icons,
.ui.menu .ui.dropdown .menu > .item > i.icon:not(.dropdown) {
  display: inline-block;
  font-size: 1em !important;
  float: none;
  margin: 0 0.75em 0 0 !important;
}
/* Secondary */
.ui.secondary.menu .dropdown.item > .menu,
.ui.text.menu .dropdown.item > .menu {
  border-radius: 0.28571429rem;
  margin-top: 0.35714286em;
}
/* Pointing */
.ui.menu .pointing.dropdown.item .menu {
  margin-top: 0.75em;
}
/* Inverted */
.ui.inverted.menu .search.dropdown.item > .search,
.ui.inverted.menu .search.dropdown.item > .text {
  color: rgba(255, 255, 255, 0.9);
}
/* Vertical */
.ui.vertical.menu .dropdown.item > i.icon {
  float: right;
  content: "\f0da";
  margin-left: 1em;
}
.ui.vertical.menu .dropdown.item .menu {
  left: 100%;
  /* IE needs 0, all others support max-content to show dropdown icon inline, so keep both settings! */
  min-width: 0;
  min-width: -moz-max-content;
  min-width: max-content;
  margin: 0 0 0 0;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
  border-radius: 0 0.28571429rem 0.28571429rem 0.28571429rem;
}
.ui.vertical.menu .dropdown.item.upward .menu {
  bottom: 0;
}
.ui.vertical.menu .dropdown.item:not(.upward) .menu {
  top: 0;
}
.ui.vertical.menu .active.dropdown.item {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.vertical.menu .dropdown.active.item {
  box-shadow: none;
}
/* Evenly Divided */
.ui.item.menu .dropdown .menu .item {
  width: 100%;
}
/* --------------
     Labels
--------------- */
.ui.menu .item > .label:not(.floating) {
  margin-left: 1em;
  padding: 0.3em 0.78571429em;
}
.ui.vertical.menu .item > .label {
  margin-top: -0.15em;
  margin-bottom: -0.15em;
  padding: 0.3em 0.78571429em;
}
.ui.menu .item > .floating.label {
  padding: 0.3em 0.78571429em;
}
.ui.menu .item > .label {
  background: #999;
  color: #FFFFFF;
}
.ui.menu .item > .image.label img {
  margin: -0.2833em 0.8em -0.2833em -0.8em;
  height: 1.5666em;
}
/* --------------
     Images
--------------- */
.ui.menu .item > img:not(.ui) {
  display: inline-block;
  vertical-align: middle;
  margin: -0.3em 0;
  width: 2.5em;
}
.ui.vertical.menu .item > img:not(.ui):only-child {
  display: block;
  max-width: 100%;
  width: auto;
}
/*******************************
          Coupling
*******************************/
/* --------------
     List
--------------- */
/* Menu divider shouldn't apply */
.ui.menu .list .item::before {
  background: none !important;
}
/* --------------
         Sidebar
    --------------- */
/* Show vertical dividers below last */
.ui.vertical.sidebar.menu > .item:first-child::before {
  display: block !important;
}
.ui.vertical.sidebar.menu > .item::before {
  top: auto;
  bottom: 0;
}
/* --------------
    Container
--------------- */
@media only screen and (max-width: 767.98px) {
  .ui.menu > .ui.container {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media only screen and (min-width: 768px) {
  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {
    border-left: 1px solid rgba(34, 36, 38, 0.1);
  }
  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .right.item:not(.borderless):last-child,
  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .right.menu > .item:not(.borderless):last-child {
    border-right: 1px solid rgba(34, 36, 38, 0.1);
  }
}
/*******************************
             States
*******************************/
/* --------------
      Hover
--------------- */
.ui.link.menu .item:hover,
.ui.menu .dropdown.item:hover,
.ui.menu .link.item:hover,
.ui.menu a.item:hover {
  cursor: pointer;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
     Pressed
--------------- */
.ui.link.menu .item:active,
.ui.menu .link.item:active,
.ui.menu a.item:active {
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
     Active
--------------- */
.ui.menu .active.item {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  font-weight: normal;
  box-shadow: none;
}
.ui.menu .active.item > i.icon {
  opacity: 1;
}
/* --------------
  Active Hover
--------------- */
.ui.menu .active.item:hover,
.ui.vertical.menu .active.item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
     Disabled
--------------- */
.ui.ui.menu .item.disabled {
  cursor: default;
  background-color: transparent;
  color: rgba(40, 40, 40, 0.3);
  pointer-events: none;
}
/*******************************
             Types
*******************************/
/* ------------------
Floated Menu / Item
------------------- */
/* Left Floated */
.ui.menu:not(.vertical) .left.item,
.ui.menu:not(.vertical) .left.menu {
  display: flex;
  margin-right: auto !important;
}
/* Right Floated */
.ui.menu:not(.vertical) .right.item,
.ui.menu:not(.vertical) .right.menu {
  display: flex;
  margin-left: auto !important;
}
.ui.menu:not(.vertical) :not(.dropdown) > .left.menu,
.ui.menu:not(.vertical) :not(.dropdown) > .right.menu {
  display: inherit;
}
/* Center */
.ui.menu:not(.vertical) .center.item,
.ui.menu:not(.vertical) .center.menu {
  display: flex;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Swapped Borders */
.ui.menu .right.item::before,
.ui.menu .right.menu > .item::before {
  right: auto;
  left: 0;
}
/* Remove Outer Borders */
.ui.menu .center.item:last-child::before,
.ui.menu .center.menu > .item:last-child::before {
  display: none;
}
/* --------------
        Vertical
    --------------- */
.ui.vertical.menu {
  display: block;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
}
/* --- Item --- */
.ui.vertical.menu .item {
  display: block;
  background: none;
  border-top: none;
  border-right: none;
}
.ui.vertical.menu > .item:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.vertical.menu > .item:last-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* --- Label --- */
.ui.vertical.menu .item > .label {
  float: right;
  text-align: center;
}
/* --- Icon --- */
.ui.vertical.menu .item > i.icon,
.ui.vertical.menu .item > i.icons {
  width: 1.18em;
  float: right;
  margin: 0 0 0 0.5em;
}
.ui.vertical.menu .item > .label + i.icon {
  float: none;
  margin: 0 0.5em 0 0;
}
/* --- Border --- */
.ui.vertical.menu .item::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(34, 36, 38, 0.1);
}
.ui.vertical.menu .item:first-child::before {
  display: none !important;
}
/* --- Sub Menu --- */
.ui.vertical.menu .item > .menu {
  margin: 0.5em -1.14285714em 0;
}
.ui.vertical.menu .menu .item {
  background: none;
  padding: 0.5em 1.33333333em;
  font-size: 0.85714286em;
  color: rgba(0, 0, 0, 0.5);
}
.ui.vertical.menu .item .menu a.item:hover,
.ui.vertical.menu .item .menu .link.item:hover {
  color: rgba(0, 0, 0, 0.85);
}
.ui.vertical.menu .menu .item::before {
  display: none;
}
/* Vertical Active */
.ui.vertical.menu .active.item {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 0;
  box-shadow: none;
}
.ui.vertical.menu > .active.item:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.vertical.menu > .active.item:last-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.vertical.menu > .active.item:only-child {
  border-radius: 0.28571429rem;
}
.ui.vertical.menu .active.item .menu .active.item {
  border-left: none;
}
.ui.vertical.menu .item .menu .active.item {
  background-color: transparent;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
         Tabular
    --------------- */
.ui.tabular.menu {
  border-radius: 0;
  box-shadow: none !important;
  border: none;
  background: none transparent;
  border-bottom: 1px solid #d4d4d5;
}
.ui.tabular.fluid.menu {
  width: calc(100% + 2px) !important;
}
.ui.tabular.menu .item {
  background: transparent;
  border-bottom: none;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-top: 2px solid transparent;
  padding: 0.92857143em 1.42857143em;
  color: rgba(0, 0, 0, 0.87);
}
.ui.tabular.menu .item::before {
  display: none;
}
/* Hover */
.ui.tabular.menu .item:hover {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.8);
}
/* Active */
.ui.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-top-width: 1px;
  border-color: #d4d4d5;
  font-weight: bold;
  margin-bottom: -1px;
  box-shadow: none;
  border-radius: 0.28571429rem 0.28571429rem 0 0 !important;
}
.ui.tabular.menu .active.item:hover {
  cursor: default;
}
/* Coupling with segment for attachment */
.ui.tabular.menu ~ .attached:not(.top).segment {
  border-top: none;
  margin-left: 0;
  margin-top: 0;
  margin-right: 0;
  width: 100%;
}
.top.attached.segment + .ui.bottom.tabular.menu {
  position: relative;
  width: calc(100% + 2px);
  left: -1px;
}
/* Bottom Vertical Tabular */
.ui.bottom.tabular.menu {
  background: none transparent;
  border-radius: 0;
  box-shadow: none !important;
  border-bottom: none;
  border-top: 1px solid #d4d4d5;
}
.ui.bottom.tabular.menu .item {
  background: none;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: none;
}
.ui.bottom.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #d4d4d5;
  margin: -1px 0 0 0;
  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
}
/* Vertical Tabular (Left) */
.ui.vertical.tabular.menu {
  background: none transparent;
  border-radius: 0;
  box-shadow: none !important;
  border-bottom: none;
  border-right: 1px solid #d4d4d5;
}
.ui.vertical.tabular.menu .item {
  background: none;
  border-left: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent;
  border-right: none;
}
.ui.vertical.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #d4d4d5;
  margin: 0 -1px 0 0;
  border-radius: 0.28571429rem 0 0 0.28571429rem !important;
}
/* Vertical Right Tabular */
.ui.vertical.right.tabular.menu {
  background: none transparent;
  border-radius: 0;
  box-shadow: none !important;
  border-bottom: none;
  border-right: none;
  border-left: 1px solid #d4d4d5;
}
.ui.vertical.right.tabular.menu .item {
  background: none;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent;
  border-left: none;
}
.ui.vertical.right.tabular.menu .active.item {
  background: none #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
  border-color: #d4d4d5;
  margin: 0 0 0 -1px;
  border-radius: 0 0.28571429rem 0.28571429rem 0 !important;
}
/* Dropdown */
.ui.tabular.menu .active.dropdown.item {
  margin-bottom: 0;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-top: 2px solid transparent;
  border-bottom: none;
}
.ui.inverted.tabular.menu .active.item,
.ui.inverted.tabular.menu .active.item:hover {
  background: none #1b1c1d;
  border-color: #555;
}
.ui.inverted.tabular.menu .item:not(.active):hover {
  color: #ffffff;
  background: transparent;
  cursor: pointer;
}
/* --------------
       Pagination
    --------------- */
.ui.pagination.menu {
  margin: 0;
  display: inline-flex;
  vertical-align: middle;
}
.ui.pagination.menu .item:last-child {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui.compact.menu .item:last-child {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui.pagination.menu:not(.wrapping) .item:last-child::before {
  display: none;
}
.ui.pagination.menu .item {
  min-width: 3em;
  text-align: center;
}
.ui.pagination.menu .icon.item i.icon {
  vertical-align: top;
}
/* Active */
.ui.pagination.menu .active.item {
  border-top: none;
  padding-top: 0.92857143em;
  background-color: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  box-shadow: none;
}
/* --------------
       Secondary
    --------------- */
.ui.secondary.menu {
  background: none;
  margin-left: -0.35714286em;
  margin-right: -0.35714286em;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
/* Item */
.ui.secondary.menu .item {
  align-self: center;
  box-shadow: none;
  border: none;
  padding: 0.78571429em 0.92857143em;
  margin: 0 0.35714286em;
  background: none;
  transition: color 0.1s ease;
  border-radius: 0.28571429rem;
}
/* No Divider */
.ui.secondary.menu .item::before {
  display: none !important;
}
/* Header */
.ui.secondary.menu .header.item {
  border-radius: 0;
  border-right: none;
  background: none transparent;
}
/* Image */
.ui.secondary.menu .item > img:not(.ui) {
  margin: 0;
}
/* Hover */
.ui.secondary.menu .dropdown.item:hover,
.ui.secondary.menu .link.item:hover,
.ui.secondary.menu a.item:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}
/* Active */
.ui.secondary.menu .active.item {
  box-shadow: none;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  border-radius: 0.28571429rem;
}
/* Active Hover */
.ui.secondary.menu .active.item:hover {
  box-shadow: none;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}
/* Inverted */
.ui.secondary.inverted.menu .link.item:not(.disabled),
.ui.secondary.inverted.menu a.item:not(.disabled) {
  color: rgba(255, 255, 255, 0.7);
}
.ui.secondary.inverted.menu .dropdown.item:hover,
.ui.secondary.inverted.menu .link.item:hover,
.ui.secondary.inverted.menu a.item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.ui.secondary.inverted.menu .active.item {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}
/* Fix item margins */
.ui.secondary.item.menu {
  margin-left: 0;
  margin-right: 0;
}
.ui.secondary.item.menu .item:last-child {
  margin-right: 0;
}
.ui.secondary.attached.menu {
  box-shadow: none;
}
/* ---------------------
           Secondary Vertical
        ----------------------- */
/* Sub Menu */
.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {
  margin: 0 -0.92857143em;
}
.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {
  margin: 0;
  padding: 0.5em 1.33333333em;
}
.ui.secondary.vertical.menu > .item {
  border: none;
  margin: 0 0 0.35714286em;
  border-radius: 0.28571429rem !important;
}
.ui.secondary.vertical.menu > .header.item {
  border-radius: 0;
}
/* Sub Menu */
.ui.vertical.secondary.menu .item > .menu .item {
  background-color: transparent;
}
/* Inverted */
.ui.secondary.inverted.menu {
  background-color: transparent;
}
/* ---------------------
           Secondary Pointing
        ----------------------- */
.ui.secondary.pointing.menu {
  margin-left: 0;
  margin-right: 0;
  border-bottom: 2px solid rgba(34, 36, 38, 0.15);
}
.ui.secondary.pointing.menu .item {
  border-bottom: 2px solid transparent;
  border-radius: 0;
  align-self: flex-end;
  margin: 0 0 -2px;
  padding: 0.85714286em 1.14285714em;
  transition: color 0.1s ease;
}
.ui.secondary.pointing.menu .ui.dropdown .menu .item {
  border-bottom-width: 0;
}
.ui.secondary.pointing.menu .item > .label:not(.floating) {
  margin-top: -0.3em;
  margin-bottom: -0.3em;
}
.ui.secondary.pointing.menu .item > .circular.label {
  margin-top: -0.5em;
  margin-bottom: -0.5em;
}
/* Item Types */
.ui.secondary.pointing.menu .header.item {
  color: rgba(0, 0, 0, 0.85) !important;
}
.ui.secondary.pointing.menu .text.item {
  box-shadow: none !important;
}
.ui.secondary.pointing.menu .item::after {
  display: none;
}
/* Hover */
.ui.secondary.pointing.menu .dropdown.item:hover,
.ui.secondary.pointing.menu .link.item:hover,
.ui.secondary.pointing.menu a.item:hover {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.87);
}
/* Pressed */
.ui.secondary.pointing.menu .dropdown.item:active,
.ui.secondary.pointing.menu .link.item:active,
.ui.secondary.pointing.menu a.item:active {
  background-color: transparent;
  border-color: rgba(34, 36, 38, 0.15);
}
/* Active */
.ui.secondary.pointing.menu .active.item {
  background-color: transparent;
  box-shadow: none;
  border-color: currentColor;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
}
/* Active Hover */
.ui.secondary.pointing.menu .active.item:hover {
  border-color: currentColor;
  color: rgba(0, 0, 0, 0.95);
}
/* Active Dropdown */
.ui.secondary.pointing.menu .active.dropdown.item {
  border-color: transparent;
}
/* Vertical Pointing */
.ui.secondary.vertical.pointing.menu {
  border-bottom-width: 0;
  border-right: 2px solid rgba(34, 36, 38, 0.15);
}
.ui.secondary.vertical.pointing.menu .item {
  border-bottom: none;
  border-right: 2px solid transparent;
  border-radius: 0 !important;
  margin: 0 -2px 0 0;
}
/* Vertical Active */
.ui.secondary.vertical.pointing.menu .active.item {
  border-color: currentColor;
}
/* Inverted */
.ui.secondary.inverted.pointing.menu {
  border-color: rgba(255, 255, 255, 0.1);
}
.ui.secondary.inverted.pointing.menu .item:not(.disabled) {
  color: rgba(255, 255, 255, 0.9);
}
.ui.secondary.inverted.pointing.menu .header.item {
  color: #FFFFFF !important;
}
/* Hover */
.ui.secondary.inverted.pointing.menu .link.item:hover,
.ui.secondary.inverted.pointing.menu a.item:hover {
  color: #ffffff;
}
/* Active */
.ui.ui.secondary.inverted.pointing.menu .active.item {
  border-color: #FFFFFF;
  color: #ffffff;
  background-color: transparent;
}
/* --------------
        Text Menu
    --------------- */
.ui.text.menu {
  background: none transparent;
  border-radius: 0;
  box-shadow: none;
  border: none;
  margin: 1em -0.5em;
}
.ui.text.menu .item {
  border-radius: 0;
  box-shadow: none;
  align-self: center;
  margin: 0;
  padding: 0.35714286em 0.5em;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.6);
  transition: opacity 0.1s ease;
}
/* Border */
.ui.text.menu .item::before,
.ui.text.menu .menu .item::before {
  display: none !important;
}
/* Header */
.ui.text.menu .header.item {
  background-color: transparent;
  opacity: 1;
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.92857143em;
  text-transform: uppercase;
  font-weight: bold;
}
/* Image */
.ui.text.menu .item > img:not(.ui) {
  margin: 0;
}
/* --- fluid text --- */
.ui.text.item.menu .item {
  margin: 0;
}
/* --- vertical text --- */
.ui.vertical.text.menu {
  margin: 1em 0;
}
.ui.vertical.text.menu:first-child {
  margin-top: 0;
}
.ui.vertical.text.menu:last-child {
  margin-bottom: 0;
}
.ui.vertical.text.menu .item {
  margin: 0.57142857em 0;
  padding-left: 0;
  padding-right: 0;
}
.ui.vertical.text.menu .item > i.icon {
  float: none;
  margin: 0 0.35714286em 0 0;
}
.ui.vertical.text.menu .header.item {
  margin: 0.57142857em 0 0.71428571em;
}
/* Vertical Sub Menu */
.ui.vertical.text.menu .item:not(.dropdown) > .menu {
  margin: 0;
}
.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {
  margin: 0;
  padding: 0.5em 0;
}
/* --- hover --- */
.ui.text.menu .item:hover {
  opacity: 1;
  background-color: transparent;
}
/* --- active --- */
.ui.text.menu .active.item {
  background-color: transparent;
  border: none;
  box-shadow: none;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.95);
}
/* --- active hover --- */
.ui.text.menu .active.item:hover {
  background-color: transparent;
}
/* Disable Bariations */
.ui.text.pointing.menu .active.item::after {
  box-shadow: none;
}
.ui.text.attached.menu {
  box-shadow: none;
}
/* Inverted */
.ui.inverted.text.menu,
.ui.inverted.text.menu .item,
.ui.inverted.text.menu .item:hover,
.ui.inverted.text.menu .active.item {
  background-color: transparent;
}
/* Fluid */
.ui.fluid.text.menu {
  margin-left: 0;
  margin-right: 0;
}
/* --------------
        Icon Only
    --------------- */
/* Vertical Menu */
.ui.vertical.icon.menu {
  display: inline-block;
  width: auto;
}
/* Item */
.ui.icon.menu .item {
  height: auto;
  text-align: center;
  color: #1b1c1d;
}
/* Icon */
.ui.icon.menu .item > i.icon:not(.dropdown) {
  margin: 0;
  opacity: 1;
}
/* Icon Glyph */
.ui.icon.menu i.icon::before {
  opacity: 1;
}
/* (x) Item Icon */
.ui.menu .icon.item > i.icon {
  width: auto;
  margin: 0 auto;
}
/* Vertical Icon */
.ui.vertical.icon.menu .item > i.icon:not(.dropdown) {
  display: block;
  opacity: 1;
  margin: 0 auto;
  float: none;
}
/* Inverted */
.ui.inverted.icon.menu .item {
  color: #FFFFFF;
}
/* --------------
       Labeled Icon
    --------------- */
/* Menu */
.ui.labeled.icon.menu {
  text-align: center;
}
/* Item */
.ui.labeled.icon.menu .item {
  min-width: 6em;
  flex-direction: column;
}
/* Icon */
.ui.labeled.icon.menu > .right.menu > .item > i.icon:not(.dropdown),
.ui.labeled.icon.menu > .item > i.icon:not(.dropdown) {
  height: 1em;
  display: block;
  font-size: 1.71428571em !important;
  margin: 0 auto 0.5rem !important;
}
/* Fluid */
.ui.fluid.labeled.icon.menu > .item {
  min-width: 0;
}
/*******************************
           Variations
*******************************/
/* --------------
        Stackable
    --------------- */
@media only screen and (max-width: 767.98px) {
  .ui.stackable.menu {
    flex-direction: column;
  }
  .ui.stackable.menu.pointing .active.item::after {
    display: none;
  }
  .ui.stackable.menu .item {
    width: 100% !important;
  }
  .ui.stackable.menu .item::before {
    position: absolute;
    content: "";
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(34, 36, 38, 0.1);
  }
  .ui.stackable.menu .left.menu,
  .ui.stackable.menu .left.item {
    margin-right: 0 !important;
  }
  .ui.stackable.menu .right.menu,
  .ui.stackable.menu .right.item {
    margin-left: 0 !important;
  }
  .ui.stackable.menu .center.menu,
  .ui.stackable.menu .center.item {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ui.stackable.menu .right.menu,
  .ui.stackable.menu .center.menu,
  .ui.stackable.menu .left.menu {
    flex-direction: column;
  }
}
/* --------------
     Colors
--------------- */
.ui.ui.ui.menu .primary.active.item,
.ui.ui.primary.menu .active.item:hover,
.ui.ui.primary.menu .active.item {
  color: #6C3667;
}
.ui.ui.ui.menu .red.active.item,
.ui.ui.red.menu .active.item:hover,
.ui.ui.red.menu .active.item {
  color: #db2828;
}
.ui.ui.ui.menu .orange.active.item,
.ui.ui.orange.menu .active.item:hover,
.ui.ui.orange.menu .active.item {
  color: #f2711c;
}
.ui.ui.ui.menu .yellow.active.item,
.ui.ui.yellow.menu .active.item:hover,
.ui.ui.yellow.menu .active.item {
  color: #fbbd08;
}
.ui.ui.ui.menu .olive.active.item,
.ui.ui.olive.menu .active.item:hover,
.ui.ui.olive.menu .active.item {
  color: #b5cc18;
}
.ui.ui.ui.menu .green.active.item,
.ui.ui.green.menu .active.item:hover,
.ui.ui.green.menu .active.item {
  color: #21ba45;
}
.ui.ui.ui.menu .teal.active.item,
.ui.ui.teal.menu .active.item:hover,
.ui.ui.teal.menu .active.item {
  color: #00b5ad;
}
.ui.ui.ui.menu .blue.active.item,
.ui.ui.blue.menu .active.item:hover,
.ui.ui.blue.menu .active.item {
  color: #2185d0;
}
.ui.ui.ui.menu .violet.active.item,
.ui.ui.violet.menu .active.item:hover,
.ui.ui.violet.menu .active.item {
  color: #6435c9;
}
.ui.ui.ui.menu .purple.active.item,
.ui.ui.purple.menu .active.item:hover,
.ui.ui.purple.menu .active.item {
  color: #a333c8;
}
.ui.ui.ui.menu .pink.active.item,
.ui.ui.pink.menu .active.item:hover,
.ui.ui.pink.menu .active.item {
  color: #e03997;
}
.ui.ui.ui.menu .brown.active.item,
.ui.ui.brown.menu .active.item:hover,
.ui.ui.brown.menu .active.item {
  color: #a5673f;
}
.ui.ui.ui.menu .grey.active.item,
.ui.ui.grey.menu .active.item:hover,
.ui.ui.grey.menu .active.item {
  color: #767676;
}
.ui.ui.ui.menu .black.active.item,
.ui.ui.black.menu .active.item:hover,
.ui.ui.black.menu .active.item {
  color: #1b1c1d;
}
/* --------------
        Inverted
    --------------- */
.ui.inverted.menu {
  border: 0 solid transparent;
  background: #1b1c1d;
  box-shadow: none;
}
/* Menu Item */
.ui.inverted.menu .item,
.ui.inverted.menu .item > a:not(.ui) {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.menu .item.menu {
  background: transparent;
}
/* --- Border --- */
.ui.inverted.menu .item::before {
  background: rgba(255, 255, 255, 0.08);
}
.ui.vertical.inverted.menu .item::before {
  background: rgba(255, 255, 255, 0.08);
}
/* Sub Menu */
.ui.vertical.inverted.menu .menu .item,
.ui.vertical.inverted.menu .menu .item a:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}
/* Header */
.ui.inverted.menu .header.item {
  margin: 0;
  background: transparent;
  box-shadow: none;
}
/* Disabled */
.ui.ui.inverted.menu .item.disabled {
  color: rgba(225, 225, 225, 0.3);
}
/* --- Hover --- */
.ui.link.inverted.menu .item:hover,
.ui.inverted.menu .dropdown.item:hover,
.ui.inverted.menu .link.item:hover,
.ui.inverted.menu a.item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.ui.vertical.inverted.menu .item .menu a.item:hover,
.ui.vertical.inverted.menu .item .menu .link.item:hover {
  background: transparent;
  color: #ffffff;
}
/* --- Pressed --- */
.ui.inverted.menu a.item:active,
.ui.inverted.menu .link.item:active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
/* --- Active --- */
.ui.inverted.menu .active.item {
  background: #3d3e3f;
  color: #ffffff !important;
}
.ui.inverted.vertical.menu .item .menu .active.item {
  background: transparent;
  color: #FFFFFF;
}
.ui.inverted.pointing.menu .active.item::after {
  background: #3d3e3f;
  margin: 0 !important;
  box-shadow: none !important;
  border: none !important;
}
/* --- Active Hover --- */
.ui.inverted.menu .active.item:hover {
  background: #3d3e3f;
  color: #FFFFFF !important;
}
.ui.inverted.pointing.menu .active.item:hover::after {
  background: #3d3e3f;
}
/* --------------
         Floated
    --------------- */
.ui.floated.menu {
  float: left;
  margin: 0 0.5rem 0 0;
}
.ui.floated.menu .item:last-child::before {
  display: none;
}
.ui.right.floated.menu {
  float: right;
  margin: 0 0 0 0.5rem;
}
.ui.center.aligned.menu:not(.fluid),
.ui.centered.menu:not(.fluid) {
  display: inline-flex;
  transform: translateX(-50%);
  margin-left: 50%;
}
.ui.center.aligned.menu .item,
.ui.centered.menu .item {
  flex: 1 0 auto;
  justify-content: center;
}
/* --------------
        Inverted
    --------------- */
.ui.ui.ui.inverted.menu .primary.active.item,
.ui.ui.inverted.primary.menu {
  background-color: #6C3667;
}
.ui.inverted.primary.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.primary.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.primary.menu .active.item {
  background-color: #5d2b59;
}
.ui.ui.ui.inverted.menu .red.active.item,
.ui.ui.inverted.red.menu {
  background-color: #db2828;
}
.ui.inverted.red.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.red.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.red.menu .active.item {
  background-color: #d01919;
}
.ui.ui.ui.inverted.menu .orange.active.item,
.ui.ui.inverted.orange.menu {
  background-color: #f2711c;
}
.ui.inverted.orange.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.orange.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.orange.menu .active.item {
  background-color: #f26202;
}
.ui.ui.ui.inverted.menu .yellow.active.item,
.ui.ui.inverted.yellow.menu {
  background-color: #fbbd08;
}
.ui.inverted.yellow.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.yellow.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.yellow.menu .active.item {
  background-color: #eaae00;
}
.ui.ui.ui.inverted.menu .olive.active.item,
.ui.ui.inverted.olive.menu {
  background-color: #b5cc18;
}
.ui.inverted.olive.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.olive.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.olive.menu .active.item {
  background-color: #a7bd0d;
}
.ui.ui.ui.inverted.menu .green.active.item,
.ui.ui.inverted.green.menu {
  background-color: #21ba45;
}
.ui.inverted.green.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.green.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.green.menu .active.item {
  background-color: #16ab39;
}
.ui.ui.ui.inverted.menu .teal.active.item,
.ui.ui.inverted.teal.menu {
  background-color: #00b5ad;
}
.ui.inverted.teal.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.teal.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.teal.menu .active.item {
  background-color: #009c95;
}
.ui.ui.ui.inverted.menu .blue.active.item,
.ui.ui.inverted.blue.menu {
  background-color: #2185d0;
}
.ui.inverted.blue.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.blue.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.blue.menu .active.item {
  background-color: #1678c2;
}
.ui.ui.ui.inverted.menu .violet.active.item,
.ui.ui.inverted.violet.menu {
  background-color: #6435c9;
}
.ui.inverted.violet.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.violet.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.violet.menu .active.item {
  background-color: #5829bb;
}
.ui.ui.ui.inverted.menu .purple.active.item,
.ui.ui.inverted.purple.menu {
  background-color: #a333c8;
}
.ui.inverted.purple.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.purple.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.purple.menu .active.item {
  background-color: #9627ba;
}
.ui.ui.ui.inverted.menu .pink.active.item,
.ui.ui.inverted.pink.menu {
  background-color: #e03997;
}
.ui.inverted.pink.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.pink.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.pink.menu .active.item {
  background-color: #e61a8d;
}
.ui.ui.ui.inverted.menu .brown.active.item,
.ui.ui.inverted.brown.menu {
  background-color: #a5673f;
}
.ui.inverted.brown.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.brown.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.brown.menu .active.item {
  background-color: #975b33;
}
.ui.ui.ui.inverted.menu .grey.active.item,
.ui.ui.inverted.grey.menu {
  background-color: #767676;
}
.ui.inverted.grey.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.grey.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.grey.menu .active.item {
  background-color: #838383;
}
.ui.ui.ui.inverted.menu .black.active.item,
.ui.ui.inverted.black.menu {
  background-color: #1b1c1d;
}
.ui.inverted.black.menu .item::before {
  background-color: rgba(34, 36, 38, 0.1);
}
.ui.ui.inverted.black.menu .active.item {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui.inverted.pointing.black.menu .active.item {
  background-color: #27292a;
}
.ui.ui.ui.inverted.pointing.menu .active.item::after {
  background-color: inherit;
}
/* --------------
         Fitted
    --------------- */
.ui.fitted.menu .item,
.ui.fitted.menu .item .menu .item,
.ui.menu .fitted.item {
  padding: 0;
}
.ui.horizontally.fitted.menu .item,
.ui.horizontally.fitted.menu .item .menu .item,
.ui.menu .horizontally.fitted.item {
  padding-top: 0.92857143em;
  padding-bottom: 0.92857143em;
}
.ui.vertically.fitted.menu .item,
.ui.vertically.fitted.menu .item .menu .item,
.ui.menu .vertically.fitted.item {
  padding-left: 1.14285714em;
  padding-right: 1.14285714em;
}
/* --------------
       Borderless
    --------------- */
.ui.borderless.menu .item::before,
.ui.borderless.menu .item .menu .item::before,
.ui.menu .borderless.item::before {
  background: none !important;
}
/* -------------------
           Compact
    -------------------- */
.ui.compact.menu {
  display: inline-flex;
  margin: 0;
  vertical-align: middle;
}
.ui.compact.vertical.menu {
  /* IE hack to make dropdown icons appear inline */
  display: -ms-inline-flexbox !important;
  display: inline-block;
}
.ui.compact.menu:not(.secondary) .item:last-child {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui.compact.menu .item:last-child::before {
  display: none;
}
.ui.compact.vertical.menu {
  width: auto !important;
}
.ui.compact.vertical.menu .item:last-child::before {
  display: block;
}
/* -------------------
            Fluid
    -------------------- */
.ui.menu.fluid,
.ui.vertical.menu.fluid {
  width: 100% !important;
}
/* -------------------
          Evenly Sized
    -------------------- */
.ui[class*="equal width"].menu > .item {
  flex: 1;
}
.ui[class*="equal width"].menu > .item,
.ui.item.menu,
.ui.item.menu .item {
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center;
  justify-content: center;
}
.ui.attached[class*="equal width"].menu:not(.tabular),
.ui.attached.item.menu:not(.tabular) {
  margin: 0 -1px !important;
}
.ui[class*="equal width"].menu > .item:last-child::before,
.ui.item.menu .item:last-child::before {
  display: none;
}
.ui.menu.two.item .item {
  width: 50%;
}
.ui.menu.three.item .item {
  width: 33.333%;
}
.ui.menu.four.item .item {
  width: 25%;
}
.ui.menu.five.item .item {
  width: 20%;
}
.ui.menu.six.item .item {
  width: 16.666%;
}
.ui.menu.seven.item .item {
  width: 14.285%;
}
.ui.menu.eight.item .item {
  width: 12.5%;
}
.ui.menu.nine.item .item {
  width: 11.11%;
}
.ui.menu.ten.item .item {
  width: 10%;
}
.ui.menu.eleven.item .item {
  width: 9.09%;
}
.ui.menu.twelve.item .item {
  width: 8.333%;
}
/* --------------
         Fixed
    --------------- */
.ui.menu.fixed {
  position: fixed;
  z-index: 101;
  margin: 0;
  width: 100%;
}
.ui.menu.fixed,
.ui.menu.fixed .item:first-child,
.ui.menu.fixed .item:last-child {
  border-radius: 0 !important;
}
.ui.fixed.menu,
.ui[class*="top fixed"].menu {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
}
.ui[class*="top fixed"].menu {
  border-top: none;
  border-left: none;
  border-right: none;
}
.ui[class*="right fixed"].menu {
  border-top: none;
  border-bottom: none;
  border-right: none;
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
  width: auto;
  height: 100%;
}
.ui[class*="bottom fixed"].menu {
  border-bottom: none;
  border-left: none;
  border-right: none;
  bottom: 0;
  left: 0;
  top: auto;
  right: auto;
}
.ui[class*="left fixed"].menu {
  border-top: none;
  border-bottom: none;
  border-left: none;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  width: auto;
  height: 100%;
}
/* Coupling with Grid */
.ui.fixed.menu + .ui.grid {
  padding-top: 2.75rem;
}
/* -------------------
           Pointing
    -------------------- */
.ui.pointing.menu .item::after {
  visibility: hidden;
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  background: none;
  margin: 0.5px 0 0;
  width: 0.57142857em;
  height: 0.57142857em;
  border: none;
  border-bottom: 1px solid #d4d4d5;
  border-right: 1px solid #d4d4d5;
  z-index: 2;
  transition: background 0.1s ease;
}
.ui.vertical.pointing.menu .item::after {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  transform: translateX(50%) translateY(-50%) rotate(45deg);
  margin: 0 -0.5px 0 0;
  border: none;
  border-top: 1px solid #d4d4d5;
  border-right: 1px solid #d4d4d5;
}
.ui.pointing.menu .ui.dropdown .menu .item::after,
.ui.vertical.pointing.menu .ui.dropdown .menu .item::after {
  display: none;
}
/* Active */
.ui.pointing.menu .active.item::after {
  visibility: visible;
}
.ui.pointing.menu .active.dropdown.item::after {
  visibility: hidden;
}
/* Don't double up pointers */
.ui.pointing.menu .dropdown.active.item::after,
.ui.pointing.menu .active.item .menu .active.item::after {
  display: none;
}
/* Colors */
.ui.pointing.menu .active.item:hover::after {
  background-color: #f2f2f2;
}
.ui.pointing.menu .active.item::after {
  background-color: #f2f2f2;
}
.ui.pointing.menu .active.item:hover::after {
  background-color: #f2f2f2;
}
.ui.vertical.pointing.menu .active.item:hover::after {
  background-color: #f2f2f2;
}
.ui.vertical.pointing.menu .active.item::after {
  background-color: #f2f2f2;
}
.ui.vertical.pointing.menu .menu .active.item::after {
  background-color: #FFFFFF;
}
@media only screen and (max-width: 767.98px) {
  .ui.stackable.grid .ui.fluid.vertical.pointing.menu .active.item::after {
    display: none;
  }
}
.ui.inverted.pointing.menu .primary.active.item::after {
  background-color: #6C3667;
}
.ui.inverted.pointing.menu .secondary.active.item::after {
  background-color: #88d317;
}
.ui.inverted.pointing.menu .red.active.item::after {
  background-color: #db2828;
}
.ui.inverted.pointing.menu .orange.active.item::after {
  background-color: #f2711c;
}
.ui.inverted.pointing.menu .yellow.active.item::after {
  background-color: #fbbd08;
}
.ui.inverted.pointing.menu .olive.active.item::after {
  background-color: #b5cc18;
}
.ui.inverted.pointing.menu .green.active.item::after {
  background-color: #21ba45;
}
.ui.inverted.pointing.menu .teal.active.item::after {
  background-color: #00b5ad;
}
.ui.inverted.pointing.menu .blue.active.item::after {
  background-color: #2185d0;
}
.ui.inverted.pointing.menu .violet.active.item::after {
  background-color: #6435c9;
}
.ui.inverted.pointing.menu .purple.active.item::after {
  background-color: #a333c8;
}
.ui.inverted.pointing.menu .pink.active.item::after {
  background-color: #e03997;
}
.ui.inverted.pointing.menu .brown.active.item::after {
  background-color: #a5673f;
}
.ui.inverted.pointing.menu .grey.active.item::after {
  background-color: #767676;
}
.ui.inverted.pointing.menu .black.active.item::after {
  background-color: #1b1c1d;
}
/* --------------
        Attached
    --------------- */
/* Middle */
.ui.attached.menu {
  top: 0;
  bottom: 0;
  border-radius: 0;
  margin: 0 -1px;
  width: calc(100% + 2px);
  max-width: calc(100% + 2px);
  box-shadow: none;
}
.ui.attached + .ui.attached.menu:not(.top) {
  border-top: none;
}
/* Top */
.ui[class*="top attached"].menu {
  bottom: 0;
  margin-bottom: 0;
  top: 0;
  margin-top: 1rem;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.menu[class*="top attached"]:first-child {
  margin-top: 0;
}
/* Bottom */
.ui[class*="bottom attached"].menu {
  bottom: 0;
  margin-top: 0;
  top: 0;
  margin-bottom: 1rem;
  box-shadow: none;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui[class*="bottom attached"].menu:last-child {
  margin-bottom: 0;
}
/* Attached Menu Item */
.ui.top.attached.menu > .item:first-child {
  border-radius: 0.28571429rem 0 0 0;
}
.ui.bottom.attached.menu > .item:first-child {
  border-radius: 0 0 0 0.28571429rem;
}
/* Tabular Attached */
.ui.attached.menu:not(.tabular):not(.text) {
  border: 1px solid #d4d4d5;
}
.ui.attached.inverted.menu {
  border: none;
}
.ui[class*="top attached"].inverted.tabular.menu {
  border-bottom: 1px solid #555;
}
.ui.attached.tabular.menu {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.ui.wrapping.menu {
  flex-wrap: wrap;
}
.ui.wrapping.menu .item::before {
  right: auto;
  left: 0;
}
.ui.wrapping.menu .item:first-child::before {
  display: none;
}
.ui.wrapping.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) .item:last-of-type,
.ui.wrapping.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) .item:last-child {
  border-right: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.wrapped.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) .item:first-child {
  border-bottom-left-radius: 0;
}
.ui.wrapped.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) .item:last-child {
  border-top-right-radius: 0;
}
/* --------------
     Sizes
--------------- */
.ui.menu {
  font-size: 1rem;
}
.ui.vertical.menu {
  width: 15rem;
}
.ui.mini.menu,
.ui.mini.menu .dropdown,
.ui.mini.menu .dropdown .menu > .item {
  font-size: 0.78571429rem;
}
.ui.mini.vertical.menu:not(.icon) {
  width: 9rem;
}
.ui.tiny.menu,
.ui.tiny.menu .dropdown,
.ui.tiny.menu .dropdown .menu > .item {
  font-size: 0.85714286rem;
}
.ui.tiny.vertical.menu:not(.icon) {
  width: 11rem;
}
.ui.small.menu,
.ui.small.menu .dropdown,
.ui.small.menu .dropdown .menu > .item {
  font-size: 0.92857143rem;
}
.ui.small.vertical.menu:not(.icon) {
  width: 13rem;
}
.ui.large.menu,
.ui.large.menu .dropdown,
.ui.large.menu .dropdown .menu > .item {
  font-size: 1.07142857rem;
}
.ui.large.vertical.menu:not(.icon) {
  width: 18rem;
}
.ui.big.menu,
.ui.big.menu .dropdown,
.ui.big.menu .dropdown .menu > .item {
  font-size: 1.14285714rem;
}
.ui.big.vertical.menu:not(.icon) {
  width: 20rem;
}
.ui.huge.menu,
.ui.huge.menu .dropdown,
.ui.huge.menu .dropdown .menu > .item {
  font-size: 1.21428571rem;
}
.ui.huge.vertical.menu:not(.icon) {
  width: 22rem;
}
.ui.massive.menu,
.ui.massive.menu .dropdown,
.ui.massive.menu .dropdown .menu > .item {
  font-size: 1.28571429rem;
}
.ui.massive.vertical.menu:not(.icon) {
  width: 25rem;
}
/* -------------------
  Inverted dropdowns
-------------------- */
.ui.menu .ui.inverted.inverted.dropdown.item .menu {
  background: #1b1c1d;
  box-shadow: none;
}
.ui.menu .ui.inverted.dropdown .menu > .item {
  color: rgba(255, 255, 255, 0.8) !important;
}
.ui.menu .ui.inverted.dropdown .menu > .active.item {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
.ui.menu .ui.inverted.dropdown .menu > .item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
.ui.menu .ui.inverted.dropdown .menu > .selected.item {
  background: rgba(255, 255, 255, 0.15) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
/* Vertical */
.ui.vertical.menu .inverted.dropdown.item .menu {
  box-shadow: none;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
.ui.top.menu .active.item {
  background: #6C3667;
  color: #FFFFFF;
}
.ui.top.menu .dropdown.item:hover,
.ui.top.menu .link.item:hover,
.ui.top.menu a.item:hover {
  background: #6C3667;
  color: #FFFFFF;
}
/* Active Hover */
.ui.top.menu .active.item:hover {
  background: #6C3667;
  color: #FFFFFF;
}
/*!
 * # Fomantic-UI - Message
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Message
*******************************/
/* -------------------
       Elements
-------------------- */
/* Header */
/* Paragraph */
/* List */
/* Icon */
/* Close Icon */
/* -------------------
        Types
-------------------- */
/* Icon Message */
/* Attached */
/* Floating */
/* Colors */
/* Warning / Positive / Negative / Info */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Message
*******************************/
.ui.message {
  position: relative;
  min-height: 1em;
  margin: 1em 0;
  background: #f8f8f9;
  padding: 1em 1.5em;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
  border-radius: 0.28571429rem;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.message:first-child {
  margin-top: 0;
}
.ui.message:last-child {
  margin-bottom: 0;
}
/* --------------
     Content
--------------- */
/* Header */
.ui.message .header {
  display: block;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  margin: -0.14285714em 0 0 0;
}
/* Default font size */
.ui.message .header:not(.ui) {
  font-size: 1.14285714em;
}
/* Paragraph */
.ui.message p {
  opacity: 0.85;
  margin: 0.75em 0;
}
.ui.message p:first-child {
  margin-top: 0;
}
.ui.message p:last-child {
  margin-bottom: 0;
}
.ui.message .header + p {
  margin-top: 0.25em;
}
/* List */
.ui.message .list:not(.ui) {
  text-align: left;
  padding: 0;
  opacity: 0.85;
  list-style-position: inside;
  margin: 0.5em 0 0;
}
.ui.message .list:not(.ui):first-child {
  margin-top: 0;
}
.ui.message .list:not(.ui):last-child {
  margin-bottom: 0;
}
.ui.message .list:not(.ui) li {
  position: relative;
  list-style-type: none;
  margin: 0 0 0.3em 1em;
  padding: 0;
}
.ui.message .list:not(.ui) li::before {
  position: absolute;
  content: "•";
  left: -1em;
  height: 100%;
  vertical-align: baseline;
}
.ui.message .list:not(.ui) li:last-child {
  margin-bottom: 0;
}
/* Icon */
.ui.icon.message > .icons,
.ui.icon.message > i.icon {
  margin-right: 0.6em;
}
.ui.icon.message > .icons:last-child,
.ui.icon.message > i.icon:last-child {
  margin: 0 0 0 0.6em;
}
/* Close Icon */
.ui.message > .close.icon {
  cursor: pointer;
  position: absolute;
  margin: 0;
  top: 0.78575em;
  right: 0.5em;
  opacity: 0.7;
  transition: opacity 0.1s ease;
}
.ui.message > .close.icon:hover {
  opacity: 1;
}
/* First / Last Element */
.ui.message > :first-child {
  margin-top: 0;
}
.ui.message > :last-child {
  margin-bottom: 0;
}
/*******************************
            Coupling
*******************************/
.ui.dropdown .menu > .message {
  margin: 0 -1px;
}
/*******************************
            States
*******************************/
/* --------------
    Visible
--------------- */
.ui.visible.visible.visible.visible.message {
  display: block;
}
.ui.icon.visible.visible.visible.visible.message {
  display: flex;
}
/* --------------
     Hidden
--------------- */
.ui.hidden.hidden.hidden.hidden.message {
  display: none;
}
/*******************************
            Variations
*******************************/
.ui.centered.message,
.ui.center.aligned.message {
  text-align: center;
  justify-content: center;
}
.ui.centered.message > .content,
.ui.center.aligned.message > .content {
  flex: 0 0 auto;
}
.ui.right.aligned.message {
  text-align: right;
}
/* --------------
        Compact
    --------------- */
.ui.compact.message {
  display: inline-block;
  max-width: 100%;
}
.ui.compact.icon.message {
  display: inline-flex;
  width: auto;
}
/* --------------
        Attached
    --------------- */
.ui.attached.message {
  margin-bottom: -1px;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  margin-left: -1px;
  margin-right: -1px;
}
.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
  margin-top: -1px;
  border-radius: 0;
}
.ui.bottom.attached.message {
  margin-top: -1px;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset, 0 1px 2px 0 rgba(34, 36, 38, 0.15);
}
.ui.bottom.attached.message:not(:last-child) {
  margin-bottom: 1em;
}
.ui.attached.icon.message {
  width: auto;
}
/* --------------
          Icon
    --------------- */
.ui.icon.message {
  display: flex;
  width: 100%;
  align-items: center;
}
.ui.icon.message > .icons,
.ui.icon.message > i.icon:not(.close) {
  display: block;
  flex: 0 0 auto;
  width: auto;
  line-height: 1;
  vertical-align: middle;
  font-size: 3em;
  opacity: 0.8;
}
.ui.icon.message > .content {
  display: block;
  flex: 1 1 auto;
  vertical-align: middle;
}
.ui.icon.message > .icons + .content,
.ui.icon.message > i.icon:not(.close) + .content {
  padding-left: 0;
}
.ui.icon.message > i.circular {
  width: 1em;
}
/* --------------
        Floating
    --------------- */
.ui.floating.message {
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.22) inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
/* --------------
     Colors
--------------- */
/* --------------
     Types
--------------- */
/* Colors */
.ui.positive.message {
  background-color: #fcfff5;
  color: #2c662d;
}
.ui.positive.message,
.ui.attached.positive.message {
  box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.positive.message {
  box-shadow: 0 0 0 1px #a3c293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.positive.message .header {
  color: #1a531b;
}
.ui.inverted.positive.message,
.ui.inverted.positive.message .header {
  color: #a3c293;
}
.ui.negative.message {
  background-color: #fff6f6;
  color: #9f3a38;
}
.ui.negative.message,
.ui.attached.negative.message {
  box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.negative.message {
  box-shadow: 0 0 0 1px #e0b4b4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.negative.message .header {
  color: #912d2b;
}
.ui.inverted.negative.message,
.ui.inverted.negative.message .header {
  color: #e0b4b4;
}
.ui.error.message {
  background-color: #fff6f6;
  color: #9f3a38;
}
.ui.error.message,
.ui.attached.error.message {
  box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.error.message {
  box-shadow: 0 0 0 1px #e0b4b4 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.error.message .header {
  color: #912d2b;
}
.ui.inverted.error.message,
.ui.inverted.error.message .header {
  color: #ecd1d1;
}
.ui.info.message {
  background-color: #f8ffff;
  color: #276f86;
}
.ui.info.message,
.ui.attached.info.message {
  box-shadow: 0 0 0 1px #a9d5de inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.info.message {
  box-shadow: 0 0 0 1px #a9d5de inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.info.message .header {
  color: #0e566c;
}
.ui.inverted.info.message,
.ui.inverted.info.message .header {
  color: #c6e3e9;
}
.ui.success.message {
  background-color: #fcfff5;
  color: #2c662d;
}
.ui.success.message,
.ui.attached.success.message {
  box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.success.message {
  box-shadow: 0 0 0 1px #a3c293 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.success.message .header {
  color: #1a531b;
}
.ui.inverted.success.message,
.ui.inverted.success.message .header {
  color: #b9d1ad;
}
.ui.warning.message {
  background-color: #fffaf3;
  color: #573a08;
}
.ui.warning.message,
.ui.attached.warning.message {
  box-shadow: 0 0 0 1px #c9ba9b inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.warning.message {
  box-shadow: 0 0 0 1px #c9ba9b inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.warning.message .header {
  color: #794b02;
}
.ui.inverted.warning.message,
.ui.inverted.warning.message .header {
  color: #d7ccb5;
}
.ui.primary.message {
  background-color: #dff0ff;
  color: rgba(255, 255, 255, 0.9);
}
.ui.primary.message,
.ui.attached.primary.message {
  box-shadow: 0 0 0 1px #6C3667 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.primary.message {
  box-shadow: 0 0 0 1px #6C3667 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.primary.message .header {
  color: rgba(242, 242, 242, 0.9);
}
.ui.secondary.message {
  background-color: #f4f4f4;
  color: rgba(255, 255, 255, 0.9);
}
.ui.secondary.message,
.ui.attached.secondary.message {
  box-shadow: 0 0 0 1px #88d317 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.secondary.message {
  box-shadow: 0 0 0 1px #88d317 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.secondary.message .header {
  color: rgba(242, 242, 242, 0.9);
}
.ui.red.message {
  background-color: #ffe8e6;
  color: #db2828;
}
.ui.red.message,
.ui.attached.red.message {
  box-shadow: 0 0 0 1px #db2828 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.red.message {
  box-shadow: 0 0 0 1px #db2828 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.red.message .header {
  color: #c82121;
}
.ui.orange.message {
  background-color: #ffedde;
  color: #f2711c;
}
.ui.orange.message,
.ui.attached.orange.message {
  box-shadow: 0 0 0 1px #f2711c inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.orange.message {
  box-shadow: 0 0 0 1px #f2711c inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.orange.message .header {
  color: #e7640d;
}
.ui.yellow.message {
  background-color: #fff8db;
  color: #b58105;
}
.ui.yellow.message,
.ui.attached.yellow.message {
  box-shadow: 0 0 0 1px #b58105 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.yellow.message {
  box-shadow: 0 0 0 1px #b58105 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.yellow.message .header {
  color: #9c6f04;
}
.ui.olive.message {
  background-color: #fbfdef;
  color: #8abc1e;
}
.ui.olive.message,
.ui.attached.olive.message {
  box-shadow: 0 0 0 1px #8abc1e inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.olive.message {
  box-shadow: 0 0 0 1px #8abc1e inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.olive.message .header {
  color: #7aa61a;
}
.ui.green.message {
  background-color: #e5f9e7;
  color: #1ebc30;
}
.ui.green.message,
.ui.attached.green.message {
  box-shadow: 0 0 0 1px #1ebc30 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.green.message {
  box-shadow: 0 0 0 1px #1ebc30 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.green.message .header {
  color: #1aa62a;
}
.ui.teal.message {
  background-color: #e1f7f7;
  color: #10a3a3;
}
.ui.teal.message,
.ui.attached.teal.message {
  box-shadow: 0 0 0 1px #10a3a3 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.teal.message {
  box-shadow: 0 0 0 1px #10a3a3 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.teal.message .header {
  color: #0e8c8c;
}
.ui.blue.message {
  background-color: #dff0ff;
  color: #2185d0;
}
.ui.blue.message,
.ui.attached.blue.message {
  box-shadow: 0 0 0 1px #2185d0 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.blue.message {
  box-shadow: 0 0 0 1px #2185d0 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.blue.message .header {
  color: #1e77ba;
}
.ui.violet.message {
  background-color: #eae7ff;
  color: #6435c9;
}
.ui.violet.message,
.ui.attached.violet.message {
  box-shadow: 0 0 0 1px #6435c9 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.violet.message {
  box-shadow: 0 0 0 1px #6435c9 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.violet.message .header {
  color: #5a30b5;
}
.ui.purple.message {
  background-color: #f6e7ff;
  color: #a333c8;
}
.ui.purple.message,
.ui.attached.purple.message {
  box-shadow: 0 0 0 1px #a333c8 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.purple.message {
  box-shadow: 0 0 0 1px #a333c8 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.purple.message .header {
  color: #922eb4;
}
.ui.pink.message {
  background-color: #ffe3fb;
  color: #e03997;
}
.ui.pink.message,
.ui.attached.pink.message {
  box-shadow: 0 0 0 1px #e03997 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.pink.message {
  box-shadow: 0 0 0 1px #e03997 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.pink.message .header {
  color: #dd238b;
}
.ui.brown.message {
  background-color: #f1e2d3;
  color: #a5673f;
}
.ui.brown.message,
.ui.attached.brown.message {
  box-shadow: 0 0 0 1px #a5673f inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.brown.message {
  box-shadow: 0 0 0 1px #a5673f inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.brown.message .header {
  color: #935b38;
}
.ui.grey.message {
  background-color: #f4f4f4;
  color: #767676;
}
.ui.grey.message,
.ui.attached.grey.message {
  box-shadow: 0 0 0 1px #767676 inset, 0 0 0 0 rgba(0, 0, 0, 0);
}
.ui.floating.grey.message {
  box-shadow: 0 0 0 1px #767676 inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.grey.message .header {
  color: #696969;
}
.ui.black.message {
  background-color: #1b1c1d;
  color: rgba(255, 255, 255, 0.9);
}
.ui.black.message .header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.message {
  background-color: #1b1c1d;
  color: rgba(255, 255, 255, 0.9);
}
/* --------------
     Sizes
--------------- */
.ui.message {
  font-size: 1em;
}
.ui.mini.message {
  font-size: 0.78571429em;
}
.ui.tiny.message {
  font-size: 0.85714286em;
}
.ui.small.message {
  font-size: 0.92857143em;
}
.ui.large.message {
  font-size: 1.14285714em;
}
.ui.big.message {
  font-size: 1.28571429em;
}
.ui.huge.message {
  font-size: 1.42857143em;
}
.ui.massive.message {
  font-size: 1.71428571em;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
        Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Table
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Table
*******************************/
/* -------------------
       Element
-------------------- */
/* --------------
     Parts
--------------- */
/* Table Row */
/* Table Cell */
/* Table Header */
/* Table Footer */
/* Responsive Size */
/* -------------------
       Types
-------------------- */
/* Definition */
/* --------------
    Couplings
--------------- */
/* --------------
     States
--------------- */
/* Positive */
/* Negative */
/* Error */
/* Warning */
/* Active */
/* --------------
     Types
--------------- */
/* Attached */
/* Striped */
/* Selectable */
/* Sortable */
/* Colors */
/* Inverted */
/* Basic */
/* Padded */
/* Compact */
/* Scrolling */
/* Stuck */
/* Sizes */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Table
*******************************/
/* Prototype */
.ui.table {
  width: 100%;
  background: #FFFFFF;
  margin: 1em 0;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
  border-radius: 0.28571429rem;
  text-align: left;
  vertical-align: middle;
  color: rgba(0, 0, 0, 0.87);
  border-collapse: separate;
  border-spacing: 0;
}
.ui.table:first-child {
  margin-top: 0;
}
.ui.table:last-child {
  margin-bottom: 0;
}
.ui.table > thead,
.ui.table > tbody {
  text-align: inherit;
  vertical-align: inherit;
}
/*******************************
             Parts
*******************************/
/* Table Content */
.ui.table th,
.ui.table td {
  transition: background 0.1s ease, color 0.1s ease;
}
/* Rowspan helper class */
.ui.table th.rowspanned,
.ui.table td.rowspanned {
  display: none;
}
/* Headers */
.ui.table > thead {
  box-shadow: none;
}
.ui.table > thead > tr > th {
  cursor: auto;
  background: #f9fafb;
  text-align: inherit;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.92857143em 0.78571429em;
  vertical-align: inherit;
  font-style: none;
  font-weight: bold;
  text-transform: none;
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
  border-left: none;
}
.ui.table > thead > tr > th:first-child {
  border-left: none;
}
.ui.table > thead > tr:first-child > th:first-child {
  border-radius: 0.28571429rem 0 0 0;
}
.ui.table > thead > tr:first-child > th:last-child {
  border-radius: 0 0.28571429rem 0 0;
}
.ui.table > thead > tr:first-child > th:only-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
/* Footer */
.ui.table > tfoot {
  box-shadow: none;
}
.ui.table > tfoot > tr > th,
.ui.table > tfoot > tr > td {
  cursor: auto;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  background: #f9fafb;
  text-align: inherit;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.78571429em 0.78571429em;
  vertical-align: inherit;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
}
.ui.table > tfoot > tr > th:first-child,
.ui.table > tfoot > tr > td:first-child {
  border-left: none;
}
.ui.table > tfoot > tr:last-child > th:first-child,
.ui.table > tfoot > tr:last-child > td:first-child {
  border-radius: 0 0 0 0.28571429rem;
}
.ui.table > tfoot > tr:last-child > th:last-child,
.ui.table > tfoot > tr:last-child > td:last-child {
  border-radius: 0 0 0.28571429rem 0;
}
.ui.table > tfoot > tr:last-child > th:only-child,
.ui.table > tfoot > tr:last-child > td:only-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* Table Row */
.ui.table > tr > td,
.ui.table > tbody > tr > td {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.table > tr:first-child > td,
.ui.table > tbody > tr:first-child > td {
  border-top: none;
}
/* Repeated tbody */
.ui.table > tbody + tbody tr:first-child > td {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
}
/* Table Cells */
.ui.table > tbody > tr > td,
.ui.table > tr > td {
  padding: 0.78571429em 0.78571429em;
  text-align: inherit;
}
/* Icons */
.ui.table > i.icon {
  vertical-align: baseline;
}
.ui.table > i.icon:only-child {
  margin: 0;
}
/* Table Segment */
.ui.table.segment {
  padding: 0;
}
.ui.table.segment::after {
  display: none;
}
.ui.table.segment.stacked::after {
  display: block;
}
/* Responsive */
@media only screen and (max-width: 767.98px) {
  .ui.table:not(.unstackable) {
    width: 100%;
    padding: 0;
  }
  .ui.table:not(.unstackable) > thead,
  .ui.table:not(.unstackable) > thead > tr,
  .ui.table:not(.unstackable) > tfoot,
  .ui.table:not(.unstackable) > tfoot > tr,
  .ui.table:not(.unstackable) > tbody,
  .ui.table:not(.unstackable) > tr,
  .ui.table:not(.unstackable) > tbody > tr,
  .ui.table:not(.unstackable) > tr > th:not(.rowspanned),
  .ui.table:not(.unstackable) > thead > tr > th:not(.rowspanned),
  .ui.table:not(.unstackable) > tbody > tr > th:not(.rowspanned),
  .ui.table:not(.unstackable) > tfoot > tr > th:not(.rowspanned),
  .ui.table:not(.unstackable) > tr > td:not(.rowspanned),
  .ui.table:not(.unstackable) > tbody > tr > td:not(.rowspanned),
  .ui.table:not(.unstackable) > tfoot > tr > td:not(.rowspanned) {
    display: block !important;
    width: auto !important;
  }
  .ui.table:not(.unstackable) > thead {
    display: block;
  }
  .ui.table:not(.unstackable) > tfoot {
    display: block;
  }
  .ui.ui.ui.ui.table:not(.unstackable) > tr,
  .ui.ui.ui.ui.table:not(.unstackable) > thead > tr,
  .ui.ui.ui.ui.table:not(.unstackable) > tbody > tr,
  .ui.ui.ui.ui.table:not(.unstackable) > tfoot > tr {
    padding-top: 1em;
    padding-bottom: 1em;
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) > tr > th,
  .ui.ui.ui.ui.table:not(.unstackable) > thead > tr > th,
  .ui.ui.ui.ui.table:not(.unstackable) > tbody > tr > th,
  .ui.ui.ui.ui.table:not(.unstackable) > tfoot > tr > th,
  .ui.ui.ui.ui.table:not(.unstackable) > tr > td,
  .ui.ui.ui.ui.table:not(.unstackable) > tbody > tr > td,
  .ui.ui.ui.ui.table:not(.unstackable) > tfoot > tr > td {
    background: none;
    border: none;
    padding: 0.25em 0.75em;
    box-shadow: none;
  }
  .ui.table:not(.unstackable) > tr > th:first-child,
  .ui.table:not(.unstackable) > thead > tr > th:first-child,
  .ui.table:not(.unstackable) > tbody > tr > th:first-child,
  .ui.table:not(.unstackable) > tfoot > tr > th:first-child,
  .ui.table:not(.unstackable) > tr > td:first-child,
  .ui.table:not(.unstackable) > tbody > tr > td:first-child,
  .ui.table:not(.unstackable) > tfoot > tr > td:first-child {
    font-weight: bold;
  }
  /* Definition Table */
  .ui.definition.table:not(.unstackable) > thead > tr > th:first-child {
    box-shadow: none !important;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="primary marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6C3667 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="primary marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6C3667 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="primary marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #54c8ff inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="primary marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #54c8ff inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="secondary marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #88d317 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="secondary marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #88d317 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="secondary marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #545454 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="secondary marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #545454 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="red marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #db2828 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="red marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #db2828 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="red marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff695e inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="red marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff695e inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="orange marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #f2711c inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="orange marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #f2711c inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="orange marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff851b inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="orange marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff851b inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="yellow marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #fbbd08 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="yellow marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #fbbd08 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="yellow marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ffe21f inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="yellow marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ffe21f inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="olive marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #b5cc18 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="olive marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #b5cc18 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="olive marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #d9e778 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="olive marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #d9e778 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="green marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #21ba45 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="green marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #21ba45 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="green marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #2ecc40 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="green marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #2ecc40 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="teal marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #00b5ad inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="teal marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #00b5ad inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="teal marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6dffff inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="teal marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6dffff inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="blue marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #2185d0 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="blue marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #2185d0 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="blue marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #54c8ff inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="blue marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #54c8ff inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="violet marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6435c9 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="violet marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6435c9 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="violet marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a291fb inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="violet marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a291fb inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="purple marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a333c8 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="purple marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a333c8 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="purple marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #dc73ff inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="purple marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #dc73ff inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="pink marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #e03997 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="pink marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #e03997 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="pink marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff8edf inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="pink marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff8edf inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="brown marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a5673f inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="brown marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a5673f inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="brown marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #d67c1c inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="brown marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #d67c1c inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="grey marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #767676 inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="grey marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #767676 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="grey marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #dcddde inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="grey marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #dcddde inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="black marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #1b1c1d inset;
  }
  .ui.ui.ui.ui.table:not(.unstackable) tr[class*="black marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #1b1c1d inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="black marked"].left {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #545454 inset;
  }
  .ui.ui.ui.ui.inverted.table:not(.unstackable) tr[class*="black marked"].right {
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #545454 inset;
  }
  .ui.scrolling.table.short > tbody {
    max-height: 6.74983929em;
  }
  .resizable.ui.scrolling.table.short > tbody {
    height: 6.74983929em;
  }
  .ui.scrolling.table[class*="very short"] > tbody {
    max-height: 4.49989286em;
  }
  .resizable.ui.scrolling.table[class*="very short"] > tbody {
    height: 4.49989286em;
  }
  .ui.scrolling.table > tbody {
    max-height: 8.99978571em;
  }
  .resizable.ui.scrolling.table > tbody {
    height: 8.99978571em;
  }
  .ui.scrolling.table.long > tbody {
    max-height: 17.99957143em;
  }
  .resizable.ui.scrolling.table.long > tbody {
    height: 17.99957143em;
  }
  .ui.scrolling.table[class*="very long"] > tbody {
    max-height: 26.99935714em;
  }
  .resizable.ui.scrolling.table[class*="very long"] > tbody {
    height: 26.99935714em;
  }
  .ui.overflowing.table.short {
    max-height: 11.24973214em;
  }
  .ui.overflowing.table[class*="very short"] {
    max-height: 7.49982143em;
  }
  .ui.overflowing.table {
    max-height: 14.99964286em;
  }
  .ui.overflowing.table.long {
    max-height: 29.99928571em;
  }
  .ui.overflowing.table[class*="very long"] {
    max-height: 44.99892857em;
  }
}
/* --------------
      Scrolling
    --------------- */
@media only screen and (min-width: 768px) {
  .ui.scrolling.table.short > tbody {
    max-height: 8.99978571em;
  }
  .resizable.ui.scrolling.table.short > tbody {
    height: 8.99978571em;
  }
  .ui.scrolling.table[class*="very short"] > tbody {
    max-height: 5.99985714em;
  }
  .resizable.ui.scrolling.table[class*="very short"] > tbody {
    height: 5.99985714em;
  }
  .ui.scrolling.table > tbody {
    max-height: 11.99971429em;
  }
  .resizable.ui.scrolling.table > tbody {
    height: 11.99971429em;
  }
  .ui.scrolling.table.long > tbody {
    max-height: 23.99942857em;
  }
  .resizable.ui.scrolling.table.long > tbody {
    height: 23.99942857em;
  }
  .ui.scrolling.table[class*="very long"] > tbody {
    max-height: 35.99914286em;
  }
  .resizable.ui.scrolling.table[class*="very long"] > tbody {
    height: 35.99914286em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.scrolling.table.short > tbody {
    max-height: 13.49967857em;
  }
  .resizable.ui.scrolling.table.short > tbody {
    height: 13.49967857em;
  }
  .ui.scrolling.table[class*="very short"] > tbody {
    max-height: 8.99978571em;
  }
  .resizable.ui.scrolling.table[class*="very short"] > tbody {
    height: 8.99978571em;
  }
  .ui.scrolling.table > tbody {
    max-height: 17.99957143em;
  }
  .resizable.ui.scrolling.table > tbody {
    height: 17.99957143em;
  }
  .ui.scrolling.table.long > tbody {
    max-height: 35.99914286em;
  }
  .resizable.ui.scrolling.table.long > tbody {
    height: 35.99914286em;
  }
  .ui.scrolling.table[class*="very long"] > tbody {
    max-height: 53.99871429em;
  }
  .resizable.ui.scrolling.table[class*="very long"] > tbody {
    height: 53.99871429em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.scrolling.table.short > tbody {
    max-height: 17.99957143em;
  }
  .resizable.ui.scrolling.table.short > tbody {
    height: 17.99957143em;
  }
  .ui.scrolling.table[class*="very short"] > tbody {
    max-height: 11.99971429em;
  }
  .resizable.ui.scrolling.table[class*="very short"] > tbody {
    height: 11.99971429em;
  }
  .ui.scrolling.table > tbody {
    max-height: 23.99942857em;
  }
  .resizable.ui.scrolling.table > tbody {
    height: 23.99942857em;
  }
  .ui.scrolling.table.long > tbody {
    max-height: 47.99885714em;
  }
  .resizable.ui.scrolling.table.long > tbody {
    height: 47.99885714em;
  }
  .ui.scrolling.table[class*="very long"] > tbody {
    max-height: 71.99828571em;
  }
  .resizable.ui.scrolling.table[class*="very long"] > tbody {
    height: 71.99828571em;
  }
}
.ui.scrolling.table > thead,
.ui.scrolling.table > tfoot,
.ui.scrolling.table > tbody {
  display: block;
  overflow-y: scroll;
  overscroll-behavior: none;
}
.ui.scrolling.table > thead > tr,
.ui.scrolling.table > tfoot > tr,
.ui.scrolling.table > tbody > tr {
  display: table;
  table-layout: fixed;
  width: 100%;
}
@supports (-moz-appearance: none) {
  .ui.scrolling.table > thead,
  .ui.scrolling.table > tfoot,
  .ui.scrolling.table > tbody {
    scrollbar-width: thin;
  }
}
/* Camouflage scrollbars, we need them only to gain the same width as tbody */
.ui.scrolling.table > thead {
  background: #f9fafb;
  color: #f9fafb;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.scrolling.table > tfoot {
  background: #f9fafb;
  color: #f9fafb;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.inverted.scrolling.table > thead {
  background: rgba(0, 0, 0, 0.15);
  color: rgba(0, 0, 0, 0.15);
}
.ui.inverted.scrolling.table > tfoot {
  background: rgba(0, 0, 0, 0.15);
  color: rgba(0, 0, 0, 0.15);
}
.ui.scrolling.table > thead::-webkit-scrollbar-track,
.ui.scrolling.table > tfoot::-webkit-scrollbar-track {
  background: inherit;
  border-radius: 0.28571429rem;
}
@supports (-moz-appearance: none) {
  .ui.scrolling.table > thead,
  .ui.scrolling.table > tfoot {
    scrollbar-color: currentColor currentColor;
  }
}
/* IE scrollbar color needs hex values */
@media all and (-ms-high-contrast: none) {
  .ui.scrolling.table > thead,
  .ui.scrolling.table > tfoot {
    scrollbar-face-color: currentColor;
    scrollbar-shadow-color: currentColor;
    scrollbar-track-color: currentColor;
    scrollbar-arrow-color: currentColor;
  }
  .ui.scrolling.table > thead {
    color: #f9fafb;
  }
  .ui.scrolling.table > tfoot {
    color: #f9fafb;
  }
  .ui.inverted.scrolling.table > thead {
    color: #252525;
  }
  .ui.inverted.scrolling.table > tfoot {
    color: #252525;
  }
}
.ui.inverted.scrolling.table > tbody::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}
.ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
}
.ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(255, 255, 255, 0.15);
}
.ui.inverted.scrolling.table > tbody::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}
.ui.inverted.scrolling.table > tbody {
  /* IE11 */
  scrollbar-face-color: #656565;
  scrollbar-shadow-color: #656565;
  scrollbar-track-color: #323232;
  scrollbar-arrow-color: #323232;
}
@supports (-moz-appearance: none) {
  .ui.inverted.scrolling.table > tbody {
    /* firefox: first color thumb, second track */
    scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
  }
}
.ui.resizable.scrolling.table > tbody {
  resize: vertical;
  max-height: none;
}
/* --------------
      Overflowing
    --------------- */
.ui.overflowing.table {
  display: block;
  overflow: auto;
  overscroll-behavior: none;
}
@media only screen and (min-width: 768px) {
  .ui.overflowing.table.short {
    max-height: 13.49967857em;
  }
  .ui.overflowing.table[class*="very short"] {
    max-height: 8.99978571em;
  }
  .ui.overflowing.table {
    max-height: 17.99957143em;
  }
  .ui.overflowing.table.long {
    max-height: 35.99914286em;
  }
  .ui.overflowing.table[class*="very long"] {
    max-height: 53.99871429em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.overflowing.table.short {
    max-height: 17.99957143em;
  }
  .ui.overflowing.table[class*="very short"] {
    max-height: 11.99971429em;
  }
  .ui.overflowing.table {
    max-height: 23.99942857em;
  }
  .ui.overflowing.table.long {
    max-height: 47.99885714em;
  }
  .ui.overflowing.table[class*="very long"] {
    max-height: 71.99828571em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.overflowing.table.short {
    max-height: 22.49946429em;
  }
  .ui.overflowing.table[class*="very short"] {
    max-height: 14.99964286em;
  }
  .ui.overflowing.table {
    max-height: 29.99928571em;
  }
  .ui.overflowing.table.long {
    max-height: 59.99857143em;
  }
  .ui.overflowing.table[class*="very long"] {
    max-height: 89.99785714em;
  }
}
/*******************************
            Coupling
*******************************/
/* UI Image */
.ui.table .collapsing .image,
.ui.table .collapsing .image img {
  max-width: none;
}
/*******************************
             Types
*******************************/
/* --------------
    Complex
--------------- */
.ui.structured.table {
  border-collapse: collapse;
}
.ui.structured.table > thead > tr > th {
  border-left: none;
  border-right: none;
}
.ui.structured.sortable.table > thead > tr > th {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.structured.basic.table > tr > th,
.ui.structured.basic.table > thead > tr > th,
.ui.structured.basic.table > tbody > tr > th,
.ui.structured.basic.table > tfoot > tr > th {
  border-left: none;
  border-right: none;
}
.ui.structured.celled.table > tr > th,
.ui.structured.celled.table > thead > tr > th,
.ui.structured.celled.table > tbody > tr > th,
.ui.structured.celled.table > tfoot > tr > th,
.ui.structured.celled.table > tr > td,
.ui.structured.celled.table > tbody > tr > td,
.ui.structured.celled.table > tfoot > tr > td {
  border-left: 1px solid rgba(34, 36, 38, 0.1);
  border-right: 1px solid rgba(34, 36, 38, 0.1);
}
/* --------------
       Definition
    --------------- */
.ui.definition.table > thead:not(.full-width) > tr > th:first-child {
  pointer-events: none;
  background: #FFFFFF;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: -0.1em -0.2em 0 0.1em #FFFFFF;
  -moz-transform: scale(1);
}
.ui.definition.table > thead:not(.full-width) > tr > th:first-child:not(:empty) {
  pointer-events: auto;
}
.ui.definition.table > tfoot:not(.full-width) > tr > th:first-child {
  pointer-events: none;
  background: #FFFFFF;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: -0.1em 0.2em 0 0.1em #FFFFFF;
  -moz-transform: scale(1);
}
/* Highlight Defining Column */
.ui.definition.table > tr > td:first-child:not(.ignored),
.ui.definition.table > tbody > tr > td:first-child:not(.ignored),
.ui.definition.table > tfoot > tr > td:first-child:not(.ignored),
.ui.definition.table tr td.definition {
  background: rgba(0, 0, 0, 0.03);
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
  text-transform: "";
  box-shadow: "";
  text-align: "";
  font-size: 1em;
  padding-left: "";
  padding-right: "";
}
/* Fix 2nd Column */
.ui.definition.table > thead:not(.full-width) > tr > th:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.definition.table > tfoot:not(.full-width) > tr > th:nth-child(2),
.ui.definition.table > tfoot:not(.full-width) > tr > td:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.definition.table > tr > td:nth-child(2),
.ui.definition.table > tbody > tr > td:nth-child(2) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
/*******************************
             States
*******************************/
/* --------------
        Positive
    --------------- */
.ui.ui.ui.ui.table tr.positive,
.ui.ui.table td.positive {
  box-shadow: 0 0 0 #a3c293 inset;
  background: #fcfff5;
  color: #2c662d;
}
.ui.ui.ui.ui.inverted.table tr.positive,
.ui.ui.inverted.table td.positive {
  background: #a3c293;
  color: #2c662d;
}
/* --------------
         Negative
    --------------- */
.ui.ui.ui.ui.table tr.negative,
.ui.ui.table td.negative {
  box-shadow: 0 0 0 #e0b4b4 inset;
  background: #fff6f6;
  color: #9f3a38;
}
.ui.ui.ui.ui.inverted.table tr.negative,
.ui.ui.inverted.table td.negative {
  background: #e0b4b4;
  color: #9f3a38;
}
/* --------------
          Error
    --------------- */
.ui.ui.ui.ui.table tr.error,
.ui.ui.table td.error {
  box-shadow: 0 0 0 #e0b4b4 inset;
  background: #fff6f6;
  color: #9f3a38;
}
.ui.ui.ui.ui.inverted.table tr.error,
.ui.ui.inverted.table td.error {
  background: #e0b4b4;
  color: #9f3a38;
}
/* --------------
         Warning
    --------------- */
.ui.ui.ui.ui.table tr.warning,
.ui.ui.table td.warning {
  box-shadow: 0 0 0 #c9ba9b inset;
  background: #fffaf3;
  color: #573a08;
}
.ui.ui.ui.ui.inverted.table tr.warning,
.ui.ui.inverted.table td.warning {
  background: #eec97e;
  color: #573a08;
}
/* --------------
         Active
    --------------- */
.ui.ui.ui.ui.table tr.active,
.ui.ui.table td.active {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.87) inset;
  background: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.ui.ui.ui.ui.inverted.table tr.active,
.ui.ui.inverted.table td.active {
  background: #a0a0a0;
  color: rgba(0, 0, 0, 0.87);
}
/* --------------
         Disabled
    --------------- */
.ui.ui.ui.table tr.disabled td,
.ui.ui.ui.table tr td.disabled,
.ui.table tr.disabled:hover,
.ui.table tr:hover td.disabled {
  pointer-events: none;
  color: rgba(40, 40, 40, 0.3);
}
/*******************************
          Variations
*******************************/
/* --------------
        Stackable
    --------------- */
@media only screen and (max-width: 991.98px) {
  .ui[class*="tablet stackable"].table,
  .ui[class*="tablet stackable"].table > thead,
  .ui[class*="tablet stackable"].table > thead > tr,
  .ui[class*="tablet stackable"].table > tfoot,
  .ui[class*="tablet stackable"].table > tfoot > tr,
  .ui[class*="tablet stackable"].table > tbody,
  .ui[class*="tablet stackable"].table > tbody > tr,
  .ui[class*="tablet stackable"].table > tr,
  .ui[class*="tablet stackable"].table > thead > tr > th:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tbody > tr > th:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tfoot > tr > th:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tr > th:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tbody > tr > td:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tfoot > tr > td:not(.rowspanned),
  .ui[class*="tablet stackable"].table > tr > td:not(.rowspanned) {
    display: block !important;
    width: 100% !important;
  }
  .ui[class*="tablet stackable"].table {
    padding: 0;
  }
  .ui[class*="tablet stackable"].table > thead {
    display: block;
  }
  .ui[class*="tablet stackable"].table > tfoot {
    display: block;
  }
  .ui.ui.ui.ui[class*="tablet stackable"].table > thead > tr,
  .ui.ui.ui.ui[class*="tablet stackable"].table > tbody > tr,
  .ui.ui.ui.ui[class*="tablet stackable"].table > tfoot > tr,
  .ui.ui.ui.ui[class*="tablet stackable"].table > tr {
    padding-top: 1em;
    padding-bottom: 1em;
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset;
  }
  .ui[class*="tablet stackable"].table > thead > tr > th,
  .ui[class*="tablet stackable"].table > tbody > tr > th,
  .ui[class*="tablet stackable"].table > tfoot > tr > th,
  .ui[class*="tablet stackable"].table > tr > th,
  .ui[class*="tablet stackable"].table > tbody > tr > td,
  .ui[class*="tablet stackable"].table > tfoot > tr > td,
  .ui[class*="tablet stackable"].table > tr > td {
    background: none;
    border: none !important;
    padding: 0.25em 0.75em;
    box-shadow: none;
  }
  /* Definition Table */
  .ui.definition[class*="tablet stackable"].table > thead > tr > th:first-child {
    box-shadow: none !important;
  }
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="primary marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6C3667 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="primary marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6C3667 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="primary marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #54c8ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="primary marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #54c8ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="secondary marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #88d317 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="secondary marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #88d317 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="secondary marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #545454 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="secondary marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #545454 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="red marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #db2828 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="red marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #db2828 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="red marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff695e inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="red marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff695e inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="orange marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #f2711c inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="orange marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #f2711c inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="orange marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff851b inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="orange marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff851b inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="yellow marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #fbbd08 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="yellow marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #fbbd08 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="yellow marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ffe21f inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="yellow marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ffe21f inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="olive marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #b5cc18 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="olive marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #b5cc18 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="olive marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #d9e778 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="olive marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #d9e778 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="green marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #21ba45 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="green marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #21ba45 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="green marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #2ecc40 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="green marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #2ecc40 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="teal marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #00b5ad inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="teal marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #00b5ad inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="teal marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6dffff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="teal marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6dffff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="blue marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #2185d0 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="blue marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #2185d0 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="blue marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #54c8ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="blue marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #54c8ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="violet marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #6435c9 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="violet marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #6435c9 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="violet marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a291fb inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="violet marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a291fb inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="purple marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a333c8 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="purple marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a333c8 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="purple marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #dc73ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="purple marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #dc73ff inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="pink marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #e03997 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="pink marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #e03997 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="pink marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #ff8edf inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="pink marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #ff8edf inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="brown marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #a5673f inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="brown marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #a5673f inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="brown marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #d67c1c inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="brown marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #d67c1c inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="grey marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #767676 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="grey marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #767676 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="grey marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #dcddde inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="grey marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #dcddde inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="black marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #1b1c1d inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].table tr[class*="black marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #1b1c1d inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="black marked"].left {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, 0.2em 0 0 0 #545454 inset;
}
.ui.ui.ui.ui[class*="tablet stackable"].inverted.table tr[class*="black marked"].right {
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset, -0.2em 0 0 0 #545454 inset;
}
/* --------------
     Text Alignment
    --------------- */
.ui.table[class*="left aligned"],
.ui.table [class*="left aligned"] {
  text-align: left;
}
.ui.table[class*="center aligned"],
.ui.table [class*="center aligned"] {
  text-align: center;
}
.ui.table[class*="right aligned"],
.ui.table [class*="right aligned"] {
  text-align: right;
}
/* ------------------
     Vertical Alignment
    ------------------ */
.ui.table[class*="top aligned"],
.ui.table [class*="top aligned"] {
  vertical-align: top;
}
.ui.table[class*="middle aligned"],
.ui.table [class*="middle aligned"] {
  vertical-align: middle;
}
.ui.table[class*="bottom aligned"],
.ui.table [class*="bottom aligned"] {
  vertical-align: bottom;
}
/* --------------
        Collapsing
    --------------- */
.ui.table th.collapsing,
.ui.table td.collapsing {
  width: 1px;
  white-space: nowrap;
}
/* --------------
         Fixed
    --------------- */
.ui.fixed.table {
  table-layout: fixed;
}
.ui.fixed.table th,
.ui.fixed.table td {
  overflow: hidden;
  text-overflow: ellipsis;
}
/* --------------
       Selectable
    --------------- */
.ui.ui.selectable.table > tbody > tr:hover,
.ui.table tbody tr td.selectable:hover {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
}
.ui.ui.selectable.inverted.table > tbody > tr:hover,
.ui.inverted.table tbody tr td.selectable:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
/* Selectable Cell Link */
.ui.table tbody tr td.selectable {
  padding: 0;
}
.ui.table tbody tr td.selectable > a:not(.ui) {
  display: block;
  color: inherit;
}
.ui.table:not(.compact) tbody tr td.selectable > a:not(.ui) {
  padding: 0.78571429em 0.78571429em;
}
.ui.table > tr > td.selectable,
.ui.table > tbody > tr > td.selectable,
.ui.selectable.table > tbody > tr,
.ui.selectable.table > tr {
  cursor: pointer;
}
/* Other States */
.ui.ui.selectable.table tr.error:hover,
.ui.table tr td.selectable.error:hover,
.ui.selectable.table tr:hover td.error {
  background: #ffe7e7;
  color: #943634;
}
.ui.ui.selectable.table tr.warning:hover,
.ui.table tr td.selectable.warning:hover,
.ui.selectable.table tr:hover td.warning {
  background: #fff4e4;
  color: #493107;
}
.ui.ui.selectable.table tr.active:hover,
.ui.table tr td.selectable.active:hover,
.ui.selectable.table tr:hover td.active {
  background: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.ui.ui.selectable.table tr.positive:hover,
.ui.table tr td.selectable.positive:hover,
.ui.selectable.table tr:hover td.positive {
  background: #f7ffe6;
  color: #275b28;
}
.ui.ui.selectable.table tr.negative:hover,
.ui.table tr td.selectable.negative:hover,
.ui.selectable.table tr:hover td.negative {
  background: #ffe7e7;
  color: #943634;
}
/* -------------------
          Attached
    -------------------- */
/* Middle */
.ui.attached.table {
  top: 0;
  bottom: 0;
  border-radius: 0;
  margin: 0 -1px;
  width: calc(100% + 2px);
  max-width: calc(100% + 2px);
  box-shadow: none;
  border: 1px solid #d4d4d5;
}
.ui.attached + .ui.attached.table:not(.top) {
  border-top: none;
}
/* Top */
.ui[class*="top attached"].table {
  bottom: 0;
  margin-bottom: 0;
  top: 0;
  margin-top: 1em;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.table[class*="top attached"]:first-child {
  margin-top: 0;
}
/* Bottom */
.ui[class*="bottom attached"].table {
  bottom: 0;
  margin-top: 0;
  top: 0;
  margin-bottom: 1em;
  box-shadow: none;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui[class*="bottom attached"].table:last-child {
  margin-bottom: 0;
}
/* --------------
         Striped
    --------------- */
/* Table Striping */
.ui.striped.table > tr:nth-child(2n),
.ui.striped.table > tbody > tr:nth-child(2n) {
  background-color: rgba(0, 0, 50, 0.02);
}
/* Stripes */
.ui.inverted.striped.table > tr:nth-child(2n),
.ui.inverted.striped.table > tbody > tr:nth-child(2n) {
  background-color: rgba(255, 255, 255, 0.05);
}
/* Allow striped active hover */
.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover {
  background: #efefef;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
   Single Line
--------------- */
.ui.table[class*="single line"],
.ui.table [class*="single line"] {
  white-space: nowrap;
}
/* -------------------
       Colors
-------------------- */
.ui.primary.table {
  border-top: 0.2em solid #6C3667;
}
.ui.inverted.primary.table {
  background: #6C3667;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.primary,
.ui.scrolling.table > tfoot.primary {
  background: #ddf4ff;
  color: #ddf4ff;
}
.ui.scrolling.table > thead.primary > tr > th,
.ui.scrolling.table > tfoot.primary > tr > th,
.ui.scrolling.table > thead.primary > tr > td,
.ui.scrolling.table > tfoot.primary > tr > td {
  background: inherit;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.scrolling.table > thead.primary,
.ui.inverted.scrolling.table > tfoot.primary {
  background: #6C3667;
  color: #6C3667;
}
.ui.inverted.scrolling.table > thead.primary > tr > th,
.ui.inverted.scrolling.table > tfoot.primary > tr > th,
.ui.inverted.scrolling.table > thead.primary > tr > td,
.ui.inverted.scrolling.table > tfoot.primary > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="primary colored"],
.ui.ui.table th[class*="primary colored"],
.ui.ui.table td[class*="primary colored"],
.ui.ui.ui.ui.table tr.primary:not(.marked),
.ui.ui.table th.primary:not(.marked),
.ui.ui.table td.primary:not(.marked) {
  background: #ddf4ff;
  color: rgba(255, 255, 255, 0.9);
}
.ui.table > thead > tr[class*="primary colored"] > th,
.ui.table > tfoot > tr[class*="primary colored"] > th,
.ui.table > tfoot > tr[class*="primary colored"] > td,
.ui.table > thead > tr.primary:not(.marked) > th,
.ui.table > tfoot > tr.primary:not(.marked) > th,
.ui.table > tfoot > tr.primary:not(.marked) > td {
  background: inherit;
  color: rgba(255, 255, 255, 0.9);
}
.ui.ui.ui.ui.inverted.table tr[class*="primary colored"],
.ui.ui.inverted.table th[class*="primary colored"],
.ui.ui.inverted.table td[class*="primary colored"],
.ui.ui.ui.ui.inverted.table tr.primary:not(.marked),
.ui.ui.inverted.table th.primary:not(.marked),
.ui.ui.inverted.table td.primary:not(.marked) {
  background: #6C3667;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="primary colored"] > th,
.ui.inverted.table > tfoot > tr[class*="primary colored"] > th,
.ui.inverted.table > tfoot > tr[class*="primary colored"] > td,
.ui.inverted.table > thead > tr.primary:not(.marked) > th,
.ui.inverted.table > tfoot > tr.primary:not(.marked) > th,
.ui.inverted.table > tfoot > tr.primary:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="primary colored"]:hover,
.ui.table tr td.selectable[class*="primary colored"]:hover,
.ui.selectable.table tr:hover td[class*="primary colored"],
.ui.ui.selectable.table tr.primary:not(.marked):hover,
.ui.table tr td.selectable.primary:not(.marked):hover,
.ui.selectable.table tr:hover td.primary:not(.marked) {
  background: #d3f1ff;
  color: rgba(255, 255, 255, 0.9);
}
.ui.ui.inverted.selectable.table tr[class*="primary colored"]:hover,
.ui.inverted.table tr td.selectable[class*="primary colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="primary colored"],
.ui.ui.inverted.selectable.table tr.primary:not(.marked):hover,
.ui.inverted.table tr td.selectable.primary:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.primary:not(.marked) {
  background: #21b8ff;
  color: #FFFFFF;
}
.ui.table td[class*="primary marked"].left,
.ui.table tr[class*="primary marked"].left {
  box-shadow: 0.2em 0 0 0 #6C3667 inset;
}
.ui.table td[class*="primary marked"].right,
.ui.table tr[class*="primary marked"].right {
  box-shadow: -0.2em 0 0 0 #6C3667 inset;
}
.ui.inverted.table td[class*="primary marked"].left,
.ui.inverted.table tr[class*="primary marked"].left {
  box-shadow: 0.2em 0 0 0 #54c8ff inset;
}
.ui.inverted.table td[class*="primary marked"].right,
.ui.inverted.table tr[class*="primary marked"].right {
  box-shadow: -0.2em 0 0 0 #54c8ff inset;
}
.ui.secondary.table {
  border-top: 0.2em solid #88d317;
}
.ui.inverted.secondary.table {
  background: #88d317;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.secondary,
.ui.scrolling.table > tfoot.secondary {
  background: #dddddd;
  color: #dddddd;
}
.ui.scrolling.table > thead.secondary > tr > th,
.ui.scrolling.table > tfoot.secondary > tr > th,
.ui.scrolling.table > thead.secondary > tr > td,
.ui.scrolling.table > tfoot.secondary > tr > td {
  background: inherit;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.scrolling.table > thead.secondary,
.ui.inverted.scrolling.table > tfoot.secondary {
  background: #88d317;
  color: #88d317;
}
.ui.inverted.scrolling.table > thead.secondary > tr > th,
.ui.inverted.scrolling.table > tfoot.secondary > tr > th,
.ui.inverted.scrolling.table > thead.secondary > tr > td,
.ui.inverted.scrolling.table > tfoot.secondary > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="secondary colored"],
.ui.ui.table th[class*="secondary colored"],
.ui.ui.table td[class*="secondary colored"],
.ui.ui.ui.ui.table tr.secondary:not(.marked),
.ui.ui.table th.secondary:not(.marked),
.ui.ui.table td.secondary:not(.marked) {
  background: #dddddd;
  color: rgba(255, 255, 255, 0.9);
}
.ui.table > thead > tr[class*="secondary colored"] > th,
.ui.table > tfoot > tr[class*="secondary colored"] > th,
.ui.table > tfoot > tr[class*="secondary colored"] > td,
.ui.table > thead > tr.secondary:not(.marked) > th,
.ui.table > tfoot > tr.secondary:not(.marked) > th,
.ui.table > tfoot > tr.secondary:not(.marked) > td {
  background: inherit;
  color: rgba(255, 255, 255, 0.9);
}
.ui.ui.ui.ui.inverted.table tr[class*="secondary colored"],
.ui.ui.inverted.table th[class*="secondary colored"],
.ui.ui.inverted.table td[class*="secondary colored"],
.ui.ui.ui.ui.inverted.table tr.secondary:not(.marked),
.ui.ui.inverted.table th.secondary:not(.marked),
.ui.ui.inverted.table td.secondary:not(.marked) {
  background: #88d317;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="secondary colored"] > th,
.ui.inverted.table > tfoot > tr[class*="secondary colored"] > th,
.ui.inverted.table > tfoot > tr[class*="secondary colored"] > td,
.ui.inverted.table > thead > tr.secondary:not(.marked) > th,
.ui.inverted.table > tfoot > tr.secondary:not(.marked) > th,
.ui.inverted.table > tfoot > tr.secondary:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="secondary colored"]:hover,
.ui.table tr td.selectable[class*="secondary colored"]:hover,
.ui.selectable.table tr:hover td[class*="secondary colored"],
.ui.ui.selectable.table tr.secondary:not(.marked):hover,
.ui.table tr td.selectable.secondary:not(.marked):hover,
.ui.selectable.table tr:hover td.secondary:not(.marked) {
  background: #e2e2e2;
  color: rgba(255, 255, 255, 0.9);
}
.ui.ui.inverted.selectable.table tr[class*="secondary colored"]:hover,
.ui.inverted.table tr td.selectable[class*="secondary colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="secondary colored"],
.ui.ui.inverted.selectable.table tr.secondary:not(.marked):hover,
.ui.inverted.table tr td.selectable.secondary:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.secondary:not(.marked) {
  background: #6e6e6e;
  color: #FFFFFF;
}
.ui.table td[class*="secondary marked"].left,
.ui.table tr[class*="secondary marked"].left {
  box-shadow: 0.2em 0 0 0 #88d317 inset;
}
.ui.table td[class*="secondary marked"].right,
.ui.table tr[class*="secondary marked"].right {
  box-shadow: -0.2em 0 0 0 #88d317 inset;
}
.ui.inverted.table td[class*="secondary marked"].left,
.ui.inverted.table tr[class*="secondary marked"].left {
  box-shadow: 0.2em 0 0 0 #545454 inset;
}
.ui.inverted.table td[class*="secondary marked"].right,
.ui.inverted.table tr[class*="secondary marked"].right {
  box-shadow: -0.2em 0 0 0 #545454 inset;
}
.ui.red.table {
  border-top: 0.2em solid #db2828;
}
.ui.inverted.red.table {
  background: #db2828;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.red,
.ui.scrolling.table > tfoot.red {
  background: #ffe1df;
  color: #ffe1df;
}
.ui.scrolling.table > thead.red > tr > th,
.ui.scrolling.table > tfoot.red > tr > th,
.ui.scrolling.table > thead.red > tr > td,
.ui.scrolling.table > tfoot.red > tr > td {
  background: inherit;
  color: #db2828;
}
.ui.inverted.scrolling.table > thead.red,
.ui.inverted.scrolling.table > tfoot.red {
  background: #db2828;
  color: #db2828;
}
.ui.inverted.scrolling.table > thead.red > tr > th,
.ui.inverted.scrolling.table > tfoot.red > tr > th,
.ui.inverted.scrolling.table > thead.red > tr > td,
.ui.inverted.scrolling.table > tfoot.red > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="red colored"],
.ui.ui.table th[class*="red colored"],
.ui.ui.table td[class*="red colored"],
.ui.ui.ui.ui.table tr.red:not(.marked),
.ui.ui.table th.red:not(.marked),
.ui.ui.table td.red:not(.marked) {
  background: #ffe1df;
  color: #db2828;
}
.ui.table > thead > tr[class*="red colored"] > th,
.ui.table > tfoot > tr[class*="red colored"] > th,
.ui.table > tfoot > tr[class*="red colored"] > td,
.ui.table > thead > tr.red:not(.marked) > th,
.ui.table > tfoot > tr.red:not(.marked) > th,
.ui.table > tfoot > tr.red:not(.marked) > td {
  background: inherit;
  color: #db2828;
}
.ui.ui.ui.ui.inverted.table tr[class*="red colored"],
.ui.ui.inverted.table th[class*="red colored"],
.ui.ui.inverted.table td[class*="red colored"],
.ui.ui.ui.ui.inverted.table tr.red:not(.marked),
.ui.ui.inverted.table th.red:not(.marked),
.ui.ui.inverted.table td.red:not(.marked) {
  background: #db2828;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="red colored"] > th,
.ui.inverted.table > tfoot > tr[class*="red colored"] > th,
.ui.inverted.table > tfoot > tr[class*="red colored"] > td,
.ui.inverted.table > thead > tr.red:not(.marked) > th,
.ui.inverted.table > tfoot > tr.red:not(.marked) > th,
.ui.inverted.table > tfoot > tr.red:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="red colored"]:hover,
.ui.table tr td.selectable[class*="red colored"]:hover,
.ui.selectable.table tr:hover td[class*="red colored"],
.ui.ui.selectable.table tr.red:not(.marked):hover,
.ui.table tr td.selectable.red:not(.marked):hover,
.ui.selectable.table tr:hover td.red:not(.marked) {
  background: #ffd7d5;
  color: #db2828;
}
.ui.ui.inverted.selectable.table tr[class*="red colored"]:hover,
.ui.inverted.table tr td.selectable[class*="red colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="red colored"],
.ui.ui.inverted.selectable.table tr.red:not(.marked):hover,
.ui.inverted.table tr td.selectable.red:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.red:not(.marked) {
  background: #ff392b;
  color: #FFFFFF;
}
.ui.table td[class*="red marked"].left,
.ui.table tr[class*="red marked"].left {
  box-shadow: 0.2em 0 0 0 #db2828 inset;
}
.ui.table td[class*="red marked"].right,
.ui.table tr[class*="red marked"].right {
  box-shadow: -0.2em 0 0 0 #db2828 inset;
}
.ui.inverted.table td[class*="red marked"].left,
.ui.inverted.table tr[class*="red marked"].left {
  box-shadow: 0.2em 0 0 0 #ff695e inset;
}
.ui.inverted.table td[class*="red marked"].right,
.ui.inverted.table tr[class*="red marked"].right {
  box-shadow: -0.2em 0 0 0 #ff695e inset;
}
.ui.orange.table {
  border-top: 0.2em solid #f2711c;
}
.ui.inverted.orange.table {
  background: #f2711c;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.orange,
.ui.scrolling.table > tfoot.orange {
  background: #ffe7d1;
  color: #ffe7d1;
}
.ui.scrolling.table > thead.orange > tr > th,
.ui.scrolling.table > tfoot.orange > tr > th,
.ui.scrolling.table > thead.orange > tr > td,
.ui.scrolling.table > tfoot.orange > tr > td {
  background: inherit;
  color: #f2711c;
}
.ui.inverted.scrolling.table > thead.orange,
.ui.inverted.scrolling.table > tfoot.orange {
  background: #f2711c;
  color: #f2711c;
}
.ui.inverted.scrolling.table > thead.orange > tr > th,
.ui.inverted.scrolling.table > tfoot.orange > tr > th,
.ui.inverted.scrolling.table > thead.orange > tr > td,
.ui.inverted.scrolling.table > tfoot.orange > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="orange colored"],
.ui.ui.table th[class*="orange colored"],
.ui.ui.table td[class*="orange colored"],
.ui.ui.ui.ui.table tr.orange:not(.marked),
.ui.ui.table th.orange:not(.marked),
.ui.ui.table td.orange:not(.marked) {
  background: #ffe7d1;
  color: #f2711c;
}
.ui.table > thead > tr[class*="orange colored"] > th,
.ui.table > tfoot > tr[class*="orange colored"] > th,
.ui.table > tfoot > tr[class*="orange colored"] > td,
.ui.table > thead > tr.orange:not(.marked) > th,
.ui.table > tfoot > tr.orange:not(.marked) > th,
.ui.table > tfoot > tr.orange:not(.marked) > td {
  background: inherit;
  color: #f2711c;
}
.ui.ui.ui.ui.inverted.table tr[class*="orange colored"],
.ui.ui.inverted.table th[class*="orange colored"],
.ui.ui.inverted.table td[class*="orange colored"],
.ui.ui.ui.ui.inverted.table tr.orange:not(.marked),
.ui.ui.inverted.table th.orange:not(.marked),
.ui.ui.inverted.table td.orange:not(.marked) {
  background: #f2711c;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="orange colored"] > th,
.ui.inverted.table > tfoot > tr[class*="orange colored"] > th,
.ui.inverted.table > tfoot > tr[class*="orange colored"] > td,
.ui.inverted.table > thead > tr.orange:not(.marked) > th,
.ui.inverted.table > tfoot > tr.orange:not(.marked) > th,
.ui.inverted.table > tfoot > tr.orange:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="orange colored"]:hover,
.ui.table tr td.selectable[class*="orange colored"]:hover,
.ui.selectable.table tr:hover td[class*="orange colored"],
.ui.ui.selectable.table tr.orange:not(.marked):hover,
.ui.table tr td.selectable.orange:not(.marked):hover,
.ui.selectable.table tr:hover td.orange:not(.marked) {
  background: #fae1cc;
  color: #f2711c;
}
.ui.ui.inverted.selectable.table tr[class*="orange colored"]:hover,
.ui.inverted.table tr td.selectable[class*="orange colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="orange colored"],
.ui.ui.inverted.selectable.table tr.orange:not(.marked):hover,
.ui.inverted.table tr td.selectable.orange:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.orange:not(.marked) {
  background: #e76b00;
  color: #FFFFFF;
}
.ui.table td[class*="orange marked"].left,
.ui.table tr[class*="orange marked"].left {
  box-shadow: 0.2em 0 0 0 #f2711c inset;
}
.ui.table td[class*="orange marked"].right,
.ui.table tr[class*="orange marked"].right {
  box-shadow: -0.2em 0 0 0 #f2711c inset;
}
.ui.inverted.table td[class*="orange marked"].left,
.ui.inverted.table tr[class*="orange marked"].left {
  box-shadow: 0.2em 0 0 0 #ff851b inset;
}
.ui.inverted.table td[class*="orange marked"].right,
.ui.inverted.table tr[class*="orange marked"].right {
  box-shadow: -0.2em 0 0 0 #ff851b inset;
}
.ui.yellow.table {
  border-top: 0.2em solid #fbbd08;
}
.ui.inverted.yellow.table {
  background: #fbbd08;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.yellow,
.ui.scrolling.table > tfoot.yellow {
  background: #fff9d2;
  color: #fff9d2;
}
.ui.scrolling.table > thead.yellow > tr > th,
.ui.scrolling.table > tfoot.yellow > tr > th,
.ui.scrolling.table > thead.yellow > tr > td,
.ui.scrolling.table > tfoot.yellow > tr > td {
  background: inherit;
  color: #b58105;
}
.ui.inverted.scrolling.table > thead.yellow,
.ui.inverted.scrolling.table > tfoot.yellow {
  background: #fbbd08;
  color: #fbbd08;
}
.ui.inverted.scrolling.table > thead.yellow > tr > th,
.ui.inverted.scrolling.table > tfoot.yellow > tr > th,
.ui.inverted.scrolling.table > thead.yellow > tr > td,
.ui.inverted.scrolling.table > tfoot.yellow > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="yellow colored"],
.ui.ui.table th[class*="yellow colored"],
.ui.ui.table td[class*="yellow colored"],
.ui.ui.ui.ui.table tr.yellow:not(.marked),
.ui.ui.table th.yellow:not(.marked),
.ui.ui.table td.yellow:not(.marked) {
  background: #fff9d2;
  color: #b58105;
}
.ui.table > thead > tr[class*="yellow colored"] > th,
.ui.table > tfoot > tr[class*="yellow colored"] > th,
.ui.table > tfoot > tr[class*="yellow colored"] > td,
.ui.table > thead > tr.yellow:not(.marked) > th,
.ui.table > tfoot > tr.yellow:not(.marked) > th,
.ui.table > tfoot > tr.yellow:not(.marked) > td {
  background: inherit;
  color: #b58105;
}
.ui.ui.ui.ui.inverted.table tr[class*="yellow colored"],
.ui.ui.inverted.table th[class*="yellow colored"],
.ui.ui.inverted.table td[class*="yellow colored"],
.ui.ui.ui.ui.inverted.table tr.yellow:not(.marked),
.ui.ui.inverted.table th.yellow:not(.marked),
.ui.ui.inverted.table td.yellow:not(.marked) {
  background: #fbbd08;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="yellow colored"] > th,
.ui.inverted.table > tfoot > tr[class*="yellow colored"] > th,
.ui.inverted.table > tfoot > tr[class*="yellow colored"] > td,
.ui.inverted.table > thead > tr.yellow:not(.marked) > th,
.ui.inverted.table > tfoot > tr.yellow:not(.marked) > th,
.ui.inverted.table > tfoot > tr.yellow:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="yellow colored"]:hover,
.ui.table tr td.selectable[class*="yellow colored"]:hover,
.ui.selectable.table tr:hover td[class*="yellow colored"],
.ui.ui.selectable.table tr.yellow:not(.marked):hover,
.ui.table tr td.selectable.yellow:not(.marked):hover,
.ui.selectable.table tr:hover td.yellow:not(.marked) {
  background: #fbf5cc;
  color: #b58105;
}
.ui.ui.inverted.selectable.table tr[class*="yellow colored"]:hover,
.ui.inverted.table tr td.selectable[class*="yellow colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="yellow colored"],
.ui.ui.inverted.selectable.table tr.yellow:not(.marked):hover,
.ui.inverted.table tr td.selectable.yellow:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.yellow:not(.marked) {
  background: #ebcd00;
  color: #FFFFFF;
}
.ui.table td[class*="yellow marked"].left,
.ui.table tr[class*="yellow marked"].left {
  box-shadow: 0.2em 0 0 0 #fbbd08 inset;
}
.ui.table td[class*="yellow marked"].right,
.ui.table tr[class*="yellow marked"].right {
  box-shadow: -0.2em 0 0 0 #fbbd08 inset;
}
.ui.inverted.table td[class*="yellow marked"].left,
.ui.inverted.table tr[class*="yellow marked"].left {
  box-shadow: 0.2em 0 0 0 #ffe21f inset;
}
.ui.inverted.table td[class*="yellow marked"].right,
.ui.inverted.table tr[class*="yellow marked"].right {
  box-shadow: -0.2em 0 0 0 #ffe21f inset;
}
.ui.olive.table {
  border-top: 0.2em solid #b5cc18;
}
.ui.inverted.olive.table {
  background: #b5cc18;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.olive,
.ui.scrolling.table > tfoot.olive {
  background: #f7fae4;
  color: #f7fae4;
}
.ui.scrolling.table > thead.olive > tr > th,
.ui.scrolling.table > tfoot.olive > tr > th,
.ui.scrolling.table > thead.olive > tr > td,
.ui.scrolling.table > tfoot.olive > tr > td {
  background: inherit;
  color: #8abc1e;
}
.ui.inverted.scrolling.table > thead.olive,
.ui.inverted.scrolling.table > tfoot.olive {
  background: #b5cc18;
  color: #b5cc18;
}
.ui.inverted.scrolling.table > thead.olive > tr > th,
.ui.inverted.scrolling.table > tfoot.olive > tr > th,
.ui.inverted.scrolling.table > thead.olive > tr > td,
.ui.inverted.scrolling.table > tfoot.olive > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="olive colored"],
.ui.ui.table th[class*="olive colored"],
.ui.ui.table td[class*="olive colored"],
.ui.ui.ui.ui.table tr.olive:not(.marked),
.ui.ui.table th.olive:not(.marked),
.ui.ui.table td.olive:not(.marked) {
  background: #f7fae4;
  color: #8abc1e;
}
.ui.table > thead > tr[class*="olive colored"] > th,
.ui.table > tfoot > tr[class*="olive colored"] > th,
.ui.table > tfoot > tr[class*="olive colored"] > td,
.ui.table > thead > tr.olive:not(.marked) > th,
.ui.table > tfoot > tr.olive:not(.marked) > th,
.ui.table > tfoot > tr.olive:not(.marked) > td {
  background: inherit;
  color: #8abc1e;
}
.ui.ui.ui.ui.inverted.table tr[class*="olive colored"],
.ui.ui.inverted.table th[class*="olive colored"],
.ui.ui.inverted.table td[class*="olive colored"],
.ui.ui.ui.ui.inverted.table tr.olive:not(.marked),
.ui.ui.inverted.table th.olive:not(.marked),
.ui.ui.inverted.table td.olive:not(.marked) {
  background: #b5cc18;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="olive colored"] > th,
.ui.inverted.table > tfoot > tr[class*="olive colored"] > th,
.ui.inverted.table > tfoot > tr[class*="olive colored"] > td,
.ui.inverted.table > thead > tr.olive:not(.marked) > th,
.ui.inverted.table > tfoot > tr.olive:not(.marked) > th,
.ui.inverted.table > tfoot > tr.olive:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="olive colored"]:hover,
.ui.table tr td.selectable[class*="olive colored"]:hover,
.ui.selectable.table tr:hover td[class*="olive colored"],
.ui.ui.selectable.table tr.olive:not(.marked):hover,
.ui.table tr td.selectable.olive:not(.marked):hover,
.ui.selectable.table tr:hover td.olive:not(.marked) {
  background: #f6fada;
  color: #8abc1e;
}
.ui.ui.inverted.selectable.table tr[class*="olive colored"]:hover,
.ui.inverted.table tr td.selectable[class*="olive colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="olive colored"],
.ui.ui.inverted.selectable.table tr.olive:not(.marked):hover,
.ui.inverted.table tr td.selectable.olive:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.olive:not(.marked) {
  background: #d2e745;
  color: #FFFFFF;
}
.ui.table td[class*="olive marked"].left,
.ui.table tr[class*="olive marked"].left {
  box-shadow: 0.2em 0 0 0 #b5cc18 inset;
}
.ui.table td[class*="olive marked"].right,
.ui.table tr[class*="olive marked"].right {
  box-shadow: -0.2em 0 0 0 #b5cc18 inset;
}
.ui.inverted.table td[class*="olive marked"].left,
.ui.inverted.table tr[class*="olive marked"].left {
  box-shadow: 0.2em 0 0 0 #d9e778 inset;
}
.ui.inverted.table td[class*="olive marked"].right,
.ui.inverted.table tr[class*="olive marked"].right {
  box-shadow: -0.2em 0 0 0 #d9e778 inset;
}
.ui.green.table {
  border-top: 0.2em solid #21ba45;
}
.ui.inverted.green.table {
  background: #21ba45;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.green,
.ui.scrolling.table > tfoot.green {
  background: #d5f5d9;
  color: #d5f5d9;
}
.ui.scrolling.table > thead.green > tr > th,
.ui.scrolling.table > tfoot.green > tr > th,
.ui.scrolling.table > thead.green > tr > td,
.ui.scrolling.table > tfoot.green > tr > td {
  background: inherit;
  color: #1ebc30;
}
.ui.inverted.scrolling.table > thead.green,
.ui.inverted.scrolling.table > tfoot.green {
  background: #21ba45;
  color: #21ba45;
}
.ui.inverted.scrolling.table > thead.green > tr > th,
.ui.inverted.scrolling.table > tfoot.green > tr > th,
.ui.inverted.scrolling.table > thead.green > tr > td,
.ui.inverted.scrolling.table > tfoot.green > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="green colored"],
.ui.ui.table th[class*="green colored"],
.ui.ui.table td[class*="green colored"],
.ui.ui.ui.ui.table tr.green:not(.marked),
.ui.ui.table th.green:not(.marked),
.ui.ui.table td.green:not(.marked) {
  background: #d5f5d9;
  color: #1ebc30;
}
.ui.table > thead > tr[class*="green colored"] > th,
.ui.table > tfoot > tr[class*="green colored"] > th,
.ui.table > tfoot > tr[class*="green colored"] > td,
.ui.table > thead > tr.green:not(.marked) > th,
.ui.table > tfoot > tr.green:not(.marked) > th,
.ui.table > tfoot > tr.green:not(.marked) > td {
  background: inherit;
  color: #1ebc30;
}
.ui.ui.ui.ui.inverted.table tr[class*="green colored"],
.ui.ui.inverted.table th[class*="green colored"],
.ui.ui.inverted.table td[class*="green colored"],
.ui.ui.ui.ui.inverted.table tr.green:not(.marked),
.ui.ui.inverted.table th.green:not(.marked),
.ui.ui.inverted.table td.green:not(.marked) {
  background: #21ba45;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="green colored"] > th,
.ui.inverted.table > tfoot > tr[class*="green colored"] > th,
.ui.inverted.table > tfoot > tr[class*="green colored"] > td,
.ui.inverted.table > thead > tr.green:not(.marked) > th,
.ui.inverted.table > tfoot > tr.green:not(.marked) > th,
.ui.inverted.table > tfoot > tr.green:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="green colored"]:hover,
.ui.table tr td.selectable[class*="green colored"]:hover,
.ui.selectable.table tr:hover td[class*="green colored"],
.ui.ui.selectable.table tr.green:not(.marked):hover,
.ui.table tr td.selectable.green:not(.marked):hover,
.ui.selectable.table tr:hover td.green:not(.marked) {
  background: #d2eed5;
  color: #1ebc30;
}
.ui.ui.inverted.selectable.table tr[class*="green colored"]:hover,
.ui.inverted.table tr td.selectable[class*="green colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="green colored"],
.ui.ui.inverted.selectable.table tr.green:not(.marked):hover,
.ui.inverted.table tr td.selectable.green:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.green:not(.marked) {
  background: #1ea92e;
  color: #FFFFFF;
}
.ui.table td[class*="green marked"].left,
.ui.table tr[class*="green marked"].left {
  box-shadow: 0.2em 0 0 0 #21ba45 inset;
}
.ui.table td[class*="green marked"].right,
.ui.table tr[class*="green marked"].right {
  box-shadow: -0.2em 0 0 0 #21ba45 inset;
}
.ui.inverted.table td[class*="green marked"].left,
.ui.inverted.table tr[class*="green marked"].left {
  box-shadow: 0.2em 0 0 0 #2ecc40 inset;
}
.ui.inverted.table td[class*="green marked"].right,
.ui.inverted.table tr[class*="green marked"].right {
  box-shadow: -0.2em 0 0 0 #2ecc40 inset;
}
.ui.teal.table {
  border-top: 0.2em solid #00b5ad;
}
.ui.inverted.teal.table {
  background: #00b5ad;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.teal,
.ui.scrolling.table > tfoot.teal {
  background: #e2ffff;
  color: #e2ffff;
}
.ui.scrolling.table > thead.teal > tr > th,
.ui.scrolling.table > tfoot.teal > tr > th,
.ui.scrolling.table > thead.teal > tr > td,
.ui.scrolling.table > tfoot.teal > tr > td {
  background: inherit;
  color: #10a3a3;
}
.ui.inverted.scrolling.table > thead.teal,
.ui.inverted.scrolling.table > tfoot.teal {
  background: #00b5ad;
  color: #00b5ad;
}
.ui.inverted.scrolling.table > thead.teal > tr > th,
.ui.inverted.scrolling.table > tfoot.teal > tr > th,
.ui.inverted.scrolling.table > thead.teal > tr > td,
.ui.inverted.scrolling.table > tfoot.teal > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="teal colored"],
.ui.ui.table th[class*="teal colored"],
.ui.ui.table td[class*="teal colored"],
.ui.ui.ui.ui.table tr.teal:not(.marked),
.ui.ui.table th.teal:not(.marked),
.ui.ui.table td.teal:not(.marked) {
  background: #e2ffff;
  color: #10a3a3;
}
.ui.table > thead > tr[class*="teal colored"] > th,
.ui.table > tfoot > tr[class*="teal colored"] > th,
.ui.table > tfoot > tr[class*="teal colored"] > td,
.ui.table > thead > tr.teal:not(.marked) > th,
.ui.table > tfoot > tr.teal:not(.marked) > th,
.ui.table > tfoot > tr.teal:not(.marked) > td {
  background: inherit;
  color: #10a3a3;
}
.ui.ui.ui.ui.inverted.table tr[class*="teal colored"],
.ui.ui.inverted.table th[class*="teal colored"],
.ui.ui.inverted.table td[class*="teal colored"],
.ui.ui.ui.ui.inverted.table tr.teal:not(.marked),
.ui.ui.inverted.table th.teal:not(.marked),
.ui.ui.inverted.table td.teal:not(.marked) {
  background: #00b5ad;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="teal colored"] > th,
.ui.inverted.table > tfoot > tr[class*="teal colored"] > th,
.ui.inverted.table > tfoot > tr[class*="teal colored"] > td,
.ui.inverted.table > thead > tr.teal:not(.marked) > th,
.ui.inverted.table > tfoot > tr.teal:not(.marked) > th,
.ui.inverted.table > tfoot > tr.teal:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="teal colored"]:hover,
.ui.table tr td.selectable[class*="teal colored"]:hover,
.ui.selectable.table tr:hover td[class*="teal colored"],
.ui.ui.selectable.table tr.teal:not(.marked):hover,
.ui.table tr td.selectable.teal:not(.marked):hover,
.ui.selectable.table tr:hover td.teal:not(.marked) {
  background: #d8ffff;
  color: #10a3a3;
}
.ui.ui.inverted.selectable.table tr[class*="teal colored"]:hover,
.ui.inverted.table tr td.selectable[class*="teal colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="teal colored"],
.ui.ui.inverted.selectable.table tr.teal:not(.marked):hover,
.ui.inverted.table tr td.selectable.teal:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.teal:not(.marked) {
  background: #3affff;
  color: #FFFFFF;
}
.ui.table td[class*="teal marked"].left,
.ui.table tr[class*="teal marked"].left {
  box-shadow: 0.2em 0 0 0 #00b5ad inset;
}
.ui.table td[class*="teal marked"].right,
.ui.table tr[class*="teal marked"].right {
  box-shadow: -0.2em 0 0 0 #00b5ad inset;
}
.ui.inverted.table td[class*="teal marked"].left,
.ui.inverted.table tr[class*="teal marked"].left {
  box-shadow: 0.2em 0 0 0 #6dffff inset;
}
.ui.inverted.table td[class*="teal marked"].right,
.ui.inverted.table tr[class*="teal marked"].right {
  box-shadow: -0.2em 0 0 0 #6dffff inset;
}
.ui.blue.table {
  border-top: 0.2em solid #2185d0;
}
.ui.inverted.blue.table {
  background: #2185d0;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.blue,
.ui.scrolling.table > tfoot.blue {
  background: #ddf4ff;
  color: #ddf4ff;
}
.ui.scrolling.table > thead.blue > tr > th,
.ui.scrolling.table > tfoot.blue > tr > th,
.ui.scrolling.table > thead.blue > tr > td,
.ui.scrolling.table > tfoot.blue > tr > td {
  background: inherit;
  color: #2185d0;
}
.ui.inverted.scrolling.table > thead.blue,
.ui.inverted.scrolling.table > tfoot.blue {
  background: #2185d0;
  color: #2185d0;
}
.ui.inverted.scrolling.table > thead.blue > tr > th,
.ui.inverted.scrolling.table > tfoot.blue > tr > th,
.ui.inverted.scrolling.table > thead.blue > tr > td,
.ui.inverted.scrolling.table > tfoot.blue > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="blue colored"],
.ui.ui.table th[class*="blue colored"],
.ui.ui.table td[class*="blue colored"],
.ui.ui.ui.ui.table tr.blue:not(.marked),
.ui.ui.table th.blue:not(.marked),
.ui.ui.table td.blue:not(.marked) {
  background: #ddf4ff;
  color: #2185d0;
}
.ui.table > thead > tr[class*="blue colored"] > th,
.ui.table > tfoot > tr[class*="blue colored"] > th,
.ui.table > tfoot > tr[class*="blue colored"] > td,
.ui.table > thead > tr.blue:not(.marked) > th,
.ui.table > tfoot > tr.blue:not(.marked) > th,
.ui.table > tfoot > tr.blue:not(.marked) > td {
  background: inherit;
  color: #2185d0;
}
.ui.ui.ui.ui.inverted.table tr[class*="blue colored"],
.ui.ui.inverted.table th[class*="blue colored"],
.ui.ui.inverted.table td[class*="blue colored"],
.ui.ui.ui.ui.inverted.table tr.blue:not(.marked),
.ui.ui.inverted.table th.blue:not(.marked),
.ui.ui.inverted.table td.blue:not(.marked) {
  background: #2185d0;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="blue colored"] > th,
.ui.inverted.table > tfoot > tr[class*="blue colored"] > th,
.ui.inverted.table > tfoot > tr[class*="blue colored"] > td,
.ui.inverted.table > thead > tr.blue:not(.marked) > th,
.ui.inverted.table > tfoot > tr.blue:not(.marked) > th,
.ui.inverted.table > tfoot > tr.blue:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="blue colored"]:hover,
.ui.table tr td.selectable[class*="blue colored"]:hover,
.ui.selectable.table tr:hover td[class*="blue colored"],
.ui.ui.selectable.table tr.blue:not(.marked):hover,
.ui.table tr td.selectable.blue:not(.marked):hover,
.ui.selectable.table tr:hover td.blue:not(.marked) {
  background: #d3f1ff;
  color: #2185d0;
}
.ui.ui.inverted.selectable.table tr[class*="blue colored"]:hover,
.ui.inverted.table tr td.selectable[class*="blue colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="blue colored"],
.ui.ui.inverted.selectable.table tr.blue:not(.marked):hover,
.ui.inverted.table tr td.selectable.blue:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.blue:not(.marked) {
  background: #21b8ff;
  color: #FFFFFF;
}
.ui.table td[class*="blue marked"].left,
.ui.table tr[class*="blue marked"].left {
  box-shadow: 0.2em 0 0 0 #2185d0 inset;
}
.ui.table td[class*="blue marked"].right,
.ui.table tr[class*="blue marked"].right {
  box-shadow: -0.2em 0 0 0 #2185d0 inset;
}
.ui.inverted.table td[class*="blue marked"].left,
.ui.inverted.table tr[class*="blue marked"].left {
  box-shadow: 0.2em 0 0 0 #54c8ff inset;
}
.ui.inverted.table td[class*="blue marked"].right,
.ui.inverted.table tr[class*="blue marked"].right {
  box-shadow: -0.2em 0 0 0 #54c8ff inset;
}
.ui.violet.table {
  border-top: 0.2em solid #6435c9;
}
.ui.inverted.violet.table {
  background: #6435c9;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.violet,
.ui.scrolling.table > tfoot.violet {
  background: #ece9fe;
  color: #ece9fe;
}
.ui.scrolling.table > thead.violet > tr > th,
.ui.scrolling.table > tfoot.violet > tr > th,
.ui.scrolling.table > thead.violet > tr > td,
.ui.scrolling.table > tfoot.violet > tr > td {
  background: inherit;
  color: #6435c9;
}
.ui.inverted.scrolling.table > thead.violet,
.ui.inverted.scrolling.table > tfoot.violet {
  background: #6435c9;
  color: #6435c9;
}
.ui.inverted.scrolling.table > thead.violet > tr > th,
.ui.inverted.scrolling.table > tfoot.violet > tr > th,
.ui.inverted.scrolling.table > thead.violet > tr > td,
.ui.inverted.scrolling.table > tfoot.violet > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="violet colored"],
.ui.ui.table th[class*="violet colored"],
.ui.ui.table td[class*="violet colored"],
.ui.ui.ui.ui.table tr.violet:not(.marked),
.ui.ui.table th.violet:not(.marked),
.ui.ui.table td.violet:not(.marked) {
  background: #ece9fe;
  color: #6435c9;
}
.ui.table > thead > tr[class*="violet colored"] > th,
.ui.table > tfoot > tr[class*="violet colored"] > th,
.ui.table > tfoot > tr[class*="violet colored"] > td,
.ui.table > thead > tr.violet:not(.marked) > th,
.ui.table > tfoot > tr.violet:not(.marked) > th,
.ui.table > tfoot > tr.violet:not(.marked) > td {
  background: inherit;
  color: #6435c9;
}
.ui.ui.ui.ui.inverted.table tr[class*="violet colored"],
.ui.ui.inverted.table th[class*="violet colored"],
.ui.ui.inverted.table td[class*="violet colored"],
.ui.ui.ui.ui.inverted.table tr.violet:not(.marked),
.ui.ui.inverted.table th.violet:not(.marked),
.ui.ui.inverted.table td.violet:not(.marked) {
  background: #6435c9;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="violet colored"] > th,
.ui.inverted.table > tfoot > tr[class*="violet colored"] > th,
.ui.inverted.table > tfoot > tr[class*="violet colored"] > td,
.ui.inverted.table > thead > tr.violet:not(.marked) > th,
.ui.inverted.table > tfoot > tr.violet:not(.marked) > th,
.ui.inverted.table > tfoot > tr.violet:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="violet colored"]:hover,
.ui.table tr td.selectable[class*="violet colored"]:hover,
.ui.selectable.table tr:hover td[class*="violet colored"],
.ui.ui.selectable.table tr.violet:not(.marked):hover,
.ui.table tr td.selectable.violet:not(.marked):hover,
.ui.selectable.table tr:hover td.violet:not(.marked) {
  background: #e3deff;
  color: #6435c9;
}
.ui.ui.inverted.selectable.table tr[class*="violet colored"]:hover,
.ui.inverted.table tr td.selectable[class*="violet colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="violet colored"],
.ui.ui.inverted.selectable.table tr.violet:not(.marked):hover,
.ui.inverted.table tr td.selectable.violet:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.violet:not(.marked) {
  background: #745aff;
  color: #FFFFFF;
}
.ui.table td[class*="violet marked"].left,
.ui.table tr[class*="violet marked"].left {
  box-shadow: 0.2em 0 0 0 #6435c9 inset;
}
.ui.table td[class*="violet marked"].right,
.ui.table tr[class*="violet marked"].right {
  box-shadow: -0.2em 0 0 0 #6435c9 inset;
}
.ui.inverted.table td[class*="violet marked"].left,
.ui.inverted.table tr[class*="violet marked"].left {
  box-shadow: 0.2em 0 0 0 #a291fb inset;
}
.ui.inverted.table td[class*="violet marked"].right,
.ui.inverted.table tr[class*="violet marked"].right {
  box-shadow: -0.2em 0 0 0 #a291fb inset;
}
.ui.purple.table {
  border-top: 0.2em solid #a333c8;
}
.ui.inverted.purple.table {
  background: #a333c8;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.purple,
.ui.scrolling.table > tfoot.purple {
  background: #f8e3ff;
  color: #f8e3ff;
}
.ui.scrolling.table > thead.purple > tr > th,
.ui.scrolling.table > tfoot.purple > tr > th,
.ui.scrolling.table > thead.purple > tr > td,
.ui.scrolling.table > tfoot.purple > tr > td {
  background: inherit;
  color: #a333c8;
}
.ui.inverted.scrolling.table > thead.purple,
.ui.inverted.scrolling.table > tfoot.purple {
  background: #a333c8;
  color: #a333c8;
}
.ui.inverted.scrolling.table > thead.purple > tr > th,
.ui.inverted.scrolling.table > tfoot.purple > tr > th,
.ui.inverted.scrolling.table > thead.purple > tr > td,
.ui.inverted.scrolling.table > tfoot.purple > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="purple colored"],
.ui.ui.table th[class*="purple colored"],
.ui.ui.table td[class*="purple colored"],
.ui.ui.ui.ui.table tr.purple:not(.marked),
.ui.ui.table th.purple:not(.marked),
.ui.ui.table td.purple:not(.marked) {
  background: #f8e3ff;
  color: #a333c8;
}
.ui.table > thead > tr[class*="purple colored"] > th,
.ui.table > tfoot > tr[class*="purple colored"] > th,
.ui.table > tfoot > tr[class*="purple colored"] > td,
.ui.table > thead > tr.purple:not(.marked) > th,
.ui.table > tfoot > tr.purple:not(.marked) > th,
.ui.table > tfoot > tr.purple:not(.marked) > td {
  background: inherit;
  color: #a333c8;
}
.ui.ui.ui.ui.inverted.table tr[class*="purple colored"],
.ui.ui.inverted.table th[class*="purple colored"],
.ui.ui.inverted.table td[class*="purple colored"],
.ui.ui.ui.ui.inverted.table tr.purple:not(.marked),
.ui.ui.inverted.table th.purple:not(.marked),
.ui.ui.inverted.table td.purple:not(.marked) {
  background: #a333c8;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="purple colored"] > th,
.ui.inverted.table > tfoot > tr[class*="purple colored"] > th,
.ui.inverted.table > tfoot > tr[class*="purple colored"] > td,
.ui.inverted.table > thead > tr.purple:not(.marked) > th,
.ui.inverted.table > tfoot > tr.purple:not(.marked) > th,
.ui.inverted.table > tfoot > tr.purple:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="purple colored"]:hover,
.ui.table tr td.selectable[class*="purple colored"]:hover,
.ui.selectable.table tr:hover td[class*="purple colored"],
.ui.ui.selectable.table tr.purple:not(.marked):hover,
.ui.table tr td.selectable.purple:not(.marked):hover,
.ui.selectable.table tr:hover td.purple:not(.marked) {
  background: #f5d9ff;
  color: #a333c8;
}
.ui.ui.inverted.selectable.table tr[class*="purple colored"]:hover,
.ui.inverted.table tr td.selectable[class*="purple colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="purple colored"],
.ui.ui.inverted.selectable.table tr.purple:not(.marked):hover,
.ui.inverted.table tr td.selectable.purple:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.purple:not(.marked) {
  background: #cf40ff;
  color: #FFFFFF;
}
.ui.table td[class*="purple marked"].left,
.ui.table tr[class*="purple marked"].left {
  box-shadow: 0.2em 0 0 0 #a333c8 inset;
}
.ui.table td[class*="purple marked"].right,
.ui.table tr[class*="purple marked"].right {
  box-shadow: -0.2em 0 0 0 #a333c8 inset;
}
.ui.inverted.table td[class*="purple marked"].left,
.ui.inverted.table tr[class*="purple marked"].left {
  box-shadow: 0.2em 0 0 0 #dc73ff inset;
}
.ui.inverted.table td[class*="purple marked"].right,
.ui.inverted.table tr[class*="purple marked"].right {
  box-shadow: -0.2em 0 0 0 #dc73ff inset;
}
.ui.pink.table {
  border-top: 0.2em solid #e03997;
}
.ui.inverted.pink.table {
  background: #e03997;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.pink,
.ui.scrolling.table > tfoot.pink {
  background: #ffe8f9;
  color: #ffe8f9;
}
.ui.scrolling.table > thead.pink > tr > th,
.ui.scrolling.table > tfoot.pink > tr > th,
.ui.scrolling.table > thead.pink > tr > td,
.ui.scrolling.table > tfoot.pink > tr > td {
  background: inherit;
  color: #e03997;
}
.ui.inverted.scrolling.table > thead.pink,
.ui.inverted.scrolling.table > tfoot.pink {
  background: #e03997;
  color: #e03997;
}
.ui.inverted.scrolling.table > thead.pink > tr > th,
.ui.inverted.scrolling.table > tfoot.pink > tr > th,
.ui.inverted.scrolling.table > thead.pink > tr > td,
.ui.inverted.scrolling.table > tfoot.pink > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="pink colored"],
.ui.ui.table th[class*="pink colored"],
.ui.ui.table td[class*="pink colored"],
.ui.ui.ui.ui.table tr.pink:not(.marked),
.ui.ui.table th.pink:not(.marked),
.ui.ui.table td.pink:not(.marked) {
  background: #ffe8f9;
  color: #e03997;
}
.ui.table > thead > tr[class*="pink colored"] > th,
.ui.table > tfoot > tr[class*="pink colored"] > th,
.ui.table > tfoot > tr[class*="pink colored"] > td,
.ui.table > thead > tr.pink:not(.marked) > th,
.ui.table > tfoot > tr.pink:not(.marked) > th,
.ui.table > tfoot > tr.pink:not(.marked) > td {
  background: inherit;
  color: #e03997;
}
.ui.ui.ui.ui.inverted.table tr[class*="pink colored"],
.ui.ui.inverted.table th[class*="pink colored"],
.ui.ui.inverted.table td[class*="pink colored"],
.ui.ui.ui.ui.inverted.table tr.pink:not(.marked),
.ui.ui.inverted.table th.pink:not(.marked),
.ui.ui.inverted.table td.pink:not(.marked) {
  background: #e03997;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="pink colored"] > th,
.ui.inverted.table > tfoot > tr[class*="pink colored"] > th,
.ui.inverted.table > tfoot > tr[class*="pink colored"] > td,
.ui.inverted.table > thead > tr.pink:not(.marked) > th,
.ui.inverted.table > tfoot > tr.pink:not(.marked) > th,
.ui.inverted.table > tfoot > tr.pink:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="pink colored"]:hover,
.ui.table tr td.selectable[class*="pink colored"]:hover,
.ui.selectable.table tr:hover td[class*="pink colored"],
.ui.ui.selectable.table tr.pink:not(.marked):hover,
.ui.table tr td.selectable.pink:not(.marked):hover,
.ui.selectable.table tr:hover td.pink:not(.marked) {
  background: #ffdef6;
  color: #e03997;
}
.ui.ui.inverted.selectable.table tr[class*="pink colored"]:hover,
.ui.inverted.table tr td.selectable[class*="pink colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="pink colored"],
.ui.ui.inverted.selectable.table tr.pink:not(.marked):hover,
.ui.inverted.table tr td.selectable.pink:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.pink:not(.marked) {
  background: #ff5bd1;
  color: #FFFFFF;
}
.ui.table td[class*="pink marked"].left,
.ui.table tr[class*="pink marked"].left {
  box-shadow: 0.2em 0 0 0 #e03997 inset;
}
.ui.table td[class*="pink marked"].right,
.ui.table tr[class*="pink marked"].right {
  box-shadow: -0.2em 0 0 0 #e03997 inset;
}
.ui.inverted.table td[class*="pink marked"].left,
.ui.inverted.table tr[class*="pink marked"].left {
  box-shadow: 0.2em 0 0 0 #ff8edf inset;
}
.ui.inverted.table td[class*="pink marked"].right,
.ui.inverted.table tr[class*="pink marked"].right {
  box-shadow: -0.2em 0 0 0 #ff8edf inset;
}
.ui.brown.table {
  border-top: 0.2em solid #a5673f;
}
.ui.inverted.brown.table {
  background: #a5673f;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.brown,
.ui.scrolling.table > tfoot.brown {
  background: #f7e5d2;
  color: #f7e5d2;
}
.ui.scrolling.table > thead.brown > tr > th,
.ui.scrolling.table > tfoot.brown > tr > th,
.ui.scrolling.table > thead.brown > tr > td,
.ui.scrolling.table > tfoot.brown > tr > td {
  background: inherit;
  color: #a5673f;
}
.ui.inverted.scrolling.table > thead.brown,
.ui.inverted.scrolling.table > tfoot.brown {
  background: #a5673f;
  color: #a5673f;
}
.ui.inverted.scrolling.table > thead.brown > tr > th,
.ui.inverted.scrolling.table > tfoot.brown > tr > th,
.ui.inverted.scrolling.table > thead.brown > tr > td,
.ui.inverted.scrolling.table > tfoot.brown > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="brown colored"],
.ui.ui.table th[class*="brown colored"],
.ui.ui.table td[class*="brown colored"],
.ui.ui.ui.ui.table tr.brown:not(.marked),
.ui.ui.table th.brown:not(.marked),
.ui.ui.table td.brown:not(.marked) {
  background: #f7e5d2;
  color: #a5673f;
}
.ui.table > thead > tr[class*="brown colored"] > th,
.ui.table > tfoot > tr[class*="brown colored"] > th,
.ui.table > tfoot > tr[class*="brown colored"] > td,
.ui.table > thead > tr.brown:not(.marked) > th,
.ui.table > tfoot > tr.brown:not(.marked) > th,
.ui.table > tfoot > tr.brown:not(.marked) > td {
  background: inherit;
  color: #a5673f;
}
.ui.ui.ui.ui.inverted.table tr[class*="brown colored"],
.ui.ui.inverted.table th[class*="brown colored"],
.ui.ui.inverted.table td[class*="brown colored"],
.ui.ui.ui.ui.inverted.table tr.brown:not(.marked),
.ui.ui.inverted.table th.brown:not(.marked),
.ui.ui.inverted.table td.brown:not(.marked) {
  background: #a5673f;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="brown colored"] > th,
.ui.inverted.table > tfoot > tr[class*="brown colored"] > th,
.ui.inverted.table > tfoot > tr[class*="brown colored"] > td,
.ui.inverted.table > thead > tr.brown:not(.marked) > th,
.ui.inverted.table > tfoot > tr.brown:not(.marked) > th,
.ui.inverted.table > tfoot > tr.brown:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="brown colored"]:hover,
.ui.table tr td.selectable[class*="brown colored"]:hover,
.ui.selectable.table tr:hover td[class*="brown colored"],
.ui.ui.selectable.table tr.brown:not(.marked):hover,
.ui.table tr td.selectable.brown:not(.marked):hover,
.ui.selectable.table tr:hover td.brown:not(.marked) {
  background: #efe0cf;
  color: #a5673f;
}
.ui.ui.inverted.selectable.table tr[class*="brown colored"]:hover,
.ui.inverted.table tr td.selectable[class*="brown colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="brown colored"],
.ui.ui.inverted.selectable.table tr.brown:not(.marked):hover,
.ui.inverted.table tr td.selectable.brown:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.brown:not(.marked) {
  background: #b0620f;
  color: #FFFFFF;
}
.ui.table td[class*="brown marked"].left,
.ui.table tr[class*="brown marked"].left {
  box-shadow: 0.2em 0 0 0 #a5673f inset;
}
.ui.table td[class*="brown marked"].right,
.ui.table tr[class*="brown marked"].right {
  box-shadow: -0.2em 0 0 0 #a5673f inset;
}
.ui.inverted.table td[class*="brown marked"].left,
.ui.inverted.table tr[class*="brown marked"].left {
  box-shadow: 0.2em 0 0 0 #d67c1c inset;
}
.ui.inverted.table td[class*="brown marked"].right,
.ui.inverted.table tr[class*="brown marked"].right {
  box-shadow: -0.2em 0 0 0 #d67c1c inset;
}
.ui.grey.table {
  border-top: 0.2em solid #767676;
}
.ui.inverted.grey.table {
  background: #767676;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.grey,
.ui.scrolling.table > tfoot.grey {
  background: #dcddde;
  color: #dcddde;
}
.ui.scrolling.table > thead.grey > tr > th,
.ui.scrolling.table > tfoot.grey > tr > th,
.ui.scrolling.table > thead.grey > tr > td,
.ui.scrolling.table > tfoot.grey > tr > td {
  background: inherit;
  color: #767676;
}
.ui.inverted.scrolling.table > thead.grey,
.ui.inverted.scrolling.table > tfoot.grey {
  background: #767676;
  color: #767676;
}
.ui.inverted.scrolling.table > thead.grey > tr > th,
.ui.inverted.scrolling.table > tfoot.grey > tr > th,
.ui.inverted.scrolling.table > thead.grey > tr > td,
.ui.inverted.scrolling.table > tfoot.grey > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="grey colored"],
.ui.ui.table th[class*="grey colored"],
.ui.ui.table td[class*="grey colored"],
.ui.ui.ui.ui.table tr.grey:not(.marked),
.ui.ui.table th.grey:not(.marked),
.ui.ui.table td.grey:not(.marked) {
  background: #dcddde;
  color: #767676;
}
.ui.table > thead > tr[class*="grey colored"] > th,
.ui.table > tfoot > tr[class*="grey colored"] > th,
.ui.table > tfoot > tr[class*="grey colored"] > td,
.ui.table > thead > tr.grey:not(.marked) > th,
.ui.table > tfoot > tr.grey:not(.marked) > th,
.ui.table > tfoot > tr.grey:not(.marked) > td {
  background: inherit;
  color: #767676;
}
.ui.ui.ui.ui.inverted.table tr[class*="grey colored"],
.ui.ui.inverted.table th[class*="grey colored"],
.ui.ui.inverted.table td[class*="grey colored"],
.ui.ui.ui.ui.inverted.table tr.grey:not(.marked),
.ui.ui.inverted.table th.grey:not(.marked),
.ui.ui.inverted.table td.grey:not(.marked) {
  background: #767676;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="grey colored"] > th,
.ui.inverted.table > tfoot > tr[class*="grey colored"] > th,
.ui.inverted.table > tfoot > tr[class*="grey colored"] > td,
.ui.inverted.table > thead > tr.grey:not(.marked) > th,
.ui.inverted.table > tfoot > tr.grey:not(.marked) > th,
.ui.inverted.table > tfoot > tr.grey:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="grey colored"]:hover,
.ui.table tr td.selectable[class*="grey colored"]:hover,
.ui.selectable.table tr:hover td[class*="grey colored"],
.ui.ui.selectable.table tr.grey:not(.marked):hover,
.ui.table tr td.selectable.grey:not(.marked):hover,
.ui.selectable.table tr:hover td.grey:not(.marked) {
  background: #c2c4c5;
  color: #767676;
}
.ui.ui.inverted.selectable.table tr[class*="grey colored"]:hover,
.ui.inverted.table tr td.selectable[class*="grey colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="grey colored"],
.ui.ui.inverted.selectable.table tr.grey:not(.marked):hover,
.ui.inverted.table tr td.selectable.grey:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.grey:not(.marked) {
  background: #c2c4c5;
  color: #FFFFFF;
}
.ui.table td[class*="grey marked"].left,
.ui.table tr[class*="grey marked"].left {
  box-shadow: 0.2em 0 0 0 #767676 inset;
}
.ui.table td[class*="grey marked"].right,
.ui.table tr[class*="grey marked"].right {
  box-shadow: -0.2em 0 0 0 #767676 inset;
}
.ui.inverted.table td[class*="grey marked"].left,
.ui.inverted.table tr[class*="grey marked"].left {
  box-shadow: 0.2em 0 0 0 #dcddde inset;
}
.ui.inverted.table td[class*="grey marked"].right,
.ui.inverted.table tr[class*="grey marked"].right {
  box-shadow: -0.2em 0 0 0 #dcddde inset;
}
.ui.black.table {
  border-top: 0.2em solid #1b1c1d;
}
.ui.inverted.black.table {
  background: #1b1c1d;
  color: #FFFFFF;
}
/* Same color for background and color to camouflage the scrollbar */
.ui.scrolling.table > thead.black,
.ui.scrolling.table > tfoot.black {
  background: #545454;
  color: #545454;
}
.ui.scrolling.table > thead.black > tr > th,
.ui.scrolling.table > tfoot.black > tr > th,
.ui.scrolling.table > thead.black > tr > td,
.ui.scrolling.table > tfoot.black > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.inverted.scrolling.table > thead.black,
.ui.inverted.scrolling.table > tfoot.black {
  background: #1b1c1d;
  color: #1b1c1d;
}
.ui.inverted.scrolling.table > thead.black > tr > th,
.ui.inverted.scrolling.table > tfoot.black > tr > th,
.ui.inverted.scrolling.table > thead.black > tr > td,
.ui.inverted.scrolling.table > tfoot.black > tr > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.table tr[class*="black colored"],
.ui.ui.table th[class*="black colored"],
.ui.ui.table td[class*="black colored"],
.ui.ui.ui.ui.table tr.black:not(.marked),
.ui.ui.table th.black:not(.marked),
.ui.ui.table td.black:not(.marked) {
  background: #545454;
  color: #FFFFFF;
}
.ui.table > thead > tr[class*="black colored"] > th,
.ui.table > tfoot > tr[class*="black colored"] > th,
.ui.table > tfoot > tr[class*="black colored"] > td,
.ui.table > thead > tr.black:not(.marked) > th,
.ui.table > tfoot > tr.black:not(.marked) > th,
.ui.table > tfoot > tr.black:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.ui.ui.inverted.table tr[class*="black colored"],
.ui.ui.inverted.table th[class*="black colored"],
.ui.ui.inverted.table td[class*="black colored"],
.ui.ui.ui.ui.inverted.table tr.black:not(.marked),
.ui.ui.inverted.table th.black:not(.marked),
.ui.ui.inverted.table td.black:not(.marked) {
  background: #1b1c1d;
  color: #FFFFFF;
}
.ui.inverted.table > thead > tr[class*="black colored"] > th,
.ui.inverted.table > tfoot > tr[class*="black colored"] > th,
.ui.inverted.table > tfoot > tr[class*="black colored"] > td,
.ui.inverted.table > thead > tr.black:not(.marked) > th,
.ui.inverted.table > tfoot > tr.black:not(.marked) > th,
.ui.inverted.table > tfoot > tr.black:not(.marked) > td {
  background: inherit;
  color: #FFFFFF;
}
.ui.ui.selectable.table tr[class*="black colored"]:hover,
.ui.table tr td.selectable[class*="black colored"]:hover,
.ui.selectable.table tr:hover td[class*="black colored"],
.ui.ui.selectable.table tr.black:not(.marked):hover,
.ui.table tr td.selectable.black:not(.marked):hover,
.ui.selectable.table tr:hover td.black:not(.marked) {
  background: #000000;
  color: #FFFFFF;
}
.ui.ui.inverted.selectable.table tr[class*="black colored"]:hover,
.ui.inverted.table tr td.selectable[class*="black colored"]:hover,
.ui.inverted.selectable.table tr:hover td[class*="black colored"],
.ui.ui.inverted.selectable.table tr.black:not(.marked):hover,
.ui.inverted.table tr td.selectable.black:not(.marked):hover,
.ui.inverted.selectable.table tr:hover td.black:not(.marked) {
  background: #000000;
  color: #1b1c1d;
}
.ui.table td[class*="black marked"].left,
.ui.table tr[class*="black marked"].left {
  box-shadow: 0.2em 0 0 0 #1b1c1d inset;
}
.ui.table td[class*="black marked"].right,
.ui.table tr[class*="black marked"].right {
  box-shadow: -0.2em 0 0 0 #1b1c1d inset;
}
.ui.inverted.table td[class*="black marked"].left,
.ui.inverted.table tr[class*="black marked"].left {
  box-shadow: 0.2em 0 0 0 #545454 inset;
}
.ui.inverted.table td[class*="black marked"].right,
.ui.inverted.table tr[class*="black marked"].right {
  box-shadow: -0.2em 0 0 0 #545454 inset;
}
/* --------------
      Column Count
    --------------- */
/* Grid Based */
.ui.one.column.table td {
  width: 100%;
}
.ui.two.column.table td {
  width: 50%;
}
.ui.three.column.table td {
  width: 33.33333333%;
}
.ui.four.column.table td {
  width: 25%;
}
.ui.five.column.table td {
  width: 20%;
}
.ui.six.column.table td {
  width: 16.66666667%;
}
.ui.seven.column.table td {
  width: 14.28571429%;
}
.ui.eight.column.table td {
  width: 12.5%;
}
.ui.nine.column.table td {
  width: 11.11111111%;
}
.ui.ten.column.table td {
  width: 10%;
}
.ui.eleven.column.table td {
  width: 9.09090909%;
}
.ui.twelve.column.table td {
  width: 8.33333333%;
}
.ui.thirteen.column.table td {
  width: 7.69230769%;
}
.ui.fourteen.column.table td {
  width: 7.14285714%;
}
.ui.fifteen.column.table td {
  width: 6.66666667%;
}
.ui.sixteen.column.table td {
  width: 6.25%;
}
/* Column Width */
.ui.table th.one.wide,
.ui.table td.one.wide {
  width: 6.25%;
}
.ui.table th.two.wide,
.ui.table td.two.wide {
  width: 12.5%;
}
.ui.table th.three.wide,
.ui.table td.three.wide {
  width: 18.75%;
}
.ui.table th.four.wide,
.ui.table td.four.wide {
  width: 25%;
}
.ui.table th.five.wide,
.ui.table td.five.wide {
  width: 31.25%;
}
.ui.table th.six.wide,
.ui.table td.six.wide {
  width: 37.5%;
}
.ui.table th.seven.wide,
.ui.table td.seven.wide {
  width: 43.75%;
}
.ui.table th.eight.wide,
.ui.table td.eight.wide {
  width: 50%;
}
.ui.table th.nine.wide,
.ui.table td.nine.wide {
  width: 56.25%;
}
.ui.table th.ten.wide,
.ui.table td.ten.wide {
  width: 62.5%;
}
.ui.table th.eleven.wide,
.ui.table td.eleven.wide {
  width: 68.75%;
}
.ui.table th.twelve.wide,
.ui.table td.twelve.wide {
  width: 75%;
}
.ui.table th.thirteen.wide,
.ui.table td.thirteen.wide {
  width: 81.25%;
}
.ui.table th.fourteen.wide,
.ui.table td.fourteen.wide {
  width: 87.5%;
}
.ui.table th.fifteen.wide,
.ui.table td.fifteen.wide {
  width: 93.75%;
}
.ui.table th.sixteen.wide,
.ui.table td.sixteen.wide {
  width: 100%;
}
/* --------------
        Sortable
    --------------- */
.ui.sortable.table > thead > tr > th {
  cursor: pointer;
  white-space: nowrap;
  color: rgba(0, 0, 0, 0.87);
}
.ui.celled.sortable.table > thead > tr > th:not(:first-child) {
  border-left: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.sortable.table thead th.sorted,
.ui.sortable.table thead th.sorted:hover {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ui.sortable.table > thead > tr > th::after {
  display: none;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  content: "";
  height: 1em;
  width: auto;
  opacity: 0.8;
  margin: 0 0 0 0.5em;
  font-family: "Icons";
}
.ui.sortable.table thead th.ascending::after {
  content: "\f0d8";
}
.ui.sortable.table thead th.descending::after {
  content: "\f0d7";
}
/* Hover */
.ui.sortable.table th.disabled:hover {
  cursor: auto;
  color: rgba(40, 40, 40, 0.3);
}
.ui.sortable.table > thead > tr > th:hover {
  color: rgba(0, 0, 0, 0.8);
}
.ui.sortable.table:not(.basic) > thead > tr > th:hover {
  background: rgba(0, 0, 0, 0.05);
}
/* Sorted */
.ui.sortable.table thead th.sorted {
  color: rgba(0, 0, 0, 0.95);
}
.ui.sortable.table:not(.basic) thead th.sorted {
  background: rgba(0, 0, 0, 0.05);
}
.ui.sortable.table thead th.sorted::after {
  display: inline-block;
}
/* Sorted Hover */
.ui.sortable.table thead th.sorted:hover {
  color: rgba(0, 0, 0, 0.95);
}
.ui.sortable.table:not(.basic) thead th.sorted:hover {
  background: rgba(0, 0, 0, 0.05);
}
/* Inverted */
.ui.inverted.sortable.table thead th.sorted {
  color: #ffffff;
}
.ui.inverted.sortable.table:not(.basic) thead th.sorted {
  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));
}
.ui.inverted.sortable.table > thead > tr > th:hover {
  color: #ffffff;
}
.ui.inverted.sortable.table:not(.basic) > thead > tr > th:hover {
  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));
}
.ui.inverted.sortable.table:not(.basic) > thead > tr > th {
  border-left-color: transparent;
  border-right-color: transparent;
}
/* --------------
        Inverted
    --------------- */
/* Text Color */
.ui.inverted.table {
  background: #333;
  color: rgba(255, 255, 255, 0.9);
  border: none;
}
.ui.ui.inverted.table > thead > tr > th,
.ui.ui.inverted.table > tbody > tr > th,
.ui.ui.inverted.table > tr > th {
  background-color: rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}
.ui.ui.inverted.table > tfoot > tr > th,
.ui.ui.inverted.table > tfoot > tr > td {
  background-color: rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.table > tbody > tr > td,
.ui.inverted.table > tfoot > tr > td,
.ui.inverted.table > tr > td {
  border-color: rgba(255, 255, 255, 0.1);
}
.ui.ui.ui.inverted.table tr.disabled td,
.ui.ui.ui.inverted.table tr td.disabled,
.ui.inverted.table tr.disabled:hover td,
.ui.inverted.table tr:hover td.disabled {
  pointer-events: none;
  color: rgba(225, 225, 225, 0.3);
}
.ui.ui.ui.inverted.table tr td.disabled:not([class="disabled"]),
.ui.inverted.table tr.disabled:not([class="disabled"]) td,
.ui.inverted.table tr.disabled td[class]:not(.disabled),
.ui.inverted.table tr:hover td.disabled:not([class="disabled"]) {
  color: rgba(40, 40, 40, 0.3);
}
/* Definition */
.ui.inverted.definition.table > tfoot:not(.full-width) > tr > th:first-child,
.ui.inverted.definition.table > thead:not(.full-width) > tr > th:first-child {
  background: #FFFFFF;
}
.ui.inverted.definition.table > tbody > tr > td:first-child,
.ui.inverted.definition.table > tfoot > tr > td:first-child,
.ui.inverted.definition.table > tr > td:first-child {
  background: rgba(255, 255, 255, 0.02);
  color: #ffffff;
}
/* --------------
       Collapsing
    --------------- */
.ui.collapsing.table {
  width: auto;
}
/* --------------
          Basic
    --------------- */
.ui.basic.table {
  background: transparent;
  border: 1px solid rgba(34, 36, 38, 0.15);
  box-shadow: none;
}
.ui.basic.table > thead,
.ui.basic.table > tfoot {
  box-shadow: none;
}
.ui.basic.table > thead > tr > th,
.ui.basic.table > tbody > tr > th,
.ui.basic.table > tfoot > tr > th,
.ui.basic.table > tr > th {
  background: transparent;
  border-left: none;
}
.ui.basic.table > tbody > tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.ui.basic.table > tbody > tr > td,
.ui.basic.table > tfoot > tr > td,
.ui.basic.table > tr > td {
  background: transparent;
}
.ui.basic.striped.table > tbody > tr:nth-child(2n) {
  background-color: rgba(0, 0, 0, 0.05);
}
/* Very Basic */
.ui[class*="very basic"].table {
  border: none;
}
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > th,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > thead > tr > th,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > th,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tfoot > tr > th,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > td,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > td {
  padding: "";
}
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > th:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > thead > tr > th:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > th:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tfoot > tr > th:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > td:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > td:first-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tfoot > tr > td:first-child {
  padding-left: 0;
}
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > th:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > thead > tr > th:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > th:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tfoot > tr > th:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tr > td:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tbody > tr > td:last-child,
.ui[class*="very basic"].table:not(.sortable):not(.striped) > tfoot > tr > td:last-child {
  padding-right: 0;
}
.ui[class*="very basic"].table:not(.sortable):not(.striped) > thead > tr:first-child > th {
  padding-top: 0;
}
/* --------------
         Celled
    --------------- */
.ui.celled.table > tr > th,
.ui.celled.table > thead > tr > th,
.ui.celled.table > tbody > tr > th,
.ui.celled.table > tfoot > tr > th,
.ui.celled.table > tr > td,
.ui.celled.table > tbody > tr > td,
.ui.celled.table > tfoot > tr > td {
  border-left: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.inverted.celled.table > tbody > tr > td,
.ui.inverted.celled.table > tr > td {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.celled.table > tr > th:first-child,
.ui.celled.table > thead > tr > th:first-child,
.ui.celled.table > tbody > tr > th:first-child,
.ui.celled.table > tfoot > tr > th:first-child,
.ui.celled.table > tr > td:first-child,
.ui.celled.table > tbody > tr > td:first-child,
.ui.celled.table > tfoot > tr > td:first-child {
  border-left: none;
}
/* --------------
         Padded
    --------------- */
.ui.padded.table > tr > th,
.ui.padded.table > thead > tr > th,
.ui.padded.table > tbody > tr > th,
.ui.padded.table > tfoot > tr > th {
  padding-left: 1em;
  padding-right: 1em;
}
.ui.padded.table > tr > th,
.ui.padded.table > thead > tr > th,
.ui.padded.table > tbody > tr > th,
.ui.padded.table > tfoot > tr > th,
.ui.padded.table > tr > td,
.ui.padded.table > tbody > tr > td,
.ui.padded.table > tfoot > tr > td {
  padding: 1em 1em;
}
/* Very */
.ui[class*="very padded"].table > tr > th,
.ui[class*="very padded"].table > thead > tr > th,
.ui[class*="very padded"].table > tbody > tr > th,
.ui[class*="very padded"].table > tfoot > tr > th {
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.ui[class*="very padded"].table > tr > td,
.ui[class*="very padded"].table > tbody > tr > td,
.ui[class*="very padded"].table > tfoot > tr > td {
  padding: 1.5em 1.5em;
}
/* --------------
         Compact
    --------------- */
.ui.compact.table > tr > th,
.ui.compact.table > thead > tr > th,
.ui.compact.table > tbody > tr > th,
.ui.compact.table > tfoot > tr > th {
  padding-left: 0.7em;
  padding-right: 0.7em;
}
.ui.compact.table > tr > td,
.ui.compact.table > tbody > tr > td,
.ui.compact.table > tfoot > tr > td {
  padding: 0.5em 0.7em;
}
/* Very */
.ui[class*="very compact"].table > tr > th,
.ui[class*="very compact"].table > thead > tr > th,
.ui[class*="very compact"].table > tbody > tr > th,
.ui[class*="very compact"].table > tfoot > tr > th {
  padding-left: 0.6em;
  padding-right: 0.6em;
}
.ui[class*="very compact"].table > tr > td,
.ui[class*="very compact"].table > tbody > tr > td,
.ui[class*="very compact"].table > tfoot > tr > td {
  padding: 0.4em 0.6em;
}
/* --------------
         Stuck
    --------------- */
.ui.stuck.table:not(.inverted) {
  background: #FFFFFF;
}
.ui.stuck.table:not(.inverted) > thead > tr {
  background: #f9fafb;
}
.ui.stuck.table:not(.inverted) > tbody > tr {
  background: #FFFFFF;
}
.ui.stuck.table:not(.inverted) > tfoot > tr {
  background: #f9fafb;
}
.ui.stuck.table:not(.inverted).basic > thead > tr,
.ui.stuck.table:not(.inverted).basic > tfoot > tr {
  background: #FFFFFF;
}
.ui.inverted.stuck.table > thead > tr {
  background: #252525;
}
.ui.inverted.stuck.table > tbody > tr {
  background: #333;
}
.ui.inverted.stuck.table > tfoot > tr {
  background: #252525;
}
.ui.inverted.stuck.table.basic > thead > tr,
.ui.inverted.stuck.table.basic > tfoot > tr {
  background: #333;
}
.ui.head.stuck.table > thead,
.ui.foot.stuck.table > tfoot {
  position: sticky;
  z-index: 800;
}
.ui.head.stuck.table {
  border-top: 0;
}
.ui.head.stuck.table > thead {
  top: 0;
  bottom: auto;
}
.ui.head.stuck.table > thead > tr:first-child > th {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.head.stuck.table.inverted > thead > tr:first-child > th {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.foot.stuck.table {
  border-bottom: 0;
}
.ui.foot.stuck.table > tfoot {
  top: auto;
  bottom: 0;
}
.ui.foot.stuck.table > tfoot > tr:last-child > td,
.ui.foot.stuck.table > tfoot > tr:last-child > th {
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.foot.stuck.table.inverted > tfoot > tr:first-child > td,
.ui.foot.stuck.table.inverted > tfoot > tr:first-child > th {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.first.stuck.table {
  border-left: 0;
}
.ui.first.stuck.table th:first-child,
.ui.first.stuck.table td:first-child {
  position: sticky;
  left: 0;
  border-left: 1px solid rgba(34, 36, 38, 0.1);
  background: inherit;
}
.ui.first.stuck.table.inverted th:first-child,
.ui.first.stuck.table.inverted td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.last.stuck.table {
  border-right: 0;
}
.ui.last.stuck.table th:last-child,
.ui.last.stuck.table td:last-child {
  position: sticky;
  right: 0;
  border-right: 1px solid rgba(34, 36, 38, 0.1);
  background: inherit;
}
.ui.last.stuck.table.inverted th:last-child,
.ui.last.stuck.table.inverted td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.celled.first.stuck.table th:first-child,
.ui.celled.first.stuck.table td:first-child {
  border-right: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.celled.last.stuck.table th:last-child,
.ui.celled.last.stuck.table td:last-child {
  border-left: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.inverted.celled.first.stuck.table th:first-child,
.ui.inverted.celled.first.stuck.table td:first-child {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.inverted.celled.last.stuck.table th:last-child,
.ui.inverted.celled.last.stuck.table td:last-child {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}
/* --------------
      Sizes
--------------- */
/* Standard */
.ui.table {
  font-size: 1em;
}
.ui.mini.table {
  font-size: 0.78571429rem;
}
.ui.tiny.table {
  font-size: 0.85714286rem;
}
.ui.small.table {
  font-size: 0.9em;
}
.ui.large.table {
  font-size: 1.1em;
}
.ui.big.table {
  font-size: 1.28571429rem;
}
.ui.huge.table {
  font-size: 1.42857143rem;
}
.ui.massive.table {
  font-size: 1.71428571rem;
}
/*******************************
           Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/* Variations */
.ui.table .fixed {
  min-width: 12em;
}
/* Views */
/*!
 * # Fomantic-UI - Ad
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Copyright 2013 Contributors
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
          Advertisement
*******************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
         Advertisement
*******************************/
.ui.ad {
  display: block;
  overflow: hidden;
  margin: 1em 0;
}
.ui.ad:first-child {
  margin: 0;
}
.ui.ad:last-child {
  margin: 0;
}
.ui.ad iframe {
  margin: 0;
  padding: 0;
  border: none;
  overflow: hidden;
}
/* --------------
     Common
--------------- */
/* Leaderboard */
.ui.leaderboard.ad {
  width: 728px;
  height: 90px;
}
/* Medium Rectangle */
.ui[class*="medium rectangle"].ad {
  width: 300px;
  height: 250px;
}
/* Large Rectangle */
.ui[class*="large rectangle"].ad {
  width: 336px;
  height: 280px;
}
/* Half Page */
.ui[class*="half page"].ad {
  width: 300px;
  height: 600px;
}
/* --------------
         Square
    --------------- */
/* Square */
.ui.square.ad {
  width: 250px;
  height: 250px;
}
/* Small Square */
.ui[class*="small square"].ad {
  width: 200px;
  height: 200px;
}
/* --------------
        Rectangle
    --------------- */
/* Small Rectangle */
.ui[class*="small rectangle"].ad {
  width: 180px;
  height: 150px;
}
/* Vertical Rectangle */
.ui[class*="vertical rectangle"].ad {
  width: 240px;
  height: 400px;
}
/* --------------
         Button
    --------------- */
.ui.button.ad {
  width: 120px;
  height: 90px;
}
.ui[class*="square button"].ad {
  width: 125px;
  height: 125px;
}
.ui[class*="small button"].ad {
  width: 120px;
  height: 60px;
}
/* --------------
       Skyscrapers
    --------------- */
/* Skyscraper */
.ui.skyscraper.ad {
  width: 120px;
  height: 600px;
}
/* Wide Skyscraper */
.ui[class*="wide skyscraper"].ad {
  width: 160px;
}
/* --------------
         Banners
    --------------- */
/* Banner */
.ui.banner.ad {
  width: 468px;
  height: 60px;
}
/* Vertical Banner */
.ui[class*="vertical banner"].ad {
  width: 120px;
  height: 240px;
}
/* Top Banner */
.ui[class*="top banner"].ad {
  width: 930px;
  height: 180px;
}
/* Half Banner */
.ui[class*="half banner"].ad {
  width: 234px;
  height: 60px;
}
/* --------------
    Boards
--------------- */
/* Leaderboard */
.ui[class*="large leaderboard"].ad {
  width: 970px;
  height: 90px;
}
/* Billboard */
.ui.billboard.ad {
  width: 970px;
  height: 250px;
}
/* --------------
        Panorama
    --------------- */
/* Panorama */
.ui.panorama.ad {
  width: 980px;
  height: 120px;
}
/* --------------
         Netboard
    --------------- */
/* Netboard */
.ui.netboard.ad {
  width: 580px;
  height: 400px;
}
/* --------------
         Mobile
    --------------- */
/* Large Mobile Banner */
.ui[class*="large mobile banner"].ad {
  width: 320px;
  height: 100px;
}
/* Mobile Leaderboard */
.ui[class*="mobile leaderboard"].ad {
  width: 320px;
  height: 50px;
}
/*******************************
                 Types
    *******************************/
/* Mobile Sizes */
.ui.mobile.ad {
  display: none;
}
@media only screen and (max-width: 767.98px) {
  .ui.mobile.ad {
    display: block;
  }
}
/*******************************
           Variations
*******************************/
.ui.centered.ad {
  margin-left: auto;
  margin-right: auto;
}
.ui.test.ad {
  position: relative;
  background: #545454;
}
.ui.test.ad::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  transform: translateX(-50%) translateY(-50%);
  content: "Ad";
  color: #FFFFFF;
  font-size: 1em;
  font-weight: bold;
}
.ui.mobile.test.ad::after {
  font-size: 0.85714286em;
}
.ui.test.ad[data-text]::after {
  content: attr(data-text);
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Card
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Card
*******************************/
/* -------------------
         View
-------------------- */
/* Shadow */
/* Card */
/* Card Group */
/* Consecutive Cards */
/* -------------------
       Content
-------------------- */
/* Image */
/* Content */
/* Header */
/* Metadata */
/* Icons */
/* Links */
/* Description */
/* Content Image */
/* Avatar Image */
/* Paragraph */
/* Dimmer */
/* Additional Content */
/* Extra Links */
/* Buttons */
/*******************************
            States
*******************************/
/* Loading Dimmer */
/* Loading Spinner */
/* -------------------
      Variations
-------------------- */
/* Link */
/* Horizontal */
/* Raised */
/* Basic Raised */
/* Card Count */
/* Stackable */
/* Sizes */
/* Colored */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Standard
*******************************/
/* --------------
      Card
--------------- */
.ui.cards > .card,
.ui.card {
  max-width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 290px;
  min-height: 0;
  background: #FFFFFF;
  padding: 0;
  border: none;
  border-radius: 0.28571429rem;
  box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;
  transition: box-shadow 0.1s ease, transform 0.1s ease;
  z-index: "";
  word-wrap: break-word;
}
.ui.card {
  margin: 1em 0;
}
.ui.cards > .card a,
.ui.card a {
  cursor: pointer;
}
.ui.card:first-child {
  margin-top: 0;
}
.ui.card:last-child {
  margin-bottom: 0;
}
/* --------------
      Cards
--------------- */
.ui.cards {
  display: flex;
  margin: -0.875em -0.5em;
  flex-wrap: wrap;
}
.ui.cards > .card {
  display: flex;
  margin: 0.875em 0.5em;
  float: none;
}
/* Clearing */
.ui.cards::after,
.ui.card::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
/* Consecutive Card Groups Preserve Row Spacing */
.ui.cards ~ .ui.cards {
  margin-top: 0.875em;
}
/* --------------
  Rounded Edges
--------------- */
.ui.cards > .card > :first-child,
.ui.card > :first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0 !important;
  border-top: none !important;
}
.ui.cards > .card > :last-child,
.ui.card > :last-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
}
.ui.cards > .card > :only-child,
.ui.card > :only-child {
  border-radius: 0.28571429rem !important;
}
/* --------------
         Images
    --------------- */
.ui.cards > .card > .image,
.ui.card > .image {
  position: relative;
  display: block;
  flex: 0 0 auto;
  padding: 0;
  background: rgba(0, 0, 0, 0.05);
}
.ui.cards > .card > .image > img,
.ui.card > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}
.ui.cards > .card > .image:not(.ui) > img,
.ui.card > .image:not(.ui) > img {
  border: none;
}
/* --------------
     Content
--------------- */
.ui.cards > .card > .content,
.ui.card > .content {
  flex-grow: 1;
  border: none;
  border-top: 1px solid rgba(34, 36, 38, 0.1);
  background: none;
  margin: 0;
  padding: 1em;
  box-shadow: none;
  font-size: 1em;
  border-radius: 0;
}
.ui.cards > .card > .content::after,
.ui.card > .content::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
.ui.cards > .card > .content > .header,
.ui.card > .content > .header {
  display: block;
  margin: "";
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: rgba(0, 0, 0, 0.85);
}
/* Default Header Size */
.ui.cards > .card > .content > .header:not(.ui),
.ui.card > .content > .header:not(.ui) {
  font-weight: bold;
  font-size: 1.28571429em;
  margin-top: -0.21425em;
  line-height: 1.28571429em;
}
.ui.cards > .card > .content > .meta + .description,
.ui.cards > .card > .content > .header + .description,
.ui.card > .content > .meta + .description,
.ui.card > .content > .header + .description {
  margin-top: 0.5em;
}
/* ----------------
     Floated Content
    ----------------- */
.ui.cards > .card [class*="left floated"],
.ui.card [class*="left floated"] {
  float: left;
}
.ui.cards > .card [class*="right floated"],
.ui.card [class*="right floated"] {
  float: right;
}
/* --------------
         Aligned
    --------------- */
.ui.cards > .card [class*="left aligned"],
.ui.card [class*="left aligned"] {
  text-align: left;
}
.ui.cards > .card [class*="center aligned"],
.ui.card [class*="center aligned"] {
  text-align: center;
}
.ui.cards > .card [class*="right aligned"],
.ui.card [class*="right aligned"] {
  text-align: right;
}
/* --------------
      Content Image
    --------------- */
.ui.cards > .card .content img,
.ui.card .content img {
  display: inline-block;
  vertical-align: middle;
  width: "";
}
.ui.cards > .card img.avatar,
.ui.cards > .card .avatar img,
.ui.card img.avatar,
.ui.card .avatar img {
  width: 2em;
  height: 2em;
  border-radius: 500rem;
}
/* --------------
       Description
    --------------- */
.ui.cards > .card > .content > .description,
.ui.card > .content > .description {
  clear: both;
  color: rgba(0, 0, 0, 0.68);
}
/* --------------
    Paragraph
--------------- */
.ui.cards > .card > .content p,
.ui.card > .content p {
  margin: 0 0 0.5em;
}
.ui.cards > .card > .content p:last-child,
.ui.card > .content p:last-child {
  margin-bottom: 0;
}
/* --------------
          Meta
    --------------- */
.ui.cards > .card .meta,
.ui.card .meta {
  font-size: 1em;
  color: rgba(0, 0, 0, 0.4);
}
.ui.cards > .card .meta *,
.ui.card .meta * {
  margin-right: 0.3em;
}
.ui.cards > .card .meta :last-child,
.ui.card .meta :last-child {
  margin-right: 0;
}
.ui.cards > .card .meta [class*="right floated"],
.ui.card .meta [class*="right floated"] {
  margin-right: 0;
  margin-left: 0.3em;
}
/* --------------
      Links
--------------- */
/* Generic */
.ui.cards > .card > .content a:not(.ui),
.ui.card > .content a:not(.ui) {
  color: "";
  transition: color 0.1s ease;
}
.ui.cards > .card > .content a:not(.ui):hover,
.ui.card > .content a:not(.ui):hover {
  color: "";
}
/* Header */
.ui.cards > .card > .content > a.header,
.ui.card > .content > a.header {
  color: rgba(0, 0, 0, 0.85);
}
.ui.cards > .card > .content > a.header:hover,
.ui.card > .content > a.header:hover {
  color: #1e70bf;
}
/* Meta */
.ui.cards > .card .meta > a:not(.ui),
.ui.card .meta > a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}
.ui.cards > .card .meta > a:not(.ui):hover,
.ui.card .meta > a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.87);
}
/* --------------
         Buttons
    --------------- */
.ui.cards > .card > .buttons,
.ui.card > .buttons,
.ui.cards > .card > .button,
.ui.card > .button {
  margin: 0 -1px;
  width: calc(100% + 2px);
}
.ui.cards > .card > .buttons:last-child,
.ui.card > .buttons:last-child,
.ui.cards > .card > .button:last-child,
.ui.card > .button:last-child {
  margin-bottom: -1px;
}
/* --------------
       Basic
    --------------- */
.ui.cards:not(.raised) > .basic.card:not(.raised),
.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised),
.ui.ui.ui.basic.card:not(.raised) {
  box-shadow: none;
}
.ui.cards:not(.raised) > .basic.card:not(.raised) > .buttons,
.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised) > .buttons,
.ui.ui.ui.basic.card:not(.raised) > .buttons,
.ui.cards:not(.raised) > .basic.card:not(.raised) > .button,
.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised) > .button,
.ui.ui.ui.basic.card:not(.raised) > .button {
  margin: 0;
  width: 100%;
}
.ui.ui.ui.ui.ui.basic.card:not(.raised):hover,
.ui.ui.ui.ui.ui.basic.cards:not(.raised) .card:not(.raised):hover {
  box-shadow: none;
}
/* --------------
      Dimmer
--------------- */
.ui.cards > .card .dimmer,
.ui.card .dimmer {
  background: "";
  z-index: 10;
}
/* --------------
     Labels
--------------- */
/* -----Star----- */
/* Icon */
.ui.cards > .card > .content .star.icon,
.ui.card > .content .star.icon {
  cursor: pointer;
  opacity: 0.75;
  transition: color 0.1s ease;
}
.ui.cards > .card > .content .star.icon:hover,
.ui.card > .content .star.icon:hover {
  opacity: 1;
  color: #ffb70a;
}
.ui.cards > .card > .content .active.star.icon,
.ui.card > .content .active.star.icon {
  color: #ffe623;
}
/* -----Like----- */
/* Icon */
.ui.cards > .card > .content .like.icon,
.ui.card > .content .like.icon {
  cursor: pointer;
  opacity: 0.75;
  transition: color 0.1s ease;
}
.ui.cards > .card > .content .like.icon:hover,
.ui.card > .content .like.icon:hover {
  opacity: 1;
  color: #ff2733;
}
.ui.cards > .card > .content .active.like.icon,
.ui.card > .content .active.like.icon {
  color: #ff2733;
}
/* ----------------
      Extra Content
    ----------------- */
.ui.cards > .card > .extra,
.ui.card > .extra {
  max-width: 100%;
  min-height: 0 !important;
  flex-grow: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
  position: static;
  background: none;
  width: auto;
  margin: 0;
  padding: 0.75em 1em;
  top: 0;
  left: 0;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: none;
  transition: color 0.1s ease;
}
.ui.cards > .card > .extra a:not(.ui),
.ui.card > .extra a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}
.ui.cards > .card > .extra a:not(.ui):hover,
.ui.card > .extra a:not(.ui):hover {
  color: #1e70bf;
}
/*******************************
            States
*******************************/
/* --------------
        Disabled
    --------------- */
.ui.disabled.card {
  opacity: 0.45;
  color: rgba(40, 40, 40, 0.3);
  pointer-events: none;
}
/* --------------
        Loading
    --------------- */
.ui.loading.card {
  position: relative;
  cursor: default;
  pointer-events: none;
  transition: all 0s linear;
}
.ui.loading.card::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  border-radius: 0.28571429rem;
  z-index: 100;
}
.ui.loading.card::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1.5em 0 0 -1.5em;
  width: 3em;
  height: 3em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
  visibility: visible;
  z-index: 101;
}
/*******************************
           Variations
*******************************/
/* -------------------
          Horizontal
    -------------------- */
.ui.horizontal.cards > .card,
.ui.card.horizontal {
  flex-flow: row wrap;
  min-width: 270px;
  width: 400px;
  max-width: 100%;
}
.ui.horizontal.cards > .card > .image,
.ui.card.horizontal > .image {
  border-radius: 0.28571429rem 0 0 0.28571429rem;
  width: 150px;
}
.ui.horizontal.cards > .card > .image > img,
.ui.card.horizontal > .image > img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  justify-content: center;
  align-items: center;
  display: flex;
  width: 100%;
  border-radius: 0.28571429rem 0 0 0.28571429rem;
}
.ui.horizontal.cards > .card > .image:last-child > img,
.ui.card.horizontal > .image:last-child > img {
  border-radius: 0 0.28571429rem 0.28571429rem 0;
}
.ui.horizontal.cards > .card > .content,
.ui.horizontal.card > .content {
  border-top: none;
  flex-basis: 1px;
}
.ui.horizontal.cards > .card > .extra,
.ui.horizontal.card > .extra {
  flex-basis: 100%;
}
/* -------------------
           Raised
    -------------------- */
.ui.cards > .raised.card,
.ui.raised.cards > .card,
.ui.raised.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.raised.cards a.card:hover,
.ui.link.cards .raised.card:hover,
a.ui.raised.card:hover,
.ui.link.raised.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25);
}
.ui.basic.cards > .raised.card,
.ui.basic.raised.cards > .card,
.ui.raised.cards > .basic.card,
.ui.basic.raised.card {
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.basic.raised.cards a.card:hover,
.ui.link.cards .basic.raised.card:hover,
.ui.link.basic.cards .raised.card:hover,
.ui.link.basic.raised.cards .card:hover,
a.ui.basic.raised.card:hover,
.ui.link.basic.raised.card:hover {
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25);
}
/* -------------------
           Centered
    -------------------- */
.ui.centered.cards {
  justify-content: center;
}
.ui.centered.card {
  margin-left: auto;
  margin-right: auto;
}
/* -------------------
            Fluid
    -------------------- */
.ui.fluid.card {
  width: 100%;
  max-width: 9999px;
}
/* -------------------
            Link
    -------------------- */
.ui.cards a.card,
.ui.link.cards .card,
a.ui.card,
.ui.link.card {
  transform: none;
}
.ui.cards a.card:hover,
.ui.link.cards .card:not(.icon):hover,
a.ui.card:hover,
.ui.link.card:hover {
  cursor: pointer;
  z-index: 5;
  background: #FFFFFF;
  border: none;
  box-shadow: 0 1px 3px 0 #bcbdbd, 0 0 0 1px #d4d4d5;
  transform: translateY(-3px);
}
/* -------------------
       Colors
-------------------- */
.ui.primary.cards > .card,
.ui.cards > .primary.card,
.ui.primary.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #6C3667, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.primary.card:hover,
.ui.primary.cards a.card:hover,
.ui.link.primary.cards .card:not(.icon):hover,
.ui.link.cards .primary.card:not(.icon):hover,
a.ui.primary.card:hover,
.ui.link.primary.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #5d2b59, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.primary.card,
.ui.basic.primary.cards > .card,
.ui.basic.cards > .primary.card,
.ui.basic.primary.card {
  background: #54c8ff;
}
.ui.basic.cards a.primary.card:hover,
.ui.cards a.basic.primary.card:hover,
.ui.basic.primary.cards a.card:hover,
.ui.link.cards .basic.primary.card:not(.icon):hover,
.ui.link.basic.primary.cards .card:not(.icon):hover,
.ui.link.basic.cards .primary.card:not(.icon):hover,
a.ui.basic.primary.card:hover,
.ui.link.basic.primary.card:hover {
  background: #21b8ff;
}
.ui.inverted.primary.cards > .card,
.ui.inverted.cards > .primary.card,
.ui.inverted.primary.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #54c8ff, 0 0 0 1px #555;
}
.ui.inverted.cards a.primary.card:hover,
.ui.inverted.primary.cards a.card:hover,
.ui.link.inverted.primary.cards .card:not(.icon):hover,
.ui.link.inverted.cards .primary.card:not(.icon):hover,
a.ui.inverted.primary.card:hover,
.ui.link.inverted.primary.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.primary.card,
.ui.basic.inverted.primary.cards > .card,
.ui.basic.inverted.cards > .primary.card,
.ui.basic.inverted.primary.card {
  background: #6C3667;
}
.ui.inverted.cards a.basic.primary.card:hover,
.ui.basic.inverted.cards a.primary.card:hover,
.ui.basic.inverted.primary.cards a.card:hover,
.ui.link.inverted.cards .basic.primary.card:not(.icon):hover,
.ui.link.basic.inverted.primary.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .primary.card:not(.icon):hover,
a.ui.basic.inverted.primary.card:hover,
.ui.link.basic.inverted.primary.card:hover {
  background: #5d2b59;
}
.ui.secondary.cards > .card,
.ui.cards > .secondary.card,
.ui.secondary.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #88d317, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.secondary.card:hover,
.ui.secondary.cards a.card:hover,
.ui.link.secondary.cards .card:not(.icon):hover,
.ui.link.cards .secondary.card:not(.icon):hover,
a.ui.secondary.card:hover,
.ui.link.secondary.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #98f013, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.secondary.card,
.ui.basic.secondary.cards > .card,
.ui.basic.cards > .secondary.card,
.ui.basic.secondary.card {
  background: #545454;
}
.ui.basic.cards a.secondary.card:hover,
.ui.cards a.basic.secondary.card:hover,
.ui.basic.secondary.cards a.card:hover,
.ui.link.cards .basic.secondary.card:not(.icon):hover,
.ui.link.basic.secondary.cards .card:not(.icon):hover,
.ui.link.basic.cards .secondary.card:not(.icon):hover,
a.ui.basic.secondary.card:hover,
.ui.link.basic.secondary.card:hover {
  background: #6e6e6e;
}
.ui.inverted.secondary.cards > .card,
.ui.inverted.cards > .secondary.card,
.ui.inverted.secondary.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #545454, 0 0 0 1px #555;
}
.ui.inverted.cards a.secondary.card:hover,
.ui.inverted.secondary.cards a.card:hover,
.ui.link.inverted.secondary.cards .card:not(.icon):hover,
.ui.link.inverted.cards .secondary.card:not(.icon):hover,
a.ui.inverted.secondary.card:hover,
.ui.link.inverted.secondary.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.secondary.card,
.ui.basic.inverted.secondary.cards > .card,
.ui.basic.inverted.cards > .secondary.card,
.ui.basic.inverted.secondary.card {
  background: #88d317;
}
.ui.inverted.cards a.basic.secondary.card:hover,
.ui.basic.inverted.cards a.secondary.card:hover,
.ui.basic.inverted.secondary.cards a.card:hover,
.ui.link.inverted.cards .basic.secondary.card:not(.icon):hover,
.ui.link.basic.inverted.secondary.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .secondary.card:not(.icon):hover,
a.ui.basic.inverted.secondary.card:hover,
.ui.link.basic.inverted.secondary.card:hover {
  background: #98f013;
}
.ui.red.cards > .card,
.ui.cards > .red.card,
.ui.red.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #db2828, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.red.card:hover,
.ui.red.cards a.card:hover,
.ui.link.red.cards .card:not(.icon):hover,
.ui.link.cards .red.card:not(.icon):hover,
a.ui.red.card:hover,
.ui.link.red.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #d01919, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.red.card,
.ui.basic.red.cards > .card,
.ui.basic.cards > .red.card,
.ui.basic.red.card {
  background: #ff695e;
}
.ui.basic.cards a.red.card:hover,
.ui.cards a.basic.red.card:hover,
.ui.basic.red.cards a.card:hover,
.ui.link.cards .basic.red.card:not(.icon):hover,
.ui.link.basic.red.cards .card:not(.icon):hover,
.ui.link.basic.cards .red.card:not(.icon):hover,
a.ui.basic.red.card:hover,
.ui.link.basic.red.card:hover {
  background: #ff392b;
}
.ui.inverted.red.cards > .card,
.ui.inverted.cards > .red.card,
.ui.inverted.red.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff695e, 0 0 0 1px #555;
}
.ui.inverted.cards a.red.card:hover,
.ui.inverted.red.cards a.card:hover,
.ui.link.inverted.red.cards .card:not(.icon):hover,
.ui.link.inverted.cards .red.card:not(.icon):hover,
a.ui.inverted.red.card:hover,
.ui.link.inverted.red.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff392b, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.red.card,
.ui.basic.inverted.red.cards > .card,
.ui.basic.inverted.cards > .red.card,
.ui.basic.inverted.red.card {
  background: #db2828;
}
.ui.inverted.cards a.basic.red.card:hover,
.ui.basic.inverted.cards a.red.card:hover,
.ui.basic.inverted.red.cards a.card:hover,
.ui.link.inverted.cards .basic.red.card:not(.icon):hover,
.ui.link.basic.inverted.red.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .red.card:not(.icon):hover,
a.ui.basic.inverted.red.card:hover,
.ui.link.basic.inverted.red.card:hover {
  background: #d01919;
}
.ui.orange.cards > .card,
.ui.cards > .orange.card,
.ui.orange.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f2711c, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.orange.card:hover,
.ui.orange.cards a.card:hover,
.ui.link.orange.cards .card:not(.icon):hover,
.ui.link.cards .orange.card:not(.icon):hover,
a.ui.orange.card:hover,
.ui.link.orange.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f26202, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.orange.card,
.ui.basic.orange.cards > .card,
.ui.basic.cards > .orange.card,
.ui.basic.orange.card {
  background: #ff851b;
}
.ui.basic.cards a.orange.card:hover,
.ui.cards a.basic.orange.card:hover,
.ui.basic.orange.cards a.card:hover,
.ui.link.cards .basic.orange.card:not(.icon):hover,
.ui.link.basic.orange.cards .card:not(.icon):hover,
.ui.link.basic.cards .orange.card:not(.icon):hover,
a.ui.basic.orange.card:hover,
.ui.link.basic.orange.card:hover {
  background: #e76b00;
}
.ui.inverted.orange.cards > .card,
.ui.inverted.cards > .orange.card,
.ui.inverted.orange.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff851b, 0 0 0 1px #555;
}
.ui.inverted.cards a.orange.card:hover,
.ui.inverted.orange.cards a.card:hover,
.ui.link.inverted.orange.cards .card:not(.icon):hover,
.ui.link.inverted.cards .orange.card:not(.icon):hover,
a.ui.inverted.orange.card:hover,
.ui.link.inverted.orange.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #e76b00, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.orange.card,
.ui.basic.inverted.orange.cards > .card,
.ui.basic.inverted.cards > .orange.card,
.ui.basic.inverted.orange.card {
  background: #f2711c;
}
.ui.inverted.cards a.basic.orange.card:hover,
.ui.basic.inverted.cards a.orange.card:hover,
.ui.basic.inverted.orange.cards a.card:hover,
.ui.link.inverted.cards .basic.orange.card:not(.icon):hover,
.ui.link.basic.inverted.orange.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .orange.card:not(.icon):hover,
a.ui.basic.inverted.orange.card:hover,
.ui.link.basic.inverted.orange.card:hover {
  background: #f26202;
}
.ui.yellow.cards > .card,
.ui.cards > .yellow.card,
.ui.yellow.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #fbbd08, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.yellow.card:hover,
.ui.yellow.cards a.card:hover,
.ui.link.yellow.cards .card:not(.icon):hover,
.ui.link.cards .yellow.card:not(.icon):hover,
a.ui.yellow.card:hover,
.ui.link.yellow.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.yellow.card,
.ui.basic.yellow.cards > .card,
.ui.basic.cards > .yellow.card,
.ui.basic.yellow.card {
  background: #ffe21f;
}
.ui.basic.cards a.yellow.card:hover,
.ui.cards a.basic.yellow.card:hover,
.ui.basic.yellow.cards a.card:hover,
.ui.link.cards .basic.yellow.card:not(.icon):hover,
.ui.link.basic.yellow.cards .card:not(.icon):hover,
.ui.link.basic.cards .yellow.card:not(.icon):hover,
a.ui.basic.yellow.card:hover,
.ui.link.basic.yellow.card:hover {
  background: #ebcd00;
}
.ui.inverted.yellow.cards > .card,
.ui.inverted.cards > .yellow.card,
.ui.inverted.yellow.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ffe21f, 0 0 0 1px #555;
}
.ui.inverted.cards a.yellow.card:hover,
.ui.inverted.yellow.cards a.card:hover,
.ui.link.inverted.yellow.cards .card:not(.icon):hover,
.ui.link.inverted.cards .yellow.card:not(.icon):hover,
a.ui.inverted.yellow.card:hover,
.ui.link.inverted.yellow.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.yellow.card,
.ui.basic.inverted.yellow.cards > .card,
.ui.basic.inverted.cards > .yellow.card,
.ui.basic.inverted.yellow.card {
  background: #fbbd08;
}
.ui.inverted.cards a.basic.yellow.card:hover,
.ui.basic.inverted.cards a.yellow.card:hover,
.ui.basic.inverted.yellow.cards a.card:hover,
.ui.link.inverted.cards .basic.yellow.card:not(.icon):hover,
.ui.link.basic.inverted.yellow.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .yellow.card:not(.icon):hover,
a.ui.basic.inverted.yellow.card:hover,
.ui.link.basic.inverted.yellow.card:hover {
  background: #eaae00;
}
.ui.olive.cards > .card,
.ui.cards > .olive.card,
.ui.olive.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #b5cc18, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.olive.card:hover,
.ui.olive.cards a.card:hover,
.ui.link.olive.cards .card:not(.icon):hover,
.ui.link.cards .olive.card:not(.icon):hover,
a.ui.olive.card:hover,
.ui.link.olive.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.olive.card,
.ui.basic.olive.cards > .card,
.ui.basic.cards > .olive.card,
.ui.basic.olive.card {
  background: #d9e778;
}
.ui.basic.cards a.olive.card:hover,
.ui.cards a.basic.olive.card:hover,
.ui.basic.olive.cards a.card:hover,
.ui.link.cards .basic.olive.card:not(.icon):hover,
.ui.link.basic.olive.cards .card:not(.icon):hover,
.ui.link.basic.cards .olive.card:not(.icon):hover,
a.ui.basic.olive.card:hover,
.ui.link.basic.olive.card:hover {
  background: #d2e745;
}
.ui.inverted.olive.cards > .card,
.ui.inverted.cards > .olive.card,
.ui.inverted.olive.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d9e778, 0 0 0 1px #555;
}
.ui.inverted.cards a.olive.card:hover,
.ui.inverted.olive.cards a.card:hover,
.ui.link.inverted.olive.cards .card:not(.icon):hover,
.ui.link.inverted.cards .olive.card:not(.icon):hover,
a.ui.inverted.olive.card:hover,
.ui.link.inverted.olive.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d2e745, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.olive.card,
.ui.basic.inverted.olive.cards > .card,
.ui.basic.inverted.cards > .olive.card,
.ui.basic.inverted.olive.card {
  background: #b5cc18;
}
.ui.inverted.cards a.basic.olive.card:hover,
.ui.basic.inverted.cards a.olive.card:hover,
.ui.basic.inverted.olive.cards a.card:hover,
.ui.link.inverted.cards .basic.olive.card:not(.icon):hover,
.ui.link.basic.inverted.olive.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .olive.card:not(.icon):hover,
a.ui.basic.inverted.olive.card:hover,
.ui.link.basic.inverted.olive.card:hover {
  background: #a7bd0d;
}
.ui.green.cards > .card,
.ui.cards > .green.card,
.ui.green.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #21ba45, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.green.card:hover,
.ui.green.cards a.card:hover,
.ui.link.green.cards .card:not(.icon):hover,
.ui.link.cards .green.card:not(.icon):hover,
a.ui.green.card:hover,
.ui.link.green.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.green.card,
.ui.basic.green.cards > .card,
.ui.basic.cards > .green.card,
.ui.basic.green.card {
  background: #2ecc40;
}
.ui.basic.cards a.green.card:hover,
.ui.cards a.basic.green.card:hover,
.ui.basic.green.cards a.card:hover,
.ui.link.cards .basic.green.card:not(.icon):hover,
.ui.link.basic.green.cards .card:not(.icon):hover,
.ui.link.basic.cards .green.card:not(.icon):hover,
a.ui.basic.green.card:hover,
.ui.link.basic.green.card:hover {
  background: #1ea92e;
}
.ui.inverted.green.cards > .card,
.ui.inverted.cards > .green.card,
.ui.inverted.green.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #2ecc40, 0 0 0 1px #555;
}
.ui.inverted.cards a.green.card:hover,
.ui.inverted.green.cards a.card:hover,
.ui.link.inverted.green.cards .card:not(.icon):hover,
.ui.link.inverted.cards .green.card:not(.icon):hover,
a.ui.inverted.green.card:hover,
.ui.link.inverted.green.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.green.card,
.ui.basic.inverted.green.cards > .card,
.ui.basic.inverted.cards > .green.card,
.ui.basic.inverted.green.card {
  background: #21ba45;
}
.ui.inverted.cards a.basic.green.card:hover,
.ui.basic.inverted.cards a.green.card:hover,
.ui.basic.inverted.green.cards a.card:hover,
.ui.link.inverted.cards .basic.green.card:not(.icon):hover,
.ui.link.basic.inverted.green.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .green.card:not(.icon):hover,
a.ui.basic.inverted.green.card:hover,
.ui.link.basic.inverted.green.card:hover {
  background: #16ab39;
}
.ui.teal.cards > .card,
.ui.cards > .teal.card,
.ui.teal.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #00b5ad, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.teal.card:hover,
.ui.teal.cards a.card:hover,
.ui.link.teal.cards .card:not(.icon):hover,
.ui.link.cards .teal.card:not(.icon):hover,
a.ui.teal.card:hover,
.ui.link.teal.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #009c95, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.teal.card,
.ui.basic.teal.cards > .card,
.ui.basic.cards > .teal.card,
.ui.basic.teal.card {
  background: #6dffff;
}
.ui.basic.cards a.teal.card:hover,
.ui.cards a.basic.teal.card:hover,
.ui.basic.teal.cards a.card:hover,
.ui.link.cards .basic.teal.card:not(.icon):hover,
.ui.link.basic.teal.cards .card:not(.icon):hover,
.ui.link.basic.cards .teal.card:not(.icon):hover,
a.ui.basic.teal.card:hover,
.ui.link.basic.teal.card:hover {
  background: #3affff;
}
.ui.inverted.teal.cards > .card,
.ui.inverted.cards > .teal.card,
.ui.inverted.teal.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #6dffff, 0 0 0 1px #555;
}
.ui.inverted.cards a.teal.card:hover,
.ui.inverted.teal.cards a.card:hover,
.ui.link.inverted.teal.cards .card:not(.icon):hover,
.ui.link.inverted.cards .teal.card:not(.icon):hover,
a.ui.inverted.teal.card:hover,
.ui.link.inverted.teal.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #3affff, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.teal.card,
.ui.basic.inverted.teal.cards > .card,
.ui.basic.inverted.cards > .teal.card,
.ui.basic.inverted.teal.card {
  background: #00b5ad;
}
.ui.inverted.cards a.basic.teal.card:hover,
.ui.basic.inverted.cards a.teal.card:hover,
.ui.basic.inverted.teal.cards a.card:hover,
.ui.link.inverted.cards .basic.teal.card:not(.icon):hover,
.ui.link.basic.inverted.teal.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .teal.card:not(.icon):hover,
a.ui.basic.inverted.teal.card:hover,
.ui.link.basic.inverted.teal.card:hover {
  background: #009c95;
}
.ui.blue.cards > .card,
.ui.cards > .blue.card,
.ui.blue.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #2185d0, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.blue.card:hover,
.ui.blue.cards a.card:hover,
.ui.link.blue.cards .card:not(.icon):hover,
.ui.link.cards .blue.card:not(.icon):hover,
a.ui.blue.card:hover,
.ui.link.blue.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.blue.card,
.ui.basic.blue.cards > .card,
.ui.basic.cards > .blue.card,
.ui.basic.blue.card {
  background: #54c8ff;
}
.ui.basic.cards a.blue.card:hover,
.ui.cards a.basic.blue.card:hover,
.ui.basic.blue.cards a.card:hover,
.ui.link.cards .basic.blue.card:not(.icon):hover,
.ui.link.basic.blue.cards .card:not(.icon):hover,
.ui.link.basic.cards .blue.card:not(.icon):hover,
a.ui.basic.blue.card:hover,
.ui.link.basic.blue.card:hover {
  background: #21b8ff;
}
.ui.inverted.blue.cards > .card,
.ui.inverted.cards > .blue.card,
.ui.inverted.blue.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #54c8ff, 0 0 0 1px #555;
}
.ui.inverted.cards a.blue.card:hover,
.ui.inverted.blue.cards a.card:hover,
.ui.link.inverted.blue.cards .card:not(.icon):hover,
.ui.link.inverted.cards .blue.card:not(.icon):hover,
a.ui.inverted.blue.card:hover,
.ui.link.inverted.blue.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.blue.card,
.ui.basic.inverted.blue.cards > .card,
.ui.basic.inverted.cards > .blue.card,
.ui.basic.inverted.blue.card {
  background: #2185d0;
}
.ui.inverted.cards a.basic.blue.card:hover,
.ui.basic.inverted.cards a.blue.card:hover,
.ui.basic.inverted.blue.cards a.card:hover,
.ui.link.inverted.cards .basic.blue.card:not(.icon):hover,
.ui.link.basic.inverted.blue.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .blue.card:not(.icon):hover,
a.ui.basic.inverted.blue.card:hover,
.ui.link.basic.inverted.blue.card:hover {
  background: #1678c2;
}
.ui.violet.cards > .card,
.ui.cards > .violet.card,
.ui.violet.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #6435c9, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.violet.card:hover,
.ui.violet.cards a.card:hover,
.ui.link.violet.cards .card:not(.icon):hover,
.ui.link.cards .violet.card:not(.icon):hover,
a.ui.violet.card:hover,
.ui.link.violet.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.violet.card,
.ui.basic.violet.cards > .card,
.ui.basic.cards > .violet.card,
.ui.basic.violet.card {
  background: #a291fb;
}
.ui.basic.cards a.violet.card:hover,
.ui.cards a.basic.violet.card:hover,
.ui.basic.violet.cards a.card:hover,
.ui.link.cards .basic.violet.card:not(.icon):hover,
.ui.link.basic.violet.cards .card:not(.icon):hover,
.ui.link.basic.cards .violet.card:not(.icon):hover,
a.ui.basic.violet.card:hover,
.ui.link.basic.violet.card:hover {
  background: #745aff;
}
.ui.inverted.violet.cards > .card,
.ui.inverted.cards > .violet.card,
.ui.inverted.violet.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #a291fb, 0 0 0 1px #555;
}
.ui.inverted.cards a.violet.card:hover,
.ui.inverted.violet.cards a.card:hover,
.ui.link.inverted.violet.cards .card:not(.icon):hover,
.ui.link.inverted.cards .violet.card:not(.icon):hover,
a.ui.inverted.violet.card:hover,
.ui.link.inverted.violet.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #745aff, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.violet.card,
.ui.basic.inverted.violet.cards > .card,
.ui.basic.inverted.cards > .violet.card,
.ui.basic.inverted.violet.card {
  background: #6435c9;
}
.ui.inverted.cards a.basic.violet.card:hover,
.ui.basic.inverted.cards a.violet.card:hover,
.ui.basic.inverted.violet.cards a.card:hover,
.ui.link.inverted.cards .basic.violet.card:not(.icon):hover,
.ui.link.basic.inverted.violet.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .violet.card:not(.icon):hover,
a.ui.basic.inverted.violet.card:hover,
.ui.link.basic.inverted.violet.card:hover {
  background: #5829bb;
}
.ui.purple.cards > .card,
.ui.cards > .purple.card,
.ui.purple.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a333c8, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.purple.card:hover,
.ui.purple.cards a.card:hover,
.ui.link.purple.cards .card:not(.icon):hover,
.ui.link.cards .purple.card:not(.icon):hover,
a.ui.purple.card:hover,
.ui.link.purple.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.purple.card,
.ui.basic.purple.cards > .card,
.ui.basic.cards > .purple.card,
.ui.basic.purple.card {
  background: #dc73ff;
}
.ui.basic.cards a.purple.card:hover,
.ui.cards a.basic.purple.card:hover,
.ui.basic.purple.cards a.card:hover,
.ui.link.cards .basic.purple.card:not(.icon):hover,
.ui.link.basic.purple.cards .card:not(.icon):hover,
.ui.link.basic.cards .purple.card:not(.icon):hover,
a.ui.basic.purple.card:hover,
.ui.link.basic.purple.card:hover {
  background: #cf40ff;
}
.ui.inverted.purple.cards > .card,
.ui.inverted.cards > .purple.card,
.ui.inverted.purple.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #dc73ff, 0 0 0 1px #555;
}
.ui.inverted.cards a.purple.card:hover,
.ui.inverted.purple.cards a.card:hover,
.ui.link.inverted.purple.cards .card:not(.icon):hover,
.ui.link.inverted.cards .purple.card:not(.icon):hover,
a.ui.inverted.purple.card:hover,
.ui.link.inverted.purple.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.purple.card,
.ui.basic.inverted.purple.cards > .card,
.ui.basic.inverted.cards > .purple.card,
.ui.basic.inverted.purple.card {
  background: #a333c8;
}
.ui.inverted.cards a.basic.purple.card:hover,
.ui.basic.inverted.cards a.purple.card:hover,
.ui.basic.inverted.purple.cards a.card:hover,
.ui.link.inverted.cards .basic.purple.card:not(.icon):hover,
.ui.link.basic.inverted.purple.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .purple.card:not(.icon):hover,
a.ui.basic.inverted.purple.card:hover,
.ui.link.basic.inverted.purple.card:hover {
  background: #9627ba;
}
.ui.pink.cards > .card,
.ui.cards > .pink.card,
.ui.pink.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e03997, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.pink.card:hover,
.ui.pink.cards a.card:hover,
.ui.link.pink.cards .card:not(.icon):hover,
.ui.link.cards .pink.card:not(.icon):hover,
a.ui.pink.card:hover,
.ui.link.pink.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.pink.card,
.ui.basic.pink.cards > .card,
.ui.basic.cards > .pink.card,
.ui.basic.pink.card {
  background: #ff8edf;
}
.ui.basic.cards a.pink.card:hover,
.ui.cards a.basic.pink.card:hover,
.ui.basic.pink.cards a.card:hover,
.ui.link.cards .basic.pink.card:not(.icon):hover,
.ui.link.basic.pink.cards .card:not(.icon):hover,
.ui.link.basic.cards .pink.card:not(.icon):hover,
a.ui.basic.pink.card:hover,
.ui.link.basic.pink.card:hover {
  background: #ff5bd1;
}
.ui.inverted.pink.cards > .card,
.ui.inverted.cards > .pink.card,
.ui.inverted.pink.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff8edf, 0 0 0 1px #555;
}
.ui.inverted.cards a.pink.card:hover,
.ui.inverted.pink.cards a.card:hover,
.ui.link.inverted.pink.cards .card:not(.icon):hover,
.ui.link.inverted.cards .pink.card:not(.icon):hover,
a.ui.inverted.pink.card:hover,
.ui.link.inverted.pink.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.pink.card,
.ui.basic.inverted.pink.cards > .card,
.ui.basic.inverted.cards > .pink.card,
.ui.basic.inverted.pink.card {
  background: #e03997;
}
.ui.inverted.cards a.basic.pink.card:hover,
.ui.basic.inverted.cards a.pink.card:hover,
.ui.basic.inverted.pink.cards a.card:hover,
.ui.link.inverted.cards .basic.pink.card:not(.icon):hover,
.ui.link.basic.inverted.pink.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .pink.card:not(.icon):hover,
a.ui.basic.inverted.pink.card:hover,
.ui.link.basic.inverted.pink.card:hover {
  background: #e61a8d;
}
.ui.brown.cards > .card,
.ui.cards > .brown.card,
.ui.brown.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a5673f, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.brown.card:hover,
.ui.brown.cards a.card:hover,
.ui.link.brown.cards .card:not(.icon):hover,
.ui.link.cards .brown.card:not(.icon):hover,
a.ui.brown.card:hover,
.ui.link.brown.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #975b33, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.brown.card,
.ui.basic.brown.cards > .card,
.ui.basic.cards > .brown.card,
.ui.basic.brown.card {
  background: #d67c1c;
}
.ui.basic.cards a.brown.card:hover,
.ui.cards a.basic.brown.card:hover,
.ui.basic.brown.cards a.card:hover,
.ui.link.cards .basic.brown.card:not(.icon):hover,
.ui.link.basic.brown.cards .card:not(.icon):hover,
.ui.link.basic.cards .brown.card:not(.icon):hover,
a.ui.basic.brown.card:hover,
.ui.link.basic.brown.card:hover {
  background: #b0620f;
}
.ui.inverted.brown.cards > .card,
.ui.inverted.cards > .brown.card,
.ui.inverted.brown.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d67c1c, 0 0 0 1px #555;
}
.ui.inverted.cards a.brown.card:hover,
.ui.inverted.brown.cards a.card:hover,
.ui.link.inverted.brown.cards .card:not(.icon):hover,
.ui.link.inverted.cards .brown.card:not(.icon):hover,
a.ui.inverted.brown.card:hover,
.ui.link.inverted.brown.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #b0620f, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.brown.card,
.ui.basic.inverted.brown.cards > .card,
.ui.basic.inverted.cards > .brown.card,
.ui.basic.inverted.brown.card {
  background: #a5673f;
}
.ui.inverted.cards a.basic.brown.card:hover,
.ui.basic.inverted.cards a.brown.card:hover,
.ui.basic.inverted.brown.cards a.card:hover,
.ui.link.inverted.cards .basic.brown.card:not(.icon):hover,
.ui.link.basic.inverted.brown.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .brown.card:not(.icon):hover,
a.ui.basic.inverted.brown.card:hover,
.ui.link.basic.inverted.brown.card:hover {
  background: #975b33;
}
.ui.grey.cards > .card,
.ui.cards > .grey.card,
.ui.grey.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #767676, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.grey.card:hover,
.ui.grey.cards a.card:hover,
.ui.link.grey.cards .card:not(.icon):hover,
.ui.link.cards .grey.card:not(.icon):hover,
a.ui.grey.card:hover,
.ui.link.grey.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #838383, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.grey.card,
.ui.basic.grey.cards > .card,
.ui.basic.cards > .grey.card,
.ui.basic.grey.card {
  background: #dcddde;
}
.ui.basic.cards a.grey.card:hover,
.ui.cards a.basic.grey.card:hover,
.ui.basic.grey.cards a.card:hover,
.ui.link.cards .basic.grey.card:not(.icon):hover,
.ui.link.basic.grey.cards .card:not(.icon):hover,
.ui.link.basic.cards .grey.card:not(.icon):hover,
a.ui.basic.grey.card:hover,
.ui.link.basic.grey.card:hover {
  background: #c2c4c5;
}
.ui.inverted.grey.cards > .card,
.ui.inverted.cards > .grey.card,
.ui.inverted.grey.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #dcddde, 0 0 0 1px #555;
}
.ui.inverted.cards a.grey.card:hover,
.ui.inverted.grey.cards a.card:hover,
.ui.link.inverted.grey.cards .card:not(.icon):hover,
.ui.link.inverted.cards .grey.card:not(.icon):hover,
a.ui.inverted.grey.card:hover,
.ui.link.inverted.grey.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.grey.card,
.ui.basic.inverted.grey.cards > .card,
.ui.basic.inverted.cards > .grey.card,
.ui.basic.inverted.grey.card {
  background: #767676;
}
.ui.inverted.cards a.basic.grey.card:hover,
.ui.basic.inverted.cards a.grey.card:hover,
.ui.basic.inverted.grey.cards a.card:hover,
.ui.link.inverted.cards .basic.grey.card:not(.icon):hover,
.ui.link.basic.inverted.grey.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .grey.card:not(.icon):hover,
a.ui.basic.inverted.grey.card:hover,
.ui.link.basic.inverted.grey.card:hover {
  background: #838383;
}
.ui.black.cards > .card,
.ui.cards > .black.card,
.ui.black.card {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1b1c1d, 0 1px 3px 0 #d4d4d5;
}
.ui.cards a.black.card:hover,
.ui.black.cards a.card:hover,
.ui.link.black.cards .card:not(.icon):hover,
.ui.link.cards .black.card:not(.icon):hover,
a.ui.black.card:hover,
.ui.link.black.card:hover {
  box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #27292a, 0 1px 3px 0 #bcbdbd;
}
.ui.cards > .basic.black.card,
.ui.basic.black.cards > .card,
.ui.basic.cards > .black.card,
.ui.basic.black.card {
  background: #545454;
}
.ui.cards > .basic.black.card .header,
.ui.basic.black.cards > .card .header,
.ui.basic.cards > .black.card .header,
.ui.basic.black.card .header,
.ui.cards > .basic.black.card .content,
.ui.basic.black.cards > .card .content,
.ui.basic.cards > .black.card .content,
.ui.basic.black.card .content,
.ui.cards > .basic.black.card .meta,
.ui.basic.black.cards > .card .meta,
.ui.basic.cards > .black.card .meta,
.ui.basic.black.card .meta,
.ui.cards > .basic.black.card .description,
.ui.basic.black.cards > .card .description,
.ui.basic.cards > .black.card .description,
.ui.basic.black.card .description {
  color: #FFFFFF;
}
.ui.basic.cards a.black.card:hover,
.ui.cards a.basic.black.card:hover,
.ui.basic.black.cards a.card:hover,
.ui.link.cards .basic.black.card:not(.icon):hover,
.ui.link.basic.black.cards .card:not(.icon):hover,
.ui.link.basic.cards .black.card:not(.icon):hover,
a.ui.basic.black.card:hover,
.ui.link.basic.black.card:hover {
  background: #000000;
}
.ui.inverted.black.cards > .card,
.ui.inverted.cards > .black.card,
.ui.inverted.black.card {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #545454, 0 0 0 1px #555;
}
.ui.inverted.cards a.black.card:hover,
.ui.inverted.black.cards a.card:hover,
.ui.link.inverted.black.cards .card:not(.icon):hover,
.ui.link.inverted.cards .black.card:not(.icon):hover,
a.ui.inverted.black.card:hover,
.ui.link.inverted.black.card:hover {
  box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #000000, 0 0 0 1px #555;
}
.ui.inverted.cards > .basic.black.card,
.ui.basic.inverted.black.cards > .card,
.ui.basic.inverted.cards > .black.card,
.ui.basic.inverted.black.card {
  background: #1b1c1d;
}
.ui.inverted.cards a.basic.black.card:hover,
.ui.basic.inverted.cards a.black.card:hover,
.ui.basic.inverted.black.cards a.card:hover,
.ui.link.inverted.cards .basic.black.card:not(.icon):hover,
.ui.link.basic.inverted.black.cards .card:not(.icon):hover,
.ui.link.basic.inverted.cards .black.card:not(.icon):hover,
a.ui.basic.inverted.black.card:hover,
.ui.link.basic.inverted.black.card:hover {
  background: #27292a;
}
/* --------------
       Card Count
    --------------- */
.ui.one.cards {
  margin-left: 0;
  margin-right: 0;
}
.ui.one.cards > .card {
  width: 100%;
}
.ui.two.cards {
  margin-left: -1em;
  margin-right: -1em;
}
.ui.two.cards > .card {
  width: calc(50% - 2em);
  margin-left: 1em;
  margin-right: 1em;
}
.ui.three.cards {
  margin-left: -1em;
  margin-right: -1em;
}
.ui.three.cards > .card {
  width: calc(33.33333333333333% - 2em);
  margin-left: 1em;
  margin-right: 1em;
}
.ui.four.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}
.ui.four.cards > .card {
  width: calc(25% - 1.5em);
  margin-left: 0.75em;
  margin-right: 0.75em;
}
.ui.five.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}
.ui.five.cards > .card {
  width: calc(20% - 1.5em);
  margin-left: 0.75em;
  margin-right: 0.75em;
}
.ui.six.cards {
  margin-left: -0.75em;
  margin-right: -0.75em;
}
.ui.six.cards > .card {
  width: calc(16.666666666666664% - 1.5em);
  margin-left: 0.75em;
  margin-right: 0.75em;
}
.ui.seven.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.ui.seven.cards > .card {
  width: calc(14.285714285714285% - 1em);
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ui.eight.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.ui.eight.cards > .card {
  width: calc(12.5% - 1em);
  margin-left: 0.5em;
  margin-right: 0.5em;
  font-size: 11px;
}
.ui.nine.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.ui.nine.cards > .card {
  width: calc(11.11111111111111% - 1em);
  margin-left: 0.5em;
  margin-right: 0.5em;
  font-size: 10px;
}
.ui.ten.cards {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.ui.ten.cards > .card {
  width: calc(10% - 1em);
  margin-left: 0.5em;
  margin-right: 0.5em;
}
/* -------------------
          Doubling
    -------------------- */
/* Mobile Only */
@media only screen and (max-width: 767.98px) {
  .ui.two.doubling.cards {
    margin-left: 0;
    margin-right: 0;
  }
  .ui.two.doubling.cards > .card {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .ui.three.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.three.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.four.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.four.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.five.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.five.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.six.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.six.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.seven.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.seven.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.eight.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.eight.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.nine.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.nine.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.ten.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.ten.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
}
/* Tablet Only */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.two.doubling.cards {
    margin-left: 0;
    margin-right: 0;
  }
  .ui.two.doubling.cards > .card {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .ui.three.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.three.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.four.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.four.doubling.cards > .card {
    width: calc(50% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.five.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.five.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.six.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.six.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.eight.doubling.cards {
    margin-left: -1em;
    margin-right: -1em;
  }
  .ui.eight.doubling.cards > .card {
    width: calc(33.33333333333333% - 2em);
    margin-left: 1em;
    margin-right: 1em;
  }
  .ui.eight.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }
  .ui.eight.doubling.cards > .card {
    width: calc(25% - 1.5em);
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .ui.nine.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }
  .ui.nine.doubling.cards > .card {
    width: calc(25% - 1.5em);
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .ui.ten.doubling.cards {
    margin-left: -0.75em;
    margin-right: -0.75em;
  }
  .ui.ten.doubling.cards > .card {
    width: calc(20% - 1.5em);
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}
/* -------------------
          Stackable
    -------------------- */
@media only screen and (max-width: 767.98px) {
  .ui.stackable.cards {
    display: block !important;
  }
  .ui.stackable.cards .card:first-child {
    margin-top: 0 !important;
  }
  .ui.stackable.cards > .card {
    display: block !important;
    height: auto !important;
    margin: 1em 1em;
    padding: 0 !important;
    width: calc(100% - 2em) !important;
  }
}
/* --------------
      Size
--------------- */
.ui.cards > .card {
  font-size: 1em;
}
.ui.mini.card,
.ui.mini.cards .card {
  font-size: 0.78571429rem;
}
.ui.tiny.card,
.ui.tiny.cards .card {
  font-size: 0.85714286rem;
}
.ui.small.card,
.ui.small.cards .card {
  font-size: 0.92857143rem;
}
.ui.large.card,
.ui.large.cards .card {
  font-size: 1.14285714rem;
}
.ui.big.card,
.ui.big.cards .card {
  font-size: 1.28571429rem;
}
.ui.huge.card,
.ui.huge.cards .card {
  font-size: 1.42857143rem;
}
.ui.massive.card,
.ui.massive.cards .card {
  font-size: 1.71428571rem;
}
/* -----------------
          Inverted
    ------------------ */
.ui.inverted.cards > .card,
.ui.inverted.card {
  background: #1b1c1d;
  box-shadow: 0 1px 3px 0 #555, 0 0 0 1px #555;
}
/* Content */
.ui.inverted.cards > .card > .content,
.ui.inverted.card > .content {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
/* Header */
.ui.inverted.cards > .card > .content > .header,
.ui.inverted.card > .content > .header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.cards > .card > .content > a.header,
.ui.inverted.card > .content > a.header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.cards > .card > .content > a.header:hover,
.ui.inverted.card > .content > a.header:hover {
  color: #1e70bf;
}
/* Description */
.ui.inverted.cards > .card > .content > .description,
.ui.inverted.card > .content > .description {
  color: rgba(255, 255, 255, 0.8);
}
/* Meta */
.ui.inverted.cards > .card .meta,
.ui.inverted.card .meta {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.cards > .card .meta > a:not(.ui),
.ui.inverted.card .meta > a:not(.ui) {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.cards > .card .meta > a:not(.ui):hover,
.ui.inverted.card .meta > a:not(.ui):hover {
  color: #ffffff;
}
/* Extra */
.ui.inverted.cards > .card > .extra,
.ui.inverted.card > .extra {
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.cards > .card > .extra a:not(.ui),
.ui.inverted.card > .extra a:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}
.ui.inverted.cards > .card > .extra a:not(.ui):hover,
.ui.inverted.card > .extra a:not(.ui):hover {
  color: #1e70bf;
}
/* Link card(s) */
.ui.inverted.cards a.card:hover,
.ui.inverted.link.cards .card:not(.icon):hover,
a.inverted.ui.card:hover,
.ui.inverted.link.card:hover {
  background: #1b1c1d;
}
/* Loading */
.ui.inverted.loading.card {
  color: #FFFFFF;
}
.ui.inverted.loading.card::before {
  background: rgba(0, 0, 0, 0.85);
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Comment
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Comments
*******************************/
/* -------------------
       View
-------------------- */
/* -------------------
      Elements
-------------------- */
/* Comment */
/* Nested Comment */
/* Avatar */
/* Content */
/* Author */
/* Metadata */
/* Text */
/* Actions */
/* Reply */
/* -------------------
      Variations
-------------------- */
/* Threaded */
/* Minimal */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Standard
*******************************/
/* --------------
    Comments
--------------- */
.ui.comments {
  margin: 1.5em 0;
  max-width: 650px;
}
.ui.comments:first-child {
  margin-top: 0;
}
.ui.comments:last-child {
  margin-bottom: 0;
}
/* --------------
     Comment
--------------- */
.ui.comments .comment {
  position: relative;
  background: none;
  margin: 0.5em 0 0;
  padding: 0.5em 0 0;
  border: none;
  border-top: none;
  line-height: 1.2;
}
.ui.comments .comment:first-child {
  margin-top: 0;
  padding-top: 0;
}
/* --------------------
    Nested Comments
--------------------- */
.ui.comments .comment > .comments {
  margin: 0 0 0.5em 0.5em;
  padding: 1em 0 1em 1em;
}
.ui.comments .comment > .comments::before {
  position: absolute;
  top: 0;
  left: 0;
}
.ui.comments .comment > .comments .comment {
  border: none;
  border-top: none;
  background: none;
}
/* --------------
         Avatar
    --------------- */
.ui.comments .comment .avatar {
  display: block;
  width: 2.5em;
  height: auto;
  float: left;
  margin: 0.2em 0 0;
}
.ui.comments .comment img.avatar,
.ui.comments .comment .avatar img {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  border-radius: 0.25rem;
}
/* --------------
     Content
--------------- */
.ui.comments .comment > .content {
  display: block;
}
/* If there is an avatar move content over */
.ui.comments .comment > .avatar ~ .content {
  margin-left: 3.5em;
}
/* --------------
         Author
    --------------- */
.ui.comments .comment .author {
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
}
.ui.comments .comment a.author {
  cursor: pointer;
}
.ui.comments .comment a.author:hover {
  color: #1e70bf;
}
/* --------------
         Metadata
    --------------- */
.ui.comments .comment .metadata {
  display: inline-block;
  margin-left: 0.5em;
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.875em;
}
.ui.comments .comment .metadata > * {
  display: inline-block;
  margin: 0 0.5em 0 0;
}
.ui.comments .comment .metadata > :last-child {
  margin-right: 0;
}
/* --------------------
     Comment Text
--------------------- */
.ui.comments .comment .text {
  margin: 0.25em 0 0.5em;
  font-size: 1em;
  word-wrap: break-word;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.3;
}
/* --------------------
         User Actions
    --------------------- */
.ui.comments .comment .actions {
  font-size: 0.875em;
}
.ui.comments .comment .actions a {
  cursor: pointer;
  display: inline-block;
  margin: 0 0.75em 0 0;
  color: rgba(0, 0, 0, 0.4);
}
.ui.comments .comment .actions a:last-child {
  margin-right: 0;
}
.ui.comments .comment .actions a.active,
.ui.comments .comment .actions a:hover {
  color: rgba(0, 0, 0, 0.8);
}
/* --------------------
          Reply Form
    --------------------- */
.ui.comments > .reply.form {
  margin-top: 1em;
}
.ui.comments .comment .reply.form {
  width: 100%;
  margin-top: 1em;
}
.ui.comments .reply.form textarea {
  font-size: 1em;
  height: 12em;
}
/*******************************
            State
*******************************/
.ui.collapsed.comments,
.ui.comments .collapsed.comments,
.ui.comments .collapsed.comment {
  display: none;
}
/*******************************
           Variations
*******************************/
/* --------------------
            Threaded
    --------------------- */
.ui.threaded.comments .comment > .comments {
  margin: -1.5em 0 -1em 1.25em;
  padding: 3em 0 2em 2.25em;
  box-shadow: -1px 0 0 rgba(34, 36, 38, 0.15);
}
/* --------------------
            Minimal
    --------------------- */
.ui.minimal.comments .comment .actions {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  transition: opacity 0.2s ease;
  transition-delay: 0.1s;
}
.ui.minimal.comments .comment > .content:hover > .actions {
  opacity: 1;
}
/* -------------------
        Sizes
-------------------- */
.ui.comments {
  font-size: 1rem;
}
.ui.mini.comments {
  font-size: 0.78571429rem;
}
.ui.tiny.comments {
  font-size: 0.85714286rem;
}
.ui.small.comments {
  font-size: 0.92857143rem;
}
.ui.large.comments {
  font-size: 1.14285714rem;
}
.ui.big.comments {
  font-size: 1.28571429rem;
}
.ui.huge.comments {
  font-size: 1.42857143rem;
}
.ui.massive.comments {
  font-size: 1.71428571rem;
}
/* -------------------
            Inverted
    -------------------- */
.ui.inverted.comments .comment {
  background-color: #1b1c1d;
}
.ui.inverted.comments .comment .author,
.ui.inverted.comments .comment .text {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.comments .comment .metadata,
.ui.inverted.comments .comment .actions a {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.comments .comment a.author:hover,
.ui.inverted.comments .comment .actions a.active,
.ui.inverted.comments .comment .actions a:hover {
  color: #ffffff;
}
.ui.inverted.threaded.comments .comment > .comments {
  box-shadow: -1px 0 0 #555;
}
.ui.disabled.comments,
.ui.comments .disabled.comment {
  opacity: 0.45;
  pointer-events: none;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Feed
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Feed
*******************************/
/* -------------------
        Feed
-------------------- */
/* -------------------
      Elements
-------------------- */
/* Event */
/* Event Label */
/* Icon Label */
/* Image Label */
/* Text Label */
/* Ui label */
/* Content w/ Label */
/* Content */
/* Date */
/* Summary */
/* Summary Image */
/* Summary Date */
/* User */
/* Extra Summary Data */
/* Extra Images */
/* Extra Text */
/* Metadata Group */
/* Like */
/* Metadata Divider */
/* -------------------
      Variations
-------------------- */
/* Connected */
/* Divided */
/* Ordered */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
         Activity Feed
*******************************/
.ui.feed {
  margin: 1em 0;
}
.ui.feed:first-child {
  margin-top: 0;
}
.ui.feed:last-child {
  margin-bottom: 0;
}
/*******************************
            Content
*******************************/
/* Event */
.ui.feed > .event {
  display: flex;
  flex-direction: row;
  width: 100%;
  padding: 0.21428571rem 0;
  margin: 0;
  background: none;
}
.ui.feed > .event:not(:first-child) {
  border-top: none;
}
.ui.feed:not(.connected) > .event:first-child {
  padding-top: 0;
}
.ui.feed > .event:last-child {
  padding-bottom: 0;
}
/* Event Label */
.ui.feed > .event > .label {
  display: block;
  flex: 0 0 auto;
  width: 2.5em;
  height: auto;
  align-self: stretch;
  text-align: left;
}
.ui.feed > .event > .label .icon {
  opacity: 1;
  font-size: 1.5em;
  width: 100%;
  padding: 0.25em;
  background: none;
  border: none;
  border-radius: 0;
  color: rgba(0, 0, 0, 0.6);
}
.ui.feed > .event > .label img {
  width: 100%;
  height: auto;
  border-radius: 500rem;
}
.ui.feed > .event > .label > .text {
  display: block;
  text-align: center;
  margin-top: 0.5em;
}
.ui.feed > .event > .label > .text.ui {
  margin-top: 0.65em;
}
.ui.feed > .event > .label > .text.multiline {
  margin-top: 0;
}
.ui.feed > .event > .label > .text.multiline.ui {
  margin-top: 0.3em;
}
.ui.feed > .event > .label > .ui.label {
  margin-top: 0.4em;
  position: relative;
  z-index: 1;
}
.ui.feed > .event > .label + .content {
  margin: 0.5em 0 0.35714286em 1.14285714em;
}
/* --------------
     Content
--------------- */
/* Content */
.ui.feed > .event > .content {
  display: block;
  flex: 1 1 auto;
  align-self: stretch;
  text-align: left;
  word-wrap: break-word;
}
.ui.feed > .event:last-child > .content {
  padding-bottom: 0;
}
/* Link */
.ui.feed > .event > .content a {
  cursor: pointer;
}
/* --------------
          Date
    --------------- */
.ui.feed > .event > .content .date {
  margin: -0.5rem 0 0;
  padding: 0;
  color: rgba(0, 0, 0, 0.4);
  font-weight: normal;
  font-size: 1em;
  font-style: normal;
}
/* --------------
         Summary
    --------------- */
.ui.feed > .event > .content .summary {
  margin: 0;
  font-size: 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}
/* Summary Image */
.ui.feed > .event > .content .summary img {
  display: inline-block;
  width: auto;
  height: 10em;
  margin: -0.25em 0.25em 0 0;
  border-radius: 0.25em;
  vertical-align: middle;
}
/* --------------
           Inline Date
        --------------- */
/* Date inside Summary */
.ui.feed > .event > .content .summary > .date {
  display: inline-block;
  font-weight: normal;
  font-size: 0.85714286em;
  font-style: normal;
  margin: 0 0 0 0.5em;
  padding: 0;
  color: rgba(0, 0, 0, 0.4);
}
.ui.feed > .event > .content .summary > .date:not(.floated) {
  float: none;
}
/* --------------
          User
    --------------- */
.ui.feed > .event > .content .user {
  display: inline-block;
  font-weight: bold;
  margin-right: 0;
  vertical-align: baseline;
}
.ui.feed > .event > .content .user img {
  margin: -0.25em 0.25em 0 0;
  width: auto;
  height: 10em;
  vertical-align: middle;
}
/* --------------
      Extra Summary
    --------------- */
.ui.feed > .event > .content .extra {
  margin: 0.5em 0 0;
  background: none;
  padding: 0;
  color: rgba(0, 0, 0, 0.87);
}
/* Images */
.ui.feed > .event > .content .extra.images img {
  display: inline-block;
  margin: 0 0.25em 0 0;
  width: 6em;
}
/* Text */
.ui.feed > .event > .content .extra.text {
  padding: 0;
  border-left: none;
  font-size: 1em;
  max-width: 500px;
  line-height: 1.4285em;
}
/* --------------
          Meta
    --------------- */
.ui.feed > .event > .content .meta {
  display: inline-block;
  font-size: 0.85714286em;
  margin: 0.5em 0 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  color: rgba(0, 0, 0, 0.6);
}
.ui.feed > .event > .content .meta > * {
  position: relative;
  margin-left: 0.75em;
}
.ui.feed > .event > .content .meta > *::after {
  content: "";
  color: rgba(0, 0, 0, 0.2);
  top: 0;
  left: -1em;
  opacity: 1;
  position: absolute;
  vertical-align: top;
}
.ui.feed > .event > .content .meta .like {
  color: "";
  transition: 0.2s color ease;
}
.ui.feed > .event > .content .meta .like:hover i.icon {
  color: #ff2733;
}
.ui.feed > .event > .content .meta .active.like i.icon {
  color: #ef404a;
}
/* First element */
.ui.feed > .event > .content .meta > :first-child {
  margin-left: 0;
}
.ui.feed > .event > .content .meta > :first-child::after {
  display: none;
}
/* Action */
.ui.feed > .event > .content .meta a,
.ui.feed > .event > .content .meta > i.icon {
  cursor: pointer;
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
  transition: color 0.1s ease;
}
.ui.feed > .event > .content .meta a:hover,
.ui.feed > .event > .content .meta a:hover i.icon,
.ui.feed > .event > .content .meta > i.icon:hover {
  color: rgba(0, 0, 0, 0.95);
}
/*******************************
            Variations
*******************************/
/* rtl:rename */
.ui.feed .right.floated {
  float: right;
}
.ui.connected.feed > .event {
  position: relative;
}
.ui.connected.feed > .event:not(:last-child)::before {
  border-left: 2px solid rgba(34, 36, 38, 0.15);
  content: "";
  left: 1.2em;
  position: absolute;
  top: 2.1em;
  height: calc(100% - 1.5em);
}
.ui.connected.feed > .event > .label {
  position: relative;
}
.ui.inverted.connected.feed > .event::before {
  border-left-color: rgba(255, 255, 255, 0.1);
}
.ui.divided.feed > .event:not(:first-child) {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.inverted.divided.feed > .event {
  border-top-color: rgba(255, 255, 255, 0.1);
}
.ui.ui.feed > .event > .label[data-text]::before {
  content: attr(data-text);
}
.ui.feed > .event > .label[data-text]::before,
.ui.ordered.feed > .event > .label::before {
  text-align: center;
  line-height: 1;
  height: 2.5em;
  background: #bbbbbb;
  color: #FFFFFF;
  border-radius: 50%;
  padding-top: 0.6em;
  position: relative;
  display: block;
  margin-bottom: 0.3em;
  border: 2px solid transparent;
}
.ui.ordered.feed {
  counter-reset: ordered;
}
.ui.ordered.feed > .event > .label::before {
  counter-increment: ordered;
  content: counter(ordered);
}
.ui.ordered.basic.feed > .event > .label::before,
.ui.ordered.feed > .event > .basic.label::before {
  border-color: #bbbbbb;
  color: inherit;
  background: transparent;
}
.ui.ordered.connected.feed > .event::before {
  top: 2.7em;
  height: calc(100% - 2.5em);
}
/* workaround until all browsers support :has() */
.ui.connected.labeled.feed > .event::before,
.ui.connected.feed > .labeled.event::before {
  top: 4.85em;
  height: calc(100% - 4.6499999999999995em);
}
@supports selector(:has(.f)) {
  .ui.connected.feed > .event:has(> .label[data-text] > *)::before,
  .ui.ordered.connected.feed > .event:has(> .label > *)::before {
    top: 4.85em;
    height: calc(100% - 4.6499999999999995em);
  }
}
.ui.feed {
  font-size: 1rem;
}
.ui.mini.feed {
  font-size: 0.78571429rem;
}
.ui.tiny.feed {
  font-size: 0.85714286rem;
}
.ui.small.feed {
  font-size: 0.92857143rem;
}
.ui.large.feed {
  font-size: 1.14285714rem;
}
.ui.big.feed {
  font-size: 1.28571429rem;
}
.ui.huge.feed {
  font-size: 1.42857143rem;
}
.ui.massive.feed {
  font-size: 1.71428571rem;
}
/* ------------------
          Inverted
    ------------------- */
.ui.inverted.feed > .event {
  background: #1b1c1d;
}
.ui.inverted.feed > .event > .label i.icon {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.feed > .event > .label .text:not(.ui) {
  color: #FFFFFF;
}
.ui.inverted.feed > .event > .content .date,
.ui.inverted.feed > .event > .content .meta .like {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.feed > .event > .content .summary,
.ui.inverted.feed > .event > .content .extra.text {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.feed > .event > .content .meta .like:hover {
  color: #ffffff;
}
.ui.inverted.feed > .event > .content .meta .active.like i.icon {
  color: rgba(255, 255, 255, 0.7);
}
/* Action */
.ui.inverted.feed > .event > .content .meta a,
.ui.inverted.feed > .event > .content .meta > i.icon {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.feed > .event > .content .meta a:hover,
.ui.inverted.feed > .event > .content .meta a:hover i.icon,
.ui.inverted.feed > .event > .content .meta > i.icon:hover {
  color: #ffffff;
}
/* --------------
     Colors
--------------- */
.ui.ui.feed > .event > .primary.label::before,
.ui.primary.feed > .event > .label::before {
  background: #6C3667;
}
.ui.primary.connected.feed > .event::before,
.ui.connected.feed > .primary.event::before {
  border-color: #6C3667;
}
.ui.inverted.primary.connected.feed > .event::before,
.ui.connected.feed > .inverted.primary.event::before {
  border-color: #54c8ff;
}
.ui.ui.feed > .event > .primary.basic.label::before,
.ui.primary.basic.feed > .event > .label::before {
  color: #6C3667;
}
.ui.feed > .event > .inverted.primary.label::before,
.ui.inverted.primary.feed > .event > .label::before {
  background: #54c8ff;
}
.ui.feed > .event > .inverted.primary.basic.label::before,
.ui.inverted.primary.basic.feed > .event > .label::before {
  color: #54c8ff;
}
.ui.ui.feed > .event > .secondary.label::before,
.ui.secondary.feed > .event > .label::before {
  background: #88d317;
}
.ui.secondary.connected.feed > .event::before,
.ui.connected.feed > .secondary.event::before {
  border-color: #88d317;
}
.ui.inverted.secondary.connected.feed > .event::before,
.ui.connected.feed > .inverted.secondary.event::before {
  border-color: #545454;
}
.ui.ui.feed > .event > .secondary.basic.label::before,
.ui.secondary.basic.feed > .event > .label::before {
  color: #88d317;
}
.ui.feed > .event > .inverted.secondary.label::before,
.ui.inverted.secondary.feed > .event > .label::before {
  background: #545454;
}
.ui.feed > .event > .inverted.secondary.basic.label::before,
.ui.inverted.secondary.basic.feed > .event > .label::before {
  color: #545454;
}
.ui.ui.feed > .event > .red.label::before,
.ui.red.feed > .event > .label::before {
  background: #db2828;
}
.ui.red.connected.feed > .event::before,
.ui.connected.feed > .red.event::before {
  border-color: #db2828;
}
.ui.inverted.red.connected.feed > .event::before,
.ui.connected.feed > .inverted.red.event::before {
  border-color: #ff695e;
}
.ui.ui.feed > .event > .red.basic.label::before,
.ui.red.basic.feed > .event > .label::before {
  color: #db2828;
}
.ui.feed > .event > .inverted.red.label::before,
.ui.inverted.red.feed > .event > .label::before {
  background: #ff695e;
}
.ui.feed > .event > .inverted.red.basic.label::before,
.ui.inverted.red.basic.feed > .event > .label::before {
  color: #ff695e;
}
.ui.ui.feed > .event > .orange.label::before,
.ui.orange.feed > .event > .label::before {
  background: #f2711c;
}
.ui.orange.connected.feed > .event::before,
.ui.connected.feed > .orange.event::before {
  border-color: #f2711c;
}
.ui.inverted.orange.connected.feed > .event::before,
.ui.connected.feed > .inverted.orange.event::before {
  border-color: #ff851b;
}
.ui.ui.feed > .event > .orange.basic.label::before,
.ui.orange.basic.feed > .event > .label::before {
  color: #f2711c;
}
.ui.feed > .event > .inverted.orange.label::before,
.ui.inverted.orange.feed > .event > .label::before {
  background: #ff851b;
}
.ui.feed > .event > .inverted.orange.basic.label::before,
.ui.inverted.orange.basic.feed > .event > .label::before {
  color: #ff851b;
}
.ui.ui.feed > .event > .yellow.label::before,
.ui.yellow.feed > .event > .label::before {
  background: #fbbd08;
}
.ui.yellow.connected.feed > .event::before,
.ui.connected.feed > .yellow.event::before {
  border-color: #fbbd08;
}
.ui.inverted.yellow.connected.feed > .event::before,
.ui.connected.feed > .inverted.yellow.event::before {
  border-color: #ffe21f;
}
.ui.ui.feed > .event > .yellow.basic.label::before,
.ui.yellow.basic.feed > .event > .label::before {
  color: #fbbd08;
}
.ui.feed > .event > .inverted.yellow.label::before,
.ui.inverted.yellow.feed > .event > .label::before {
  background: #ffe21f;
}
.ui.feed > .event > .inverted.yellow.basic.label::before,
.ui.inverted.yellow.basic.feed > .event > .label::before {
  color: #ffe21f;
}
.ui.ui.feed > .event > .olive.label::before,
.ui.olive.feed > .event > .label::before {
  background: #b5cc18;
}
.ui.olive.connected.feed > .event::before,
.ui.connected.feed > .olive.event::before {
  border-color: #b5cc18;
}
.ui.inverted.olive.connected.feed > .event::before,
.ui.connected.feed > .inverted.olive.event::before {
  border-color: #d9e778;
}
.ui.ui.feed > .event > .olive.basic.label::before,
.ui.olive.basic.feed > .event > .label::before {
  color: #b5cc18;
}
.ui.feed > .event > .inverted.olive.label::before,
.ui.inverted.olive.feed > .event > .label::before {
  background: #d9e778;
}
.ui.feed > .event > .inverted.olive.basic.label::before,
.ui.inverted.olive.basic.feed > .event > .label::before {
  color: #d9e778;
}
.ui.ui.feed > .event > .green.label::before,
.ui.green.feed > .event > .label::before {
  background: #21ba45;
}
.ui.green.connected.feed > .event::before,
.ui.connected.feed > .green.event::before {
  border-color: #21ba45;
}
.ui.inverted.green.connected.feed > .event::before,
.ui.connected.feed > .inverted.green.event::before {
  border-color: #2ecc40;
}
.ui.ui.feed > .event > .green.basic.label::before,
.ui.green.basic.feed > .event > .label::before {
  color: #21ba45;
}
.ui.feed > .event > .inverted.green.label::before,
.ui.inverted.green.feed > .event > .label::before {
  background: #2ecc40;
}
.ui.feed > .event > .inverted.green.basic.label::before,
.ui.inverted.green.basic.feed > .event > .label::before {
  color: #2ecc40;
}
.ui.ui.feed > .event > .teal.label::before,
.ui.teal.feed > .event > .label::before {
  background: #00b5ad;
}
.ui.teal.connected.feed > .event::before,
.ui.connected.feed > .teal.event::before {
  border-color: #00b5ad;
}
.ui.inverted.teal.connected.feed > .event::before,
.ui.connected.feed > .inverted.teal.event::before {
  border-color: #6dffff;
}
.ui.ui.feed > .event > .teal.basic.label::before,
.ui.teal.basic.feed > .event > .label::before {
  color: #00b5ad;
}
.ui.feed > .event > .inverted.teal.label::before,
.ui.inverted.teal.feed > .event > .label::before {
  background: #6dffff;
}
.ui.feed > .event > .inverted.teal.basic.label::before,
.ui.inverted.teal.basic.feed > .event > .label::before {
  color: #6dffff;
}
.ui.ui.feed > .event > .blue.label::before,
.ui.blue.feed > .event > .label::before {
  background: #2185d0;
}
.ui.blue.connected.feed > .event::before,
.ui.connected.feed > .blue.event::before {
  border-color: #2185d0;
}
.ui.inverted.blue.connected.feed > .event::before,
.ui.connected.feed > .inverted.blue.event::before {
  border-color: #54c8ff;
}
.ui.ui.feed > .event > .blue.basic.label::before,
.ui.blue.basic.feed > .event > .label::before {
  color: #2185d0;
}
.ui.feed > .event > .inverted.blue.label::before,
.ui.inverted.blue.feed > .event > .label::before {
  background: #54c8ff;
}
.ui.feed > .event > .inverted.blue.basic.label::before,
.ui.inverted.blue.basic.feed > .event > .label::before {
  color: #54c8ff;
}
.ui.ui.feed > .event > .violet.label::before,
.ui.violet.feed > .event > .label::before {
  background: #6435c9;
}
.ui.violet.connected.feed > .event::before,
.ui.connected.feed > .violet.event::before {
  border-color: #6435c9;
}
.ui.inverted.violet.connected.feed > .event::before,
.ui.connected.feed > .inverted.violet.event::before {
  border-color: #a291fb;
}
.ui.ui.feed > .event > .violet.basic.label::before,
.ui.violet.basic.feed > .event > .label::before {
  color: #6435c9;
}
.ui.feed > .event > .inverted.violet.label::before,
.ui.inverted.violet.feed > .event > .label::before {
  background: #a291fb;
}
.ui.feed > .event > .inverted.violet.basic.label::before,
.ui.inverted.violet.basic.feed > .event > .label::before {
  color: #a291fb;
}
.ui.ui.feed > .event > .purple.label::before,
.ui.purple.feed > .event > .label::before {
  background: #a333c8;
}
.ui.purple.connected.feed > .event::before,
.ui.connected.feed > .purple.event::before {
  border-color: #a333c8;
}
.ui.inverted.purple.connected.feed > .event::before,
.ui.connected.feed > .inverted.purple.event::before {
  border-color: #dc73ff;
}
.ui.ui.feed > .event > .purple.basic.label::before,
.ui.purple.basic.feed > .event > .label::before {
  color: #a333c8;
}
.ui.feed > .event > .inverted.purple.label::before,
.ui.inverted.purple.feed > .event > .label::before {
  background: #dc73ff;
}
.ui.feed > .event > .inverted.purple.basic.label::before,
.ui.inverted.purple.basic.feed > .event > .label::before {
  color: #dc73ff;
}
.ui.ui.feed > .event > .pink.label::before,
.ui.pink.feed > .event > .label::before {
  background: #e03997;
}
.ui.pink.connected.feed > .event::before,
.ui.connected.feed > .pink.event::before {
  border-color: #e03997;
}
.ui.inverted.pink.connected.feed > .event::before,
.ui.connected.feed > .inverted.pink.event::before {
  border-color: #ff8edf;
}
.ui.ui.feed > .event > .pink.basic.label::before,
.ui.pink.basic.feed > .event > .label::before {
  color: #e03997;
}
.ui.feed > .event > .inverted.pink.label::before,
.ui.inverted.pink.feed > .event > .label::before {
  background: #ff8edf;
}
.ui.feed > .event > .inverted.pink.basic.label::before,
.ui.inverted.pink.basic.feed > .event > .label::before {
  color: #ff8edf;
}
.ui.ui.feed > .event > .brown.label::before,
.ui.brown.feed > .event > .label::before {
  background: #a5673f;
}
.ui.brown.connected.feed > .event::before,
.ui.connected.feed > .brown.event::before {
  border-color: #a5673f;
}
.ui.inverted.brown.connected.feed > .event::before,
.ui.connected.feed > .inverted.brown.event::before {
  border-color: #d67c1c;
}
.ui.ui.feed > .event > .brown.basic.label::before,
.ui.brown.basic.feed > .event > .label::before {
  color: #a5673f;
}
.ui.feed > .event > .inverted.brown.label::before,
.ui.inverted.brown.feed > .event > .label::before {
  background: #d67c1c;
}
.ui.feed > .event > .inverted.brown.basic.label::before,
.ui.inverted.brown.basic.feed > .event > .label::before {
  color: #d67c1c;
}
.ui.ui.feed > .event > .grey.label::before,
.ui.grey.feed > .event > .label::before {
  background: #767676;
}
.ui.grey.connected.feed > .event::before,
.ui.connected.feed > .grey.event::before {
  border-color: #767676;
}
.ui.inverted.grey.connected.feed > .event::before,
.ui.connected.feed > .inverted.grey.event::before {
  border-color: #dcddde;
}
.ui.ui.feed > .event > .grey.basic.label::before,
.ui.grey.basic.feed > .event > .label::before {
  color: #767676;
}
.ui.feed > .event > .inverted.grey.label::before,
.ui.inverted.grey.feed > .event > .label::before {
  background: #dcddde;
}
.ui.feed > .event > .inverted.grey.basic.label::before,
.ui.inverted.grey.basic.feed > .event > .label::before {
  color: #dcddde;
}
.ui.ui.feed > .event > .black.label::before,
.ui.black.feed > .event > .label::before {
  background: #1b1c1d;
}
.ui.black.connected.feed > .event::before,
.ui.connected.feed > .black.event::before {
  border-color: #1b1c1d;
}
.ui.inverted.black.connected.feed > .event::before,
.ui.connected.feed > .inverted.black.event::before {
  border-color: #545454;
}
.ui.ui.feed > .event > .black.basic.label::before,
.ui.black.basic.feed > .event > .label::before {
  color: #1b1c1d;
}
.ui.feed > .event > .inverted.black.label::before,
.ui.inverted.black.feed > .event > .label::before {
  background: #545454;
}
.ui.feed > .event > .inverted.black.basic.label::before,
.ui.inverted.black.basic.feed > .event > .label::before {
  color: #545454;
}
.ui.ui.feed > .event > .basic.label::before,
.ui.ui.ui.basic.feed > .event > .label::before {
  background: transparent;
  border-color: currentColor;
}
.ui.disabled.feed,
.ui.feed .disabled.event {
  opacity: 0.45;
  pointer-events: none;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Item
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Item
*******************************/
/* -------------------
         View
-------------------- */
/* Group */
/* Item */
/* Responsive */
/* -------------------
       Content
-------------------- */
/* Image */
/* Content */
/* Header */
/* Metadata */
/* Icons */
/* Actions */
/* Links */
/* Description */
/* Content Image */
/* Avatar Image */
/* Paragraph */
/* Additional Content */
/* -------------------
      Variations
-------------------- */
/* Relaxed */
/* Divided */
/* Unstackable */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Standard
*******************************/
/* --------------
      Item
--------------- */
.ui.items > .item {
  display: flex;
  margin: 1em 0;
  width: 100%;
  min-height: 0;
  background: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transition: box-shadow 0.1s ease;
  z-index: "";
}
.ui.items > .item a {
  cursor: pointer;
}
/* --------------
      Items
--------------- */
.ui.items {
  margin: 1.5em 0;
}
.ui.items:first-child {
  margin-top: 0 !important;
}
.ui.items:last-child {
  margin-bottom: 0 !important;
}
/* --------------
      Item
--------------- */
.ui.items > .item::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
.ui.items > .item:first-child {
  margin-top: 0;
}
.ui.items > .item:last-child {
  margin-bottom: 0;
}
/* --------------
         Images
    --------------- */
.ui.items > .item > .image {
  position: relative;
  flex: 0 0 auto;
  display: block;
  float: none;
  margin: 0;
  padding: 0;
  max-height: "";
  align-self: start;
}
.ui.items > .item > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.125rem;
  border: none;
}
.ui.items > .item > .image:only-child > img {
  border-radius: 0;
}
/* --------------
     Content
--------------- */
.ui.items > .item > .content {
  display: block;
  flex: 1 1 auto;
  background: none;
  color: rgba(0, 0, 0, 0.87);
  margin: 0;
  padding: 0;
  box-shadow: none;
  font-size: 1em;
  border: none;
  border-radius: 0;
}
.ui.items > .item > .content::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
.ui.items > .item > .image + .content {
  min-width: 0;
  width: auto;
  display: block;
  margin-left: 0;
  align-self: start;
  padding-left: 1.5em;
}
.ui.items > .item > .content > .header {
  display: inline-block;
  margin: -0.21425em 0 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  color: rgba(0, 0, 0, 0.85);
}
/* Default Header Size */
.ui.items > .item > .content > .header:not(.ui) {
  font-size: 1.28571429em;
}
/* --------------
         Floated
    --------------- */
.ui.items > .item [class*="left floated"] {
  float: left;
}
.ui.items > .item [class*="right floated"] {
  float: right;
}
/* --------------
      Content Image
    --------------- */
.ui.items > .item .content img {
  align-self: center;
  width: "";
}
.ui.items > .item img.avatar,
.ui.items > .item .avatar img {
  width: "";
  height: "";
  border-radius: 500rem;
}
/* --------------
       Description
    --------------- */
.ui.items > .item > .content > .description {
  margin-top: 0.6em;
  max-width: none;
  font-size: 1em;
  line-height: 1.4285em;
  color: rgba(0, 0, 0, 0.87);
}
/* --------------
    Paragraph
--------------- */
.ui.items > .item > .content p {
  margin: 0 0 0.5em;
}
.ui.items > .item > .content p:last-child {
  margin-bottom: 0;
}
/* --------------
          Meta
    --------------- */
.ui.items > .item .meta {
  margin: 0.5em 0 0.5em;
  font-size: 1em;
  line-height: 1em;
  color: rgba(0, 0, 0, 0.6);
}
.ui.items > .item .meta * {
  margin-right: 0.3em;
}
.ui.items > .item .meta :last-child {
  margin-right: 0;
}
.ui.items > .item .meta [class*="right floated"] {
  margin-right: 0;
  margin-left: 0.3em;
}
/* --------------
      Links
--------------- */
/* Generic */
.ui.items > .item > .content a:not(.ui) {
  color: "";
  transition: color 0.1s ease;
}
.ui.items > .item > .content a:not(.ui):hover {
  color: "";
}
/* Header */
.ui.items > .item > .content > a.header {
  color: rgba(0, 0, 0, 0.85);
}
.ui.items > .item > .content > a.header:hover {
  color: #1e70bf;
}
/* Meta */
.ui.items > .item .meta > a:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}
.ui.items > .item .meta > a:not(.ui):hover {
  color: rgba(0, 0, 0, 0.87);
}
/* --------------
     Labels
--------------- */
/* -----Star----- */
/* Icon */
.ui.items > .item > .content .favorite.icon {
  cursor: pointer;
  opacity: 0.75;
  transition: color 0.1s ease;
}
.ui.items > .item > .content .favorite.icon:hover {
  opacity: 1;
  color: #ffb70a;
}
.ui.items > .item > .content .active.favorite.icon {
  color: #ffe623;
}
/* -----Like----- */
/* Icon */
.ui.items > .item > .content .like.icon {
  cursor: pointer;
  opacity: 0.75;
  transition: color 0.1s ease;
}
.ui.items > .item > .content .like.icon:hover {
  opacity: 1;
  color: #ff2733;
}
.ui.items > .item > .content .active.like.icon {
  color: #ff2733;
}
/* ----------------
      Extra Content
    ----------------- */
.ui.items > .item .extra {
  display: block;
  position: relative;
  background: none;
  margin: 0.5rem 0 0;
  width: 100%;
  padding: 0;
  top: 0;
  left: 0;
  color: rgba(0, 0, 0, 0.4);
  box-shadow: none;
  transition: color 0.1s ease;
  border-top: none;
}
.ui.items > .item .extra > * {
  margin: 0.25rem 0.5rem 0.25rem 0;
}
.ui.items > .item .extra > [class*="right floated"] {
  margin: 0.25rem 0 0.25rem 0.5rem;
}
.ui.items > .item .extra::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
/*******************************
          Responsive
*******************************/
/* Default Image Width */
.ui.items > .item > .image:not(.ui) {
  width: 175px;
}
/* Tablet Only */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  .ui.items > .item {
    margin: 1em 0;
  }
  .ui.items > .item > .image:not(.ui) {
    width: 150px;
  }
  .ui.items > .item > .image + .content {
    display: block;
    padding: 0 0 0 1em;
  }
}
/* Mobile Only */
@media only screen and (max-width: 767.98px) {
  .ui.items:not(.unstackable) > .item {
    flex-direction: column;
    margin: 2em 0;
  }
  .ui.items:not(.unstackable) > .item > .image {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .ui.items:not(.unstackable) > .item > .image,
  .ui.items:not(.unstackable) > .item > .image > img {
    max-width: 100% !important;
    width: auto !important;
    max-height: 250px !important;
  }
  .ui.items:not(.unstackable) > .item > .image + .content {
    display: block;
    padding: 1.5em 0 0;
  }
}
/*******************************
           Variations
*******************************/
/* -------------------
           Aligned
    -------------------- */
.ui.items > .item > .image + [class*="top aligned"].content {
  align-self: flex-start;
}
.ui.items > .item > .image + [class*="middle aligned"].content {
  align-self: center;
}
.ui.items > .item > .image + [class*="bottom aligned"].content {
  align-self: flex-end;
}
/* --------------
         Relaxed
    --------------- */
.ui.relaxed.items > .item {
  margin: 1.5em 0;
}
.ui[class*="very relaxed"].items > .item {
  margin: 2em 0;
}
/* -------------------
          Divided
    -------------------- */
.ui.divided.items > .item {
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  margin: 0;
  padding: 1em 0;
}
.ui.divided.items > .item:first-child {
  border-top: none;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.ui.divided.items > .item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Relaxed Divided */
.ui.relaxed.divided.items > .item {
  margin: 0;
  padding: 1.5em 0;
}
.ui[class*="very relaxed"].divided.items > .item {
  margin: 0;
  padding: 2em 0;
}
/* -------------------
            Link
    -------------------- */
.ui.items a.item:hover,
.ui.link.items > .item:hover {
  cursor: pointer;
}
.ui.items a.item:hover .content .header,
.ui.link.items > .item:hover .content .header {
  color: #1e70bf;
}
/* --------------
      Size
--------------- */
.ui.items > .item {
  font-size: 1em;
}
.ui.mini.items > .item {
  font-size: 0.78571429em;
}
.ui.tiny.items > .item {
  font-size: 0.85714286em;
}
.ui.small.items > .item {
  font-size: 0.92857143em;
}
.ui.large.items > .item {
  font-size: 1.14285714em;
}
.ui.big.items > .item {
  font-size: 1.28571429em;
}
.ui.huge.items > .item {
  font-size: 1.42857143em;
}
.ui.massive.items > .item {
  font-size: 1.71428571em;
}
/* ---------------
       Unstackable
    ---------------- */
@media only screen and (max-width: 767.98px) {
  .ui.unstackable.items > .item > .image,
  .ui.unstackable.items > .item > .image > img {
    width: 125px !important;
  }
}
/* --------------
         Inverted
    --------------- */
.ui.inverted.items > .item {
  background: transparent;
}
.ui.inverted.items > .item > .content {
  background: none;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.items > .item .extra {
  background: none;
}
.ui.inverted.items > .item > .content > .header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.items > .item > .content > .description {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.items > .item .meta {
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.items > .item > .content a:not(.ui) {
  color: #57a4ef;
}
.ui.inverted.items > .item > .content a:not(.ui):hover {
  color: #4183c4;
}
.ui.inverted.items > .item > .content > a.header {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.items > .item > .content > a.header:hover {
  color: #ffffff;
}
.ui.inverted.items > .item .meta > a:not(.ui) {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.items > .item .meta > a:not(.ui):hover {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.items > .item > .content .favorite.icon:hover {
  color: #ffc63d;
}
.ui.inverted.items > .item > .content .active.favorite.icon {
  color: #ffec56;
}
.ui.inverted.items > .item > .content .like.icon:hover {
  color: #ff5a63;
}
.ui.inverted.items > .item > .content .active.like.icon {
  color: #ff5a63;
}
.ui.inverted.items > .item .extra {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.items a.item:hover .content .header,
.ui.inverted.link.items > .item:hover .content .header {
  color: #ffffff;
}
.ui.inverted.divided.items > .item {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ui.inverted.divided.items > .item:first-child {
  border-top: none;
}
.ui.disabled.items,
.ui.items > .disabled.item {
  opacity: 0.45;
  pointer-events: none;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/*!
 * # Fomantic-UI - Statistic
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
           Statistic
*******************************/
/* -------------------
         View
-------------------- */
/* Group */
/* Group Element */
/* -------------------
       Content
-------------------- */
/* Value */
/* Label */
/* Text */
/* Label Image */
/* -------------------
      Types
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Floated */
/* Inverted */
/* Item Width */
/* Stackable */
/* Size */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           Statistic
*******************************/
/* Standalone */
.ui.statistic {
  display: inline-flex;
  flex-direction: column;
  margin: 1em 0;
  max-width: none;
}
.ui.statistic + .ui.statistic {
  margin: 0 0 0 1.5em;
}
.ui.statistic:first-child {
  margin-top: 0;
}
.ui.statistic:last-child {
  margin-bottom: 0;
}
/*******************************
            Group
*******************************/
/* Grouped */
.ui.statistics {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.ui.statistics > .statistic {
  display: inline-flex;
  flex: 0 1 auto;
  flex-direction: column;
  margin: 0 1.5em 1em;
  max-width: none;
}
.ui.statistics {
  display: flex;
  margin: 1em -1.5em -1em;
}
/* Clearing */
.ui.statistics::after {
  display: block;
  content: " ";
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
.ui.statistics:first-child {
  margin-top: 0;
}
/*******************************
            Content
*******************************/
/* --------------
      Value
--------------- */
.ui.statistics .statistic > .value,
.ui.statistic > .value {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 4rem;
  font-weight: normal;
  line-height: 1em;
  color: #1b1c1d;
  text-transform: uppercase;
  text-align: center;
}
/* --------------
     Label
--------------- */
.ui.statistics .statistic > .label,
.ui.statistic > .label {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-transform: uppercase;
  text-align: center;
}
/* Top Label */
.ui.statistics .statistic > .label ~ .value,
.ui.statistic > .label ~ .value {
  margin-top: 0;
}
/* Bottom Label */
.ui.statistics .statistic > .value ~ .label,
.ui.statistic > .value ~ .label {
  margin-top: 0;
}
/*******************************
             Types
*******************************/
/* --------------
   Icon Value
--------------- */
.ui.statistics .statistic > .value > i.icon,
.ui.statistic > .value > i.icon {
  opacity: 1;
  width: auto;
  margin: 0;
}
/* --------------
   Text Value
--------------- */
.ui.statistics .statistic > .text.value,
.ui.statistic > .text.value {
  line-height: 1em;
  min-height: 2em;
  font-weight: bold;
  text-align: center;
}
.ui.statistics .statistic > .text.value + .label,
.ui.statistic > .text.value + .label {
  text-align: center;
}
/* --------------
   Image Value
--------------- */
.ui.statistics .statistic > .value img,
.ui.statistic > .value img {
  max-height: 3rem;
  vertical-align: baseline;
}
/*******************************
            Variations
*******************************/
/* --------------
      Count
--------------- */
.ui.ten.statistics {
  margin: 0 0 -1em;
}
.ui.ten.statistics .statistic {
  min-width: 10%;
  margin: 0 0 1em;
}
.ui.nine.statistics {
  margin: 0 0 -1em;
}
.ui.nine.statistics .statistic {
  min-width: 11.11111111%;
  margin: 0 0 1em;
}
.ui.eight.statistics {
  margin: 0 0 -1em;
}
.ui.eight.statistics .statistic {
  min-width: 12.5%;
  margin: 0 0 1em;
}
.ui.seven.statistics {
  margin: 0 0 -1em;
}
.ui.seven.statistics .statistic {
  min-width: 14.28571429%;
  margin: 0 0 1em;
}
.ui.six.statistics {
  margin: 0 0 -1em;
}
.ui.six.statistics .statistic {
  min-width: 16.66666667%;
  margin: 0 0 1em;
}
.ui.five.statistics {
  margin: 0 0 -1em;
}
.ui.five.statistics .statistic {
  min-width: 20%;
  margin: 0 0 1em;
}
.ui.four.statistics {
  margin: 0 0 -1em;
}
.ui.four.statistics .statistic {
  min-width: 25%;
  margin: 0 0 1em;
}
.ui.three.statistics {
  margin: 0 0 -1em;
}
.ui.three.statistics .statistic {
  min-width: 33.33333333%;
  margin: 0 0 1em;
}
.ui.two.statistics {
  margin: 0 0 -1em;
}
.ui.two.statistics .statistic {
  min-width: 50%;
  margin: 0 0 1em;
}
.ui.one.statistics {
  margin: 0 0 -1em;
}
.ui.one.statistics .statistic {
  min-width: 100%;
  margin: 0 0 1em;
}
.ui.fluid.statistic {
  width: 100%;
}
/* --------------
       Horizontal
    --------------- */
.ui.horizontal.statistic {
  flex-direction: row;
  align-items: center;
}
.ui.horizontal.statistics {
  flex-direction: column;
  margin: 0;
  max-width: none;
}
.ui.horizontal.statistics .statistic {
  flex-direction: row;
  align-items: center;
  max-width: none;
  margin: 1em 0;
}
.ui.horizontal.statistic > .text.value,
.ui.horizontal.statistics > .statistic > .text.value {
  min-height: 0 !important;
}
.ui.horizontal.statistics .statistic > .value > i.icon,
.ui.horizontal.statistic > .value > i.icon {
  width: 1.18em;
}
.ui.horizontal.statistics .statistic > .value,
.ui.horizontal.statistic > .value {
  display: inline-block;
  vertical-align: middle;
}
.ui.horizontal.statistics .statistic > .label,
.ui.horizontal.statistic > .label {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0.75em;
}
/* --------------
        Inverted
    --------------- */
.ui.inverted.statistics .statistic > .value,
.ui.inverted.statistic .value {
  color: #FFFFFF;
}
.ui.inverted.statistics .statistic > .label,
.ui.inverted.statistic .label {
  color: rgba(255, 255, 255, 0.9);
}
/* --------------
     Colors
--------------- */
.ui.primary.statistics .statistic > .value,
.ui.statistics .primary.statistic > .value,
.ui.primary.statistic > .value {
  color: #6C3667;
}
.ui.inverted.primary.statistics .statistic > .value,
.ui.statistics .inverted.primary.statistic > .value,
.ui.inverted.primary.statistic > .value {
  color: #54c8ff;
}
.ui.secondary.statistics .statistic > .value,
.ui.statistics .secondary.statistic > .value,
.ui.secondary.statistic > .value {
  color: #88d317;
}
.ui.inverted.secondary.statistics .statistic > .value,
.ui.statistics .inverted.secondary.statistic > .value,
.ui.inverted.secondary.statistic > .value {
  color: #545454;
}
.ui.red.statistics .statistic > .value,
.ui.statistics .red.statistic > .value,
.ui.red.statistic > .value {
  color: #db2828;
}
.ui.inverted.red.statistics .statistic > .value,
.ui.statistics .inverted.red.statistic > .value,
.ui.inverted.red.statistic > .value {
  color: #ff695e;
}
.ui.orange.statistics .statistic > .value,
.ui.statistics .orange.statistic > .value,
.ui.orange.statistic > .value {
  color: #f2711c;
}
.ui.inverted.orange.statistics .statistic > .value,
.ui.statistics .inverted.orange.statistic > .value,
.ui.inverted.orange.statistic > .value {
  color: #ff851b;
}
.ui.yellow.statistics .statistic > .value,
.ui.statistics .yellow.statistic > .value,
.ui.yellow.statistic > .value {
  color: #fbbd08;
}
.ui.inverted.yellow.statistics .statistic > .value,
.ui.statistics .inverted.yellow.statistic > .value,
.ui.inverted.yellow.statistic > .value {
  color: #ffe21f;
}
.ui.olive.statistics .statistic > .value,
.ui.statistics .olive.statistic > .value,
.ui.olive.statistic > .value {
  color: #b5cc18;
}
.ui.inverted.olive.statistics .statistic > .value,
.ui.statistics .inverted.olive.statistic > .value,
.ui.inverted.olive.statistic > .value {
  color: #d9e778;
}
.ui.green.statistics .statistic > .value,
.ui.statistics .green.statistic > .value,
.ui.green.statistic > .value {
  color: #21ba45;
}
.ui.inverted.green.statistics .statistic > .value,
.ui.statistics .inverted.green.statistic > .value,
.ui.inverted.green.statistic > .value {
  color: #2ecc40;
}
.ui.teal.statistics .statistic > .value,
.ui.statistics .teal.statistic > .value,
.ui.teal.statistic > .value {
  color: #00b5ad;
}
.ui.inverted.teal.statistics .statistic > .value,
.ui.statistics .inverted.teal.statistic > .value,
.ui.inverted.teal.statistic > .value {
  color: #6dffff;
}
.ui.blue.statistics .statistic > .value,
.ui.statistics .blue.statistic > .value,
.ui.blue.statistic > .value {
  color: #2185d0;
}
.ui.inverted.blue.statistics .statistic > .value,
.ui.statistics .inverted.blue.statistic > .value,
.ui.inverted.blue.statistic > .value {
  color: #54c8ff;
}
.ui.violet.statistics .statistic > .value,
.ui.statistics .violet.statistic > .value,
.ui.violet.statistic > .value {
  color: #6435c9;
}
.ui.inverted.violet.statistics .statistic > .value,
.ui.statistics .inverted.violet.statistic > .value,
.ui.inverted.violet.statistic > .value {
  color: #a291fb;
}
.ui.purple.statistics .statistic > .value,
.ui.statistics .purple.statistic > .value,
.ui.purple.statistic > .value {
  color: #a333c8;
}
.ui.inverted.purple.statistics .statistic > .value,
.ui.statistics .inverted.purple.statistic > .value,
.ui.inverted.purple.statistic > .value {
  color: #dc73ff;
}
.ui.pink.statistics .statistic > .value,
.ui.statistics .pink.statistic > .value,
.ui.pink.statistic > .value {
  color: #e03997;
}
.ui.inverted.pink.statistics .statistic > .value,
.ui.statistics .inverted.pink.statistic > .value,
.ui.inverted.pink.statistic > .value {
  color: #ff8edf;
}
.ui.brown.statistics .statistic > .value,
.ui.statistics .brown.statistic > .value,
.ui.brown.statistic > .value {
  color: #a5673f;
}
.ui.inverted.brown.statistics .statistic > .value,
.ui.statistics .inverted.brown.statistic > .value,
.ui.inverted.brown.statistic > .value {
  color: #d67c1c;
}
.ui.grey.statistics .statistic > .value,
.ui.statistics .grey.statistic > .value,
.ui.grey.statistic > .value {
  color: #767676;
}
.ui.inverted.grey.statistics .statistic > .value,
.ui.statistics .inverted.grey.statistic > .value,
.ui.inverted.grey.statistic > .value {
  color: #dcddde;
}
.ui.black.statistics .statistic > .value,
.ui.statistics .black.statistic > .value,
.ui.black.statistic > .value {
  color: #1b1c1d;
}
.ui.inverted.black.statistics .statistic > .value,
.ui.statistics .inverted.black.statistic > .value,
.ui.inverted.black.statistic > .value {
  color: #545454;
}
/* --------------
        Floated
    --------------- */
.ui[class*="left floated"].statistic {
  float: left;
  margin: 0 2em 1em 0;
}
.ui[class*="right floated"].statistic {
  float: right;
  margin: 0 0 1em 2em;
}
.ui.floated.statistic:last-child {
  margin-bottom: 0;
}
/* --------------
        Stackable
    --------------- */
@media only screen and (max-width: 767.98px) {
  .ui.stackable.statistics {
    width: auto;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ui.stackable.statistics > .statistic {
    width: 100% !important;
    margin: 0 !important;
    padding: 1rem 1rem !important;
  }
}
/* --------------
     Sizes
--------------- */
/* Medium */
.ui.statistics .statistic > .value,
.ui.statistic > .value {
  font-size: 4rem;
}
.ui.horizontal.statistics .statistic > .value,
.ui.horizontal.statistic > .value {
  font-size: 3rem;
}
.ui.statistics .statistic > .text.value,
.ui.statistic > .text.value {
  font-size: 2rem;
}
.ui.mini.statistics .statistic > .value,
.ui.mini.statistic > .value {
  font-size: 1.5rem;
}
.ui.mini.horizontal.statistics .statistic > .value,
.ui.mini.horizontal.statistic > .value {
  font-size: 1.5rem;
}
.ui.mini.statistics .statistic > .text.value,
.ui.mini.statistic > .text.value {
  font-size: 1rem;
}
.ui.tiny.statistics .statistic > .value,
.ui.tiny.statistic > .value {
  font-size: 2rem;
}
.ui.tiny.horizontal.statistics .statistic > .value,
.ui.tiny.horizontal.statistic > .value {
  font-size: 2rem;
}
.ui.tiny.statistics .statistic > .text.value,
.ui.tiny.statistic > .text.value {
  font-size: 1rem;
}
.ui.small.statistics .statistic > .value,
.ui.small.statistic > .value {
  font-size: 3rem;
}
.ui.small.horizontal.statistics .statistic > .value,
.ui.small.horizontal.statistic > .value {
  font-size: 2rem;
}
.ui.small.statistics .statistic > .text.value,
.ui.small.statistic > .text.value {
  font-size: 1rem;
}
.ui.large.statistics .statistic > .value,
.ui.large.statistic > .value {
  font-size: 5rem;
}
.ui.large.horizontal.statistics .statistic > .value,
.ui.large.horizontal.statistic > .value {
  font-size: 4rem;
}
.ui.large.statistics .statistic > .text.value,
.ui.large.statistic > .text.value {
  font-size: 2.5rem;
}
.ui.big.statistics .statistic > .value,
.ui.big.statistic > .value {
  font-size: 5.5rem;
}
.ui.big.horizontal.statistics .statistic > .value,
.ui.big.horizontal.statistic > .value {
  font-size: 4.5rem;
}
.ui.big.statistics .statistic > .text.value,
.ui.big.statistic > .text.value {
  font-size: 2.5rem;
}
.ui.huge.statistics .statistic > .value,
.ui.huge.statistic > .value {
  font-size: 6rem;
}
.ui.huge.horizontal.statistics .statistic > .value,
.ui.huge.horizontal.statistic > .value {
  font-size: 5rem;
}
.ui.huge.statistics .statistic > .text.value,
.ui.huge.statistic > .text.value {
  font-size: 2.5rem;
}
.ui.massive.statistics .statistic > .value,
.ui.massive.statistic > .value {
  font-size: 7rem;
}
.ui.massive.horizontal.statistics .statistic > .value,
.ui.massive.horizontal.statistic > .value {
  font-size: 6rem;
}
.ui.massive.statistics .statistic > .text.value,
.ui.massive.statistic > .text.value {
  font-size: 3rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
    User Variable Overrides
*******************************/
/* Modules */
/*!
 * # Fomantic-UI - Accordion
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
           Accordion
*******************************/
/* Title */
/* Icon */
/* Child Accordion */
/* Content */
/* -------------------
       Coupling
-------------------- */
/* -------------------
       States
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Styled */
/* Content */
/* Child Content */
/* Styled Title */
/* Styled Title States */
/* Styled Child Title States */
/* Inverted */
/* Compact */
/* Very Compact */
/* Styled Compact */
/* Styled Very Compact */
/* Basic Styled */
/* Tree */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Accordion
*******************************/
.ui.accordion,
.ui.accordion .accordion {
  max-width: 100%;
}
.ui.accordion .accordion {
  margin: 1em 0 0;
  padding: 0;
}
/* Title */
.ui.accordion.menu .item > .title,
.ui.accordion > .title,
.ui.accordion .accordion > .title {
  cursor: pointer;
  padding: 0.5em 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
  list-style: none;
  line-height: 1;
}
/* Default Styling */
.ui.accordion:not(.styled) .title ~ .content,
.ui.accordion:not(.styled) .accordion .title ~ .content {
  margin: "";
  padding: 0.5em 0 1em;
}
.ui.accordion:not(.styled) .title ~ .content:last-child {
  padding-bottom: 0;
}
/* Arrow */
.ui.accordion .ui.header > .dropdown.icon,
.ui.accordion .title > .dropdown.icon,
.ui.accordion .accordion .title > .dropdown.icon {
  display: inline-block;
  float: none;
  opacity: 1;
  width: 1.25em;
  height: 1em;
  margin: 0 0.25rem 0 0;
  padding: 0;
  font-size: 1em;
  transition: transform 0.1s ease, opacity 0.1s ease;
  vertical-align: baseline;
  transform: none;
}
.ui.accordion .ui.header > .dropdown.icon.right,
.ui.accordion .title > .dropdown.icon.right,
.ui.accordion .accordion .title > .dropdown.icon.right {
  float: right;
  transform: rotate(180deg);
}
/* --------------
    Coupling
--------------- */
/* Menu */
.ui.accordion.menu .item .title {
  display: block;
  padding: 0;
}
.ui.accordion.menu .item .title > .dropdown.icon {
  float: right;
  margin: 0 0.25rem 0 0;
  transform: rotate(180deg);
}
/* Header */
.ui.accordion .ui.header > .dropdown.icon {
  font-size: 1em;
  margin: 0 0.25rem 0 0;
}
/*******************************
            States
*******************************/
.ui.accordion[open] > .title > .dropdown.icon,
.ui.accordion .accordion[open] > .title > .dropdown.icon,
.ui.accordion .active.title > .dropdown.icon,
.ui.accordion .accordion .active.title > .dropdown.icon {
  transform: rotate(90deg);
}
.ui.accordion.menu .item .active.title > .dropdown.icon {
  transform: rotate(90deg);
}
/*******************************
            Types
*******************************/
/* --------------
         Styled
    --------------- */
.ui.styled.accordion {
  width: 600px;
}
.ui.styled.accordion,
.ui.styled.accordion .accordion {
  border-radius: 0.28571429rem;
  background: #FFFFFF;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15);
}
.ui.styled.accordion > .title,
.ui.styled.accordion .accordion > .title {
  margin: 0;
  padding: 0.75em 1em;
  color: rgba(0, 0, 0, 0.4);
  font-weight: bold;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  transition: background 0.1s ease, color 0.1s ease;
}
.ui.styled.accordion > .title:first-child,
.ui.styled.accordion .accordion > .title:first-child {
  border-top: none;
}
/* Content */
.ui.styled.accordion > .content {
  margin: 0;
  padding: 0.5em 1em 1.5em;
}
.ui.styled.accordion .accordion > .content {
  margin: 0;
  padding: 0.5em 1em 1.5em;
}
/* Hover */
.ui.styled.accordion > .title:hover {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.ui.styled.accordion .accordion > .title:hover {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
/* Active */
.ui.styled.accordion[open] > .title,
.ui.styled.accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.95);
}
.ui.styled.accordion .accordion[open] > .title,
.ui.styled.accordion .accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
         Compact
    --------------- */
/* Default Styling */
.ui.compact.accordion:not(.styled) > .title,
.ui.compact.accordion:not(.styled) .accordion > .title {
  padding: 0.25em 0;
}
.ui.compact.accordion:not(.styled) .title ~ .content,
.ui.compact.accordion:not(.styled) .accordion .title ~ .content {
  padding: 0.25em 0 0.5em;
}
/* Styled */
.ui.compact.styled.accordion > .title,
.ui.compact.styled.accordion .accordion > .title {
  padding: 0.375em 0.5em;
}
.ui.compact.styled.accordion .title ~ .content,
.ui.compact.styled.accordion .accordion .title ~ .content {
  padding: 0.25em 0.5em 0.75em;
}
/* --------------
    Very Compact
  --------------- */
.ui[class*="very compact"].accordion:not(.styled) > .title,
.ui[class*="very compact"].accordion:not(.styled) .accordion > .title {
  padding: 0.125em 0;
}
.ui[class*="very compact"].accordion:not(.styled) .title ~ .content,
.ui[class*="very compact"].accordion:not(.styled) .accordion .title ~ .content {
  padding: 0.125em 0 0.25em;
}
.ui[class*="very compact"].styled.accordion > .title,
.ui[class*="very compact"].styled.accordion .accordion > .title {
  padding: 0.1875em 0.25em;
}
.ui[class*="very compact"].styled.accordion .title ~ .content,
.ui[class*="very compact"].styled.accordion .accordion .title ~ .content {
  padding: 0.125em 0.25em 0.375em;
}
/*******************************
            States
*******************************/
/* --------------
   Not Active
--------------- */
.ui.accordion:not(details) .title ~ .content:not(.active),
.ui.accordion .accordion:not(details) .title ~ .content:not(.active) {
  display: none;
}
/*******************************
           Variations
*******************************/
/* --------------
         Fluid
    --------------- */
.ui.fluid.accordion,
.ui.fluid.accordion .accordion {
  width: 100%;
}
/* --------------
         Inverted
    --------------- */
.ui.inverted.accordion.menu .item > .title,
.ui.inverted.accordion > .title,
.ui.inverted.accordion .accordion > .title {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.styled.accordion,
.ui.inverted.styled.accordion .accordion {
  background: #1b1c1d;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1);
}
.ui.inverted.styled.accordion > .title,
.ui.inverted.styled.accordion .accordion > .title {
  color: rgba(255, 255, 255, 0.5);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Hover */
.ui.inverted.styled.accordion > .title:hover {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.styled.accordion .accordion > .title:hover {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
}
/* Active */
.ui.inverted.styled.accordion[open] > .title,
.ui.inverted.styled.accordion .active.title {
  background: transparent;
  color: #ffffff;
}
.ui.inverted.styled.accordion .accordion[open] > .title,
.ui.inverted.styled.accordion .accordion .active.title {
  background: transparent;
  color: #ffffff;
}
.ui.basic.styled.accordion,
.ui.basic.styled.accordion .accordion {
  background: transparent;
  box-shadow: none;
}
.ui.basic.styled.accordion > .title,
.ui.basic.styled.accordion .accordion > .title {
  border: none;
  color: rgba(0, 0, 0, 0.6);
}
.ui.basic.styled.accordion > .title:hover,
.ui.basic.styled.accordion .accordion > .title:hover {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.ui.basic.styled.accordion[open] > .title,
.ui.basic.styled.accordion .active.title,
.ui.basic.styled.accordion .accordion[open] > .title,
.ui.basic.styled.accordion .accordion .active.title {
  background: transparent;
  color: rgba(0, 0, 0, 0.95);
}
.ui.inverted.basic.styled.accordion > .title,
.ui.inverted.basic.styled.accordion .accordion > .title {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.basic.styled.accordion > .title:hover,
.ui.inverted.basic.styled.accordion .accordion > .title:hover {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.basic.styled.accordion[open] > .title,
.ui.inverted.basic.styled.accordion .active.title,
.ui.inverted.basic.styled.accordion .accordion[open] > .title,
.ui.inverted.basic.styled.accordion .accordion .active.title {
  background: transparent;
  color: #ffffff;
}
.ui.tree.accordion:not(.styled) .title ~ .content,
.ui.tree.accordion:not(.styled) .accordion .title ~ .content {
  padding: 0;
}
.ui.tree.accordion > .content,
.ui.tree.accordion .accordion > .content {
  margin-left: 1.7em;
}
.ui.tree.accordion .accordion {
  margin-top: 0;
}
/*******************************
         Theme Overrides
*******************************/
@font-face {
  font-family: Accordion;
  src: url(data:application/font-woff;base64,d09GRk9UVE8AAAREAAsAAAAABkAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAC7AAAAQoAAAE/j/fxwUZGVE0AAAQUAAAAHAAAAByNqvxQR0RFRgAAA/gAAAAcAAAAIAAnABhPUy8yAAABYAAAAEIAAABgTadW5mNtYXAAAAKMAAAAUQAAAWAFZuKDaGVhZAAAAQgAAAAyAAAANg8zT8toaGVhAAABPAAAABoAAAAkApkA5mhtdHgAAAQwAAAAEwAAABYBtwASbWF4cAAAAVgAAAAGAAAABgAGUABuYW1lAAABpAAAAOYAAAGq/HAhWXBvc3QAAALgAAAADAAAACAAAwAAeJxjYGRgYADi8KWRsvH8Nl8ZuJkYQOD838XvQPT9hGxNIOXJsJ0xD0hzMIClARzsCcoAAHicY2BkYGB88P8BkGQAg+0wBhywAgBgjgOAAAAAAFAAAAYAAHicY2BmOM84gYGVgYHRhzGNgYHBHUp/ZZBkaGFABYwCSJyANNcUBgcGhg+3GB/8fwCUfMCgAFIDV6AAhIwARVcMJwAAeJx1jrFOwzAURU/SNKgFIVgQ6uSRKWolZjaQOnQBqQNb2lpRpMqW3HTowhew8U9I/BU37WOjtmyfd/3utYEbvsn4G7lxRsmtcc4FD8YD6U/GhfjNeMglybjU/DQeM+FHrqwY2QsnzrgSnTjnmnvjgfSpcSF+Nh5yx7txKf3DeMwjX31soqajJdCoqLs26HzFq9yz1WVS6Zv9tk5nmv8Vl0pI7CRHXThmVPofS592bQxuVk3PGF+Ohk6WRhHhGNO3eTbSVhy0z1mra6HV91YyxdC5xgevFL9xq4Obr+MixlDxC/HTOrsAAHicY2BgYGaAYBkGRgYQiALyGMF8FgY7IM3FwMHABISMDAofbv3/+/8/WJXCh5tgNuP/x2A+RC8bUC0DUB8rWIgNiJkY8AJm/NJDHgAALqoOxgAAAHicY2BmwAsAAH0ABHicPY7BSsNAEIZnkk2zlhg1JKAYxOrJi6RepMdC8SKefAJP4kVBzCtkNw7ZjeK1j9C38Rn6CO5CDrppigwMM8P/f/8gMAaIGL4+vD09PwJ6gLCwp2AnaM88e+7bQ0aRTxE7GcPRffJL9D9EIX2bW+sFOXzu5QD7OSwPcuA5Xiew05N8CIDDLiSQuTqGSVmU0/KqKG+Kxaxv8+llMURvHwBAgRJrfEeCEaLns9HdRxzHP/FqaV4yaptWK25SkwZKu4Va0rUSWjYVVbz7CqmqhZBSiNodqGqk5l2vFqrW1PJ4tWbGqZxVKa31htA6gmN2aTBwBobzuYsU1YYkGheyZVBqLjKKxn8cSmvuAAB4nGNgZGBg4AFiAQYJBiYgzQLEIJoRggEFbQBAAAAAAQAAAADeTO04AAAAAM/9o+4AAAAA32BrKXicY2BAAEYQsZ1BiIEBAAPpAMsA) format("woff");
  font-weight: normal;
  font-style: normal;
}
/* Dropdown Icon */
.ui.accordion .ui.header > .dropdown.icon,
.ui.accordion .title > .dropdown.icon,
.ui.accordion .accordion .title > .dropdown.icon {
  font-family: Accordion;
  line-height: 1;
  backface-visibility: hidden;
  font-weight: normal;
  font-style: normal;
  text-align: center;
}
.ui.accordion .ui.header > .dropdown.icon::before,
.ui.accordion .title > .dropdown.icon::before,
.ui.accordion .accordion .title > .dropdown.icon::before {
  content: "\f0da" /* rtl: "\f0d9" */;
}
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Calendar
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
           Calendar
*******************************/
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Popup
*******************************/
.ui.calendar.popup {
  max-width: none;
  padding: 0;
  border: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ui.calendar.popup.inverted::before {
  background: #2b2b2b;
}
/*******************************
            Calendar
*******************************/
.ui.calendar .calendar:focus,
.ui.calendar.popup:focus {
  outline: 0;
}
/*******************************
            Grid
*******************************/
.ui.calendar.popup .ui.grid {
  display: block;
  white-space: nowrap;
}
.ui.calendar.popup .ui.grid > .column {
  width: auto;
}
/*******************************
            Table
*******************************/
.ui.calendar .ui.table.year,
.ui.calendar .ui.table.month,
.ui.calendar .ui.table.minute {
  min-width: 15em;
}
.ui.calendar .ui.table.day {
  min-width: 18em;
}
.ui.calendar .ui.table.day.andweek {
  min-width: 22em;
}
.ui.calendar .ui.table.hour {
  min-width: 20em;
}
.ui.calendar .ui.table tr th,
.ui.calendar .ui.table tr td {
  padding: 0.5em;
  white-space: nowrap;
}
.ui.calendar .ui.table tr th {
  border-left: none;
}
.ui.calendar .ui.table tr th i.icon {
  margin: 0;
}
.ui.calendar .ui.table tr:first-child th {
  position: relative;
  padding-left: 0;
  padding-right: 0;
}
.ui.calendar .ui.table.day tr:first-child th {
  border: none;
}
.ui.calendar .ui.table.day tr:nth-child(2) th {
  padding-top: 0.2em;
  padding-bottom: 0.3em;
}
.ui.calendar .ui.table tr td {
  padding-left: 0.1em;
  padding-right: 0.1em;
}
.ui.calendar .ui.table tr .link {
  cursor: pointer;
}
.ui.calendar .ui.table tr .prev.link {
  width: 14.28571429%;
  position: absolute;
  left: 0;
}
.ui.calendar .ui.table tr .next.link {
  width: 14.28571429%;
  position: absolute;
  right: 0;
}
.ui.ui.calendar .ui.table tr .disabled {
  pointer-events: auto;
  cursor: default;
  color: rgba(40, 40, 40, 0.3);
}
.ui.calendar .ui.table tr .adjacent:not(.disabled):not(.active) {
  color: rgba(0, 0, 0, 0.6);
  background: rgba(0, 0, 0, 0.03);
}
/* --------------
     States
--------------- */
.ui.calendar .ui.table tr td.today {
  font-weight: bold;
}
.ui.calendar .ui.table tr td.range {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.95);
  box-shadow: none;
}
.ui.calendar:not(.disabled):focus .ui.table tbody tr td.focus,
.ui.calendar:not(.disabled).popup.active .ui.table tbody tr td.focus {
  box-shadow: inset 0 0 0 1px #85b7d9;
}
.ui.inverted.calendar .ui.table.inverted tr td.range {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  box-shadow: none;
}
.ui.inverted.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus,
.ui.inverted.calendar:not(.disabled).popup.active .ui.table.inverted tbody tr td.focus {
  box-shadow: inset 0 0 0 1px #85b7d9;
}
.ui.inverted.calendar .ui.ui.ui.inverted.table tr .disabled {
  color: rgba(225, 225, 225, 0.3);
}
.ui.inverted.calendar .ui.inverted.table tr .adjacent:not(.disabled):not(.active) {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.02);
}
.ui.ui.ui.calendar.popup > .ui.ui.grid {
  margin: -1rem;
}
.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:first-child) {
  padding-left: 0;
}
.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:first-child) > .ui.table {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:last-child) {
  padding-right: 0;
}
.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:last-child) > .ui.table {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
/* --------------------
        Sizes
--------------------- */
.ui.mini.calendar,
.ui.mini.calendar .ui.table tr th,
.ui.mini.calendar .ui.table tr td {
  font-size: 0.78571429rem;
}
.ui.mini.calendar .ui.table.year,
.ui.mini.calendar .ui.table.month,
.ui.mini.calendar .ui.table.minute {
  min-width: 11.78571429em;
}
.ui.mini.calendar .ui.table.day {
  min-width: 14.14285714em;
}
.ui.mini.calendar .ui.table.day.andweek {
  min-width: 17.28571429em;
}
.ui.mini.calendar .ui.table.hour {
  min-width: 15.71428571em;
}
.ui.tiny.calendar,
.ui.tiny.calendar .ui.table tr th,
.ui.tiny.calendar .ui.table tr td {
  font-size: 0.85714286rem;
}
.ui.tiny.calendar .ui.table.year,
.ui.tiny.calendar .ui.table.month,
.ui.tiny.calendar .ui.table.minute {
  min-width: 12.85714286em;
}
.ui.tiny.calendar .ui.table.day {
  min-width: 15.42857143em;
}
.ui.tiny.calendar .ui.table.day.andweek {
  min-width: 18.85714286em;
}
.ui.tiny.calendar .ui.table.hour {
  min-width: 17.14285714em;
}
.ui.small.calendar,
.ui.small.calendar .ui.table tr th,
.ui.small.calendar .ui.table tr td {
  font-size: 0.92857143rem;
}
.ui.small.calendar .ui.table.year,
.ui.small.calendar .ui.table.month,
.ui.small.calendar .ui.table.minute {
  min-width: 13.92857143em;
}
.ui.small.calendar .ui.table.day {
  min-width: 16.71428571em;
}
.ui.small.calendar .ui.table.day.andweek {
  min-width: 20.42857143em;
}
.ui.small.calendar .ui.table.hour {
  min-width: 18.57142857em;
}
.ui.large.calendar,
.ui.large.calendar .ui.table tr th,
.ui.large.calendar .ui.table tr td {
  font-size: 1.14285714rem;
}
.ui.large.calendar .ui.table.year,
.ui.large.calendar .ui.table.month,
.ui.large.calendar .ui.table.minute {
  min-width: 17.14285714em;
}
.ui.large.calendar .ui.table.day {
  min-width: 20.57142857em;
}
.ui.large.calendar .ui.table.day.andweek {
  min-width: 25.14285714em;
}
.ui.large.calendar .ui.table.hour {
  min-width: 22.85714286em;
}
.ui.big.calendar,
.ui.big.calendar .ui.table tr th,
.ui.big.calendar .ui.table tr td {
  font-size: 1.28571429rem;
}
.ui.big.calendar .ui.table.year,
.ui.big.calendar .ui.table.month,
.ui.big.calendar .ui.table.minute {
  min-width: 19.28571429em;
}
.ui.big.calendar .ui.table.day {
  min-width: 23.14285714em;
}
.ui.big.calendar .ui.table.day.andweek {
  min-width: 28.28571429em;
}
.ui.big.calendar .ui.table.hour {
  min-width: 25.71428571em;
}
.ui.huge.calendar,
.ui.huge.calendar .ui.table tr th,
.ui.huge.calendar .ui.table tr td {
  font-size: 1.42857143rem;
}
.ui.huge.calendar .ui.table.year,
.ui.huge.calendar .ui.table.month,
.ui.huge.calendar .ui.table.minute {
  min-width: 21.42857143em;
}
.ui.huge.calendar .ui.table.day {
  min-width: 25.71428571em;
}
.ui.huge.calendar .ui.table.day.andweek {
  min-width: 31.42857143em;
}
.ui.huge.calendar .ui.table.hour {
  min-width: 28.57142857em;
}
.ui.massive.calendar,
.ui.massive.calendar .ui.table tr th,
.ui.massive.calendar .ui.table tr td {
  font-size: 1.71428571rem;
}
.ui.massive.calendar .ui.table.year,
.ui.massive.calendar .ui.table.month,
.ui.massive.calendar .ui.table.minute {
  min-width: 25.71428571em;
}
.ui.massive.calendar .ui.table.day {
  min-width: 30.85714286em;
}
.ui.massive.calendar .ui.table.day.andweek {
  min-width: 37.71428571em;
}
.ui.massive.calendar .ui.table.hour {
  min-width: 34.28571429em;
}
/*******************************
            States
*******************************/
/* --------------------
            Disabled
    --------------------- */
.ui.disabled.calendar {
  opacity: 0.45;
}
.ui.disabled.calendar > .input,
.ui.disabled.calendar .ui.table tr .link {
  pointer-events: none;
}
/*******************************
         Theme Overrides
*******************************/
/*!
 * # Fomantic-UI - Checkbox
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Checkbox
*******************************/
/* Label */
/* 26px @ 14/em */
/* Checkbox */
/* Checkmark */
/* Label */
/* -------------------
        States
-------------------- */
/* Hover */
/* Pressed */
/* Focus */
/* Active */
/* Active Focus */
/* Indeterminate */
/* Disabled */
/* -------------------
        Types
-------------------- */
/* Radio */
/* Uses px to avoid rounding issues with circles */
/* 7px as unitless value from radio size */
/* Slider & Toggle Handle */
/* Slider */
/* Slider States */
/* Toggle */
/* -------------------
      Variations
-------------------- */
/* Invisible */
/* Inverted */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           Checkbox
*******************************/
/* --------------
    Content
--------------- */
.ui.checkbox {
  position: relative;
  display: inline-block;
  backface-visibility: hidden;
  outline: none;
  vertical-align: baseline;
  font-style: normal;
  min-height: 17px;
  font-size: 1em;
  line-height: 17px;
  min-width: 17px;
}
/* HTML Checkbox */
.ui.checkbox input[type="checkbox"],
.ui.checkbox input[type="radio"] {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0 !important;
  outline: none;
  z-index: 3;
  width: 17px;
  height: 17px;
}
.ui.checkbox label {
  cursor: auto;
  position: relative;
  display: block;
  outline: none;
  font-size: 1em;
}
.ui.checkbox:not(.invisible) label {
  padding-left: 1.85714em;
}
.ui.checkbox label::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  content: "";
  background: #FFFFFF;
  border-radius: 0.21428571rem;
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
  border: 1px solid #d4d4d5;
}
/* --------------
    Checkmark
--------------- */
.ui.checkbox label::after {
  position: absolute;
  font-size: 14px;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  text-align: center;
  opacity: 0;
  color: rgba(0, 0, 0, 0.87);
  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;
}
.ui.right.aligned.checkbox label {
  padding-left: 0;
  padding-right: 1.85714em;
}
.ui.right.aligned.checkbox label::after,
.ui.right.aligned.checkbox label::before {
  right: 0;
  left: auto;
}
/* --------------
      Label
--------------- */
/* Inside */
.ui.checkbox label,
.ui.checkbox + label {
  color: rgba(0, 0, 0, 0.87);
  transition: color 0.1s ease;
}
/* Outside */
.ui.checkbox + label {
  vertical-align: middle;
}
/*******************************
           States
*******************************/
/* --------------
      Hover
--------------- */
.ui.checkbox label:hover::before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox:not(.invisible) label:hover,
.ui.checkbox:not(.invisible) + label:hover {
  color: rgba(0, 0, 0, 0.8);
}
/* --------------
      Down
--------------- */
.ui.checkbox label:active::before {
  background: #f9fafb;
  border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox label:active::after {
  color: rgba(0, 0, 0, 0.95);
}
.ui.checkbox:not(.invisible) input:active ~ label {
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
     Focus
--------------- */
.ui.checkbox input:focus ~ label::before {
  background: #FFFFFF;
  border-color: #96c8da;
}
.ui.checkbox input:focus ~ label::after {
  color: rgba(0, 0, 0, 0.95);
}
.ui.checkbox:not(.invisible) input:focus ~ label {
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
     Active
--------------- */
.ui.checkbox input:checked ~ label::before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox input:checked ~ label::after {
  opacity: 1;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
      Indeterminate
    --------------- */
.ui.checkbox input:not([type="radio"]):indeterminate ~ label::before {
  background: #FFFFFF;
  border-color: rgba(34, 36, 38, 0.35);
}
.ui.checkbox input:not([type="radio"]):indeterminate ~ label::after {
  opacity: 1;
  color: rgba(0, 0, 0, 0.95);
}
.ui.indeterminate.toggle.checkbox input:not([type="radio"]):indeterminate ~ label::before {
  background: rgba(0, 0, 0, 0.15);
}
.ui.indeterminate.toggle.checkbox input:not([type="radio"]) ~ label::after {
  left: 1.075rem;
}
.ui.right.aligned.indeterminate.toggle.checkbox input:not([type="radio"]) ~ label::after {
  left: auto;
  right: 1.075rem;
}
/* --------------
  Active Focus
--------------- */
.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::before,
.ui.checkbox input:checked:focus ~ label::before {
  background: #FFFFFF;
  border-color: #96c8da;
}
.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::after,
.ui.checkbox input:checked:focus ~ label::after {
  color: rgba(0, 0, 0, 0.95);
}
/* --------------
        Read-Only
    --------------- */
.ui.read-only.checkbox,
.ui.read-only.checkbox label {
  cursor: default;
  pointer-events: none;
}
/* --------------
         Disabled
    --------------- */
.ui.disabled.checkbox label,
.ui.checkbox input[disabled] ~ label {
  cursor: default;
  opacity: 0.5;
  color: #000000;
  pointer-events: none;
}
/* --------------
     Hidden
--------------- */
/* Initialized checkbox moves input below element
 to prevent manually triggering */
.ui.checkbox input.hidden {
  z-index: -1;
}
/* Selectable Label */
.ui.checkbox input + label[for],
.ui.checkbox input.hidden + label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
/*******************************
             Types
*******************************/
/* --------------
         Radio
    --------------- */
.ui.radio.checkbox {
  min-height: 15px;
}
.ui.radio.checkbox label {
  padding-left: 1.85714em;
}
/* Box */
.ui.radio.checkbox label::before {
  content: "";
  transform: none;
  width: 15px;
  height: 15px;
  border-radius: 500rem;
  top: 1px;
  left: 0;
}
/* Bullet */
.ui.radio.checkbox label::after {
  border: none;
  content: "" !important;
  line-height: 15px;
  top: 1px;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 500rem;
  transform: scale(0.46666667);
  background-color: rgba(0, 0, 0, 0.87);
}
/* Focus */
.ui.radio.checkbox input:focus ~ label::before {
  background-color: #FFFFFF;
}
.ui.radio.checkbox input:focus ~ label::after {
  background-color: rgba(0, 0, 0, 0.95);
}
/* Indeterminate */
.ui.radio.checkbox input:indeterminate ~ label::after {
  opacity: 0;
}
/* Active */
.ui.radio.checkbox input:checked ~ label::before {
  background-color: #FFFFFF;
}
.ui.radio.checkbox input:checked ~ label::after {
  background-color: rgba(0, 0, 0, 0.95);
}
/* Active Focus */
.ui.radio.checkbox input:focus:checked ~ label::before {
  background-color: #FFFFFF;
}
.ui.radio.checkbox input:focus:checked ~ label::after {
  background-color: rgba(0, 0, 0, 0.95);
}
/* --------------
         Slider
    --------------- */
.ui.slider.checkbox {
  min-height: 1.25rem;
}
/* Input */
.ui.slider.checkbox input {
  width: 3.5rem;
  height: 1.25rem;
}
/* Label */
.ui.slider.checkbox label {
  padding-left: 4.5rem;
  line-height: 1rem;
  color: rgba(0, 0, 0, 0.4);
}
/* Line */
.ui.slider.checkbox label::before {
  display: block;
  position: absolute;
  content: "";
  transform: none;
  border: none !important;
  left: 0;
  z-index: 1;
  top: 0.4rem;
  background-color: rgba(0, 0, 0, 0.05);
  width: 3.5rem;
  height: 0.21428571rem;
  border-radius: 500rem;
  transition: background 0.3s ease;
}
/* Handle */
.ui.slider.checkbox label::after {
  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  position: absolute;
  content: "" !important;
  opacity: 1;
  z-index: 2;
  border: none;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  width: 1.5rem;
  height: 1.5rem;
  top: -0.25rem;
  left: 0;
  transform: none;
  border-radius: 500rem;
  transition: left 0.3s ease;
}
/* Focus */
.ui.slider.checkbox input:focus ~ label::before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}
/* Hover */
.ui.slider.checkbox label:hover {
  color: rgba(0, 0, 0, 0.8);
}
.ui.slider.checkbox label:hover::before {
  background: rgba(0, 0, 0, 0.15);
}
/* Active */
.ui.slider.checkbox input:checked ~ label {
  color: rgba(0, 0, 0, 0.95);
}
.ui.slider.checkbox input:checked ~ label::before {
  background-color: #545454;
}
.ui.slider.checkbox input:checked ~ label::after {
  left: 2rem;
}
/* Active Focus */
.ui.slider.checkbox input:focus:checked ~ label {
  color: rgba(0, 0, 0, 0.95);
}
.ui.slider.checkbox input:focus:checked ~ label::before {
  background-color: #000000;
}
.ui.right.aligned.slider.checkbox label {
  padding-left: 0;
  padding-right: 4.5rem;
}
.ui.right.aligned.slider.checkbox label::after {
  left: auto;
  right: 2rem;
  transition: right 0.3s ease;
}
.ui.right.aligned.slider.checkbox input:checked ~ label::after {
  left: auto;
  right: 0;
}
/* --------------
         Toggle
    --------------- */
.ui.toggle.checkbox {
  min-height: 1.5rem;
}
/* Input */
.ui.toggle.checkbox input {
  width: 3.5rem;
  height: 1.5rem;
}
/* Label */
.ui.toggle.checkbox label {
  min-height: 1.5rem;
  padding-left: 4.5rem;
  color: rgba(0, 0, 0, 0.87);
  padding-top: 0.15em;
}
/* Switch */
.ui.toggle.checkbox label::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
  transform: none;
  border: none;
  top: 0;
  background: rgba(0, 0, 0, 0.05);
  box-shadow: none;
  width: 3.5rem;
  height: 1.5rem;
  border-radius: 500rem;
}
/* Handle */
.ui.toggle.checkbox label::after {
  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  position: absolute;
  content: "" !important;
  opacity: 1;
  z-index: 2;
  border: none;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  width: 1.5rem;
  height: 1.5rem;
  top: 0;
  left: 0;
  border-radius: 500rem;
  transition: background 0.3s ease, left 0.3s ease;
}
.ui.toggle.checkbox input ~ label::after {
  left: -0.05rem;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
/* Focus */
.ui.toggle.checkbox input:focus ~ label::before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}
/* Hover */
.ui.toggle.checkbox label:hover::before {
  background-color: rgba(0, 0, 0, 0.15);
  border: none;
}
/* Active */
.ui.toggle.checkbox input:checked ~ label {
  color: rgba(0, 0, 0, 0.95);
}
.ui.toggle.checkbox input:checked ~ label::before {
  background-color: #6C3667;
}
.ui.toggle.checkbox input:checked ~ label::after {
  left: 2.15rem;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
/* Active Focus */
.ui.toggle.checkbox input:focus:checked ~ label {
  color: rgba(0, 0, 0, 0.95);
}
.ui.toggle.checkbox input:focus:checked ~ label::before {
  background-color: #552450;
}
.ui.right.aligned.toggle.checkbox label {
  padding-left: 0;
  padding-right: 4.5rem;
}
.ui.right.aligned.toggle.checkbox input ~ label::after {
  left: auto;
  right: 2.15rem;
  transition: background 0.3s ease, right 0.3s ease;
}
.ui.right.aligned.toggle.checkbox input:checked ~ label::after {
  left: auto;
  right: -0.05rem;
}
/*******************************
            Variations
*******************************/
/* --------------
         Fitted
    --------------- */
.ui.ui.fitted.checkbox label {
  padding-left: 0;
}
.ui.fitted.toggle.checkbox {
  width: 3.5rem;
}
.ui.fitted.slider.checkbox {
  width: 3.5rem;
}
/* --------------
         Inverted
    --------------- */
.ui.ui.ui.inverted.checkbox label,
.ui.ui.ui.inverted.checkbox + label {
  color: rgba(255, 255, 255, 0.9);
}
/* Hover */
.ui.ui.inverted.checkbox label:hover {
  color: #ffffff;
}
.ui.inverted.checkbox label:hover::before {
  border-color: rgba(34, 36, 38, 0.5);
}
/* Slider Label */
.ui.inverted.slider.checkbox label {
  color: rgba(255, 255, 255, 0.5);
}
/* Slider Line */
.ui.ui.inverted.slider.checkbox label::before {
  background-color: rgba(255, 255, 255, 0.5);
}
/* Slider Hover */
.ui.ui.inverted.slider.checkbox label:hover::before {
  background: rgba(255, 255, 255, 0.7);
}
/* Slider Active */
.ui.ui.inverted.slider.checkbox input:checked ~ label {
  color: #ffffff;
}
.ui.ui.inverted.slider.checkbox input:checked ~ label::before {
  background-color: rgba(255, 255, 255, 0.8);
}
/* Slider Active Focus */
.ui.ui.inverted.slider.checkbox input:focus:checked ~ label {
  color: #ffffff;
}
.ui.ui.inverted.slider.checkbox input:focus:checked ~ label::before {
  background-color: rgba(255, 255, 255, 0.8);
}
/* Toggle Switch */
.ui.ui.inverted.toggle.checkbox label::before {
  background-color: rgba(255, 255, 255, 0.9);
}
/* Toggle Hover */
.ui.ui.inverted.toggle.checkbox label:hover::before {
  background: #ffffff;
}
/* Toggle Active */
.ui.ui.inverted.toggle.checkbox input:checked ~ label {
  color: #ffffff;
}
.ui.ui.inverted.toggle.checkbox input:checked ~ label::before {
  background-color: #6C3667;
}
/* Toggle Active Focus */
.ui.ui.inverted.toggle.checkbox input:focus:checked ~ label {
  color: #ffffff;
}
.ui.ui.inverted.toggle.checkbox input:focus:checked ~ label::before {
  background-color: #552450;
}
/* --------------
         Invisible
    --------------- */
.ui.invisible.checkbox:not(.compact) {
  display: block;
}
.ui.invisible.checkbox input {
  left: -99999px;
  position: absolute;
}
.ui.invisible.checkbox label::before,
.ui.invisible.checkbox label::after {
  display: none;
}
.ui.invisible.checkbox label {
  transition: all 0.1s ease;
}
.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label {
  background: transparent;
  border-color: transparent;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  color: inherit;
}
.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked):not(:hover):focus + label:not(.image) {
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset;
}
.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label.image,
.basic.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label {
  box-shadow: none;
}
.ui.invisible.checkbox input:not(:checked) + label.image {
  opacity: 0.5;
  filter: grayscale(1);
}
.ui.invisible.checkbox input:not(:checked):not(:hover):focus + label.image {
  opacity: 0.75;
}
.ui.invisible.checkbox input:not(:checked)[disabled] + label.image,
.disabled.ui.invisible.checkbox input:not(:checked) + label.image {
  opacity: 0.25;
}
/* --------------------
        Size
--------------------- */
.ui.mini.checkbox {
  font-size: 0.78571429em;
}
.ui.tiny.checkbox {
  font-size: 0.85714286em;
}
.ui.small.checkbox {
  font-size: 0.92857143em;
}
.ui.large.checkbox {
  font-size: 1.14285714em;
}
.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before,
.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label::before {
  transform: scale(1.14285714);
  transform-origin: left;
}
.ui.large.form .checkbox.radio label::before,
.ui.large.checkbox.radio label::before {
  transform: scale(1.14285714);
  transform-origin: left;
}
.ui.large.form .checkbox.radio label::after,
.ui.large.checkbox.radio label::after {
  transform: scale(0.57142857);
  transform-origin: left;
  left: 0.33571429em;
}
.ui.big.checkbox {
  font-size: 1.28571429em;
}
.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before,
.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label::before {
  transform: scale(1.28571429);
  transform-origin: left;
}
.ui.big.form .checkbox.radio label::before,
.ui.big.checkbox.radio label::before {
  transform: scale(1.28571429);
  transform-origin: left;
}
.ui.big.form .checkbox.radio label::after,
.ui.big.checkbox.radio label::after {
  transform: scale(0.64285714);
  transform-origin: left;
  left: 0.37142857em;
}
.ui.huge.checkbox {
  font-size: 1.42857143em;
}
.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before,
.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label::before {
  transform: scale(1.42857143);
  transform-origin: left;
}
.ui.huge.form .checkbox.radio label::before,
.ui.huge.checkbox.radio label::before {
  transform: scale(1.42857143);
  transform-origin: left;
}
.ui.huge.form .checkbox.radio label::after,
.ui.huge.checkbox.radio label::after {
  transform: scale(0.71428571);
  transform-origin: left;
  left: 0.40714286em;
}
.ui.massive.checkbox {
  font-size: 1.71428571em;
}
.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label::after,
.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before,
.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label::before {
  transform: scale(1.71428571);
  transform-origin: left;
}
.ui.massive.form .checkbox.radio label::before,
.ui.massive.checkbox.radio label::before {
  transform: scale(1.71428571);
  transform-origin: left;
}
.ui.massive.form .checkbox.radio label::after,
.ui.massive.checkbox.radio label::after {
  transform: scale(0.85714286);
  transform-origin: left;
  left: 0.47857143em;
}
/*******************************
         Theme Overrides
*******************************/
@font-face {
  font-family: Checkbox;
  src: url(data:application/font-woff;base64,d09GRgABAAAAAAR8AA0AAAAABtwAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEYAAAABoAAAAcgbCWJ0dERUYAAARIAAAAFwAAABgAJQAAT1MvMgAAAZgAAABAAAAAYA8SBD9jbWFwAAAB9AAAAFMAAAFc71zo6Wdhc3AAAARAAAAACAAAAAgAAAAQZ2x5ZgAAAlwAAADJAAABVHshwGBoZWFkAAABMAAAAC4AAAA2Bj3tWWhoZWEAAAFgAAAAHQAAACQHfQPIaG10eAAAAdgAAAAZAAAAHg56AEVsb2NhAAACSAAAABIAAAASAQoAjG1heHAAAAGAAAAAGAAAACAACgAvbmFtZQAAAygAAADnAAABp5xOC4Fwb3N0AAAEEAAAADAAAABaHRtWW3icY2BkYGBgYmDgqbAVjee3+crAzcIAAhc3XilHppl3M+cBKQ6QWgYGAAHnCVsAAHicY2BkYGA+8P8AAwMLAwgw72ZgZEAF7ABaJgNOAAAAeJxjYGRgYOBg0GUA0QwMTAxoAAAFtQA6eJxjYGYWYpzAwMrAwDST6QwDA0M/hGZ8zWDMyMmAChgF0AQYHBgYXjAxH/h/gMGB+QCIx8CIJKvAwAgAIOcKW3icY2GAAMZQCM0ExCwMDK7MqiAeAAqXAM4AAAB4nN2NwQ2AMAwDL00pHYJH52AQ9n/w6BbFCS9WwJFlO3IUwHl5YAQuJctcOaVdU6TGmGWt7IxJuHXnvmcrnLPR2GWb6NnF4rrwhT5U/o0Hf5EJGAAAAAAAAAgACAAQABgASABsAKoAAHichY09CsJAEIVndiG2gyQ7IASJIbHQyvyIiFhZpBE8iNsIeiVvYOFx7FPbKE6yUcHGgZ23jzd8DxDeowAWCv77Dez0Vd1hAIB+D714NMa0yNdYZrMhum0CfaWnT4bpeSPaEjOd8djIltTBNBlhSGzES3Jqb5oW6UOrE1WBL7/A73lxNBqnK8znZRbNWMgJET8qJhlWF1HV3zvXSceBSifawrTjTLrd0uI3c4lFu4UcYvbh1/KsIaodUayx7Kxr+wb8Y+EFi+YsngAAAHicfc5BSsNAGMXxf9q0agURFy50M3shlOoNikIXddGFa5N0SEvLDKQp2KUH8AxuXXkkz+JL+NYJJPzmffNmAlzxS0L7JJxzYx5wxoN5qPzZnMrv5hGXfJrHyr/NE+74UytJL5Rcdye0Huiue/NQ+aM5lV/NI27ZmsfKv8wTnvhhzgZPyY6CyAfMN77cFVFaaVBxZE9OraWvjvtc6Kn0jN40qDnoVyIBx4yMqWJfH7YxuFk27a2/dLVGxUpbQndYrrVnrazgpO9C1chSb7s3UymGxlU++Dpv/NoVJ7co4zLGkPEPj0VARQB4nGNgYsAPOBgYGJkYmBiZGZgZWRhZGdnYS/MyDYAAShuCaFcLCB9Iw/hGAOPdCuMAAQAB//8AD3icY2BkYGDgAWIBIGYCYhYIDQACOwAmAHicY2BgYGQAgns+by1A9MWNV8phNABQ5wfrAAA=) format("woff");
}
/* Checkmark */
.ui.checkbox label::after {
  font-family: Checkbox;
}
/* Checked */
.ui.checkbox input:checked ~ label::after {
  content: "\e800";
}
/* Indeterminate */
.ui.checkbox input:indeterminate ~ label::after {
  font-size: 12px;
  content: "\e801";
}
/* UTF Reference
.check::before { content: '\e800'; }
.dash::before { content: '\e801'; }
.plus::before { content: '\e802'; }
*/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Dimmer
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Dimmer
*******************************/
/* Hidden (Default) */
/* Visible */
/* -------------------
        Types
-------------------- */
/* Page Dimmer */
/* -------------------
      Variations
-------------------- */
/* Inverted */
/* Simple */
/* Intensity */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Dimmer
*******************************/
.dimmable:not(body) {
  position: relative;
}
.ui.dimmer {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  padding: 1em;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  line-height: 1;
  animation-fill-mode: both;
  animation-duration: 0.5s;
  transition: all 0.5s linear;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  will-change: opacity;
  z-index: 1000;
}
/* Dimmer Content */
.ui.dimmer > .content {
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  color: #FFFFFF;
}
/* Loose Coupling */
.ui.segment > .ui.dimmer:not(.page) {
  border-radius: inherit;
}
/* Scrollbars */
.ui.dimmer:not(.inverted)::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
}
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(255, 255, 255, 0.15);
}
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}
.ui.dimmer:not(.inverted) {
  /* IE11 */
  scrollbar-face-color: #656565;
  scrollbar-shadow-color: #656565;
  scrollbar-track-color: #323232;
  scrollbar-arrow-color: #323232;
}
@supports (-moz-appearance: none) {
  .ui.dimmer:not(.inverted) {
    /* firefox: first color thumb, second track */
    scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
  }
}
/*******************************
            States
*******************************/
/* Animating */
.animating.dimmable:not(body),
.dimmed.dimmable:not(body) {
  overflow: hidden;
}
/* Animating / Active / Visible */
.dimmed.dimmable > .ui.animating.dimmer,
.dimmed.dimmable > .ui.visible.dimmer,
.ui.active.dimmer {
  display: flex;
  opacity: 1;
}
/* Disabled */
.ui.disabled.dimmer {
  width: 0 !important;
  height: 0 !important;
}
/*******************************
           Variations
*******************************/
/* --------------
        Legacy
    --------------- */
/* Animating / Active / Visible */
.dimmed.dimmable > .ui.animating.legacy.dimmer,
.dimmed.dimmable > .ui.visible.legacy.dimmer,
.ui.active.legacy.dimmer {
  display: block;
}
/* --------------
        Alignment
    --------------- */
.ui[class*="top aligned"].dimmer {
  justify-content: flex-start;
}
.ui[class*="bottom aligned"].dimmer {
  justify-content: flex-end;
}
/* --------------
          Page
    --------------- */
.ui.page.dimmer {
  position: fixed;
  transform-style: "";
  perspective: 2000px;
  transform-origin: center center;
}
.ui.page.dimmer.modals {
  -moz-perspective: none;
}
body.animating.in.dimmable,
body.dimmed.dimmable {
  overflow: hidden;
}
body.dimmable > .dimmer {
  position: fixed;
}
/* --------------
        Blurring
    --------------- */
@supports (not (-webkit-backdrop-filter: none)) and (not ((-webkit-backdrop-filter: none) or (backdrop-filter: none))) {
  .blurring.dimmable > :not(.dimmer) {
    filter: initial;
    transition: 800ms filter ease;
  }
  .blurring.dimmed.dimmable > :not(.dimmer):not(.popup) {
    filter: blur(5px) grayscale(0.7);
  }
}
/* Dimmer Color */
.blurring.dimmable > .dimmer {
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(5px) grayscale(0.7);
  backdrop-filter: blur(5px) grayscale(0.7);
}
.blurring.dimmable > .inverted.dimmer {
  background: rgba(255, 255, 255, 0.6);
}
/* --------------
        Aligned
    --------------- */
.ui.dimmer > .top.aligned.content > * {
  vertical-align: top;
}
.ui.dimmer > .bottom.aligned.content > * {
  vertical-align: bottom;
}
/* --------------
        Shades
    --------------- */
.medium.medium.medium.medium.medium.dimmer {
  background: rgba(0, 0, 0, 0.65);
}
.light.light.light.light.light.dimmer {
  background: rgba(0, 0, 0, 0.45);
}
.very.very.very.very.light.dimmer {
  background: rgba(0, 0, 0, 0.25);
}
/* --------------
        Inverted
    --------------- */
.ui.inverted.dimmer {
  background: rgba(255, 255, 255, 0.85);
}
.ui.inverted.dimmer > .content,
.ui.inverted.dimmer > .content > * {
  color: #000;
}
/* --------------
         Inverted Shades
        --------------- */
.medium.medium.medium.medium.medium.inverted.dimmer {
  background: rgba(255, 255, 255, 0.65);
}
.light.light.light.light.light.inverted.dimmer {
  background: rgba(255, 255, 255, 0.45);
}
.very.very.very.very.light.inverted.dimmer {
  background: rgba(255, 255, 255, 0.25);
}
/* --------------
         Simple
    --------------- */
/* Displays without javascript */
.ui.simple.dimmer {
  display: block;
  overflow: hidden;
  opacity: 0;
  width: 0;
  height: 0;
  z-index: -100;
  background: rgba(0, 0, 0, 0);
}
.dimmed.dimmable > .ui.simple.dimmer {
  overflow: visible;
  opacity: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1;
}
.ui.simple.inverted.dimmer {
  background: rgba(255, 255, 255, 0);
}
.dimmed.dimmable > .ui.simple.inverted.dimmer {
  background: rgba(255, 255, 255, 0.85);
}
/* --------------
         Partially
    ---------------- */
.ui[class*="top dimmer"],
.ui[class*="center dimmer"],
.ui[class*="bottom dimmer"] {
  height: auto;
}
.ui[class*="bottom dimmer"] {
  top: auto;
  bottom: 0;
}
.ui[class*="center dimmer"] {
  top: 50%;
  transform: translateY(-50%);
}
.ui.segment > .ui.ui[class*="top dimmer"] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.segment > .ui.ui[class*="center dimmer"] {
  border-radius: 0;
}
.ui.segment > .ui.ui[class*="bottom dimmer"] {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ui[class*="center dimmer"].transition[class*="fade up"].in {
  animation-name: fadeInUpCenter;
}
.ui[class*="center dimmer"].transition[class*="fade down"].in {
  animation-name: fadeInDownCenter;
}
.ui[class*="center dimmer"].transition[class*="fade up"].out {
  animation-name: fadeOutUpCenter;
}
.ui[class*="center dimmer"].transition[class*="fade down"].out {
  animation-name: fadeOutDownCenter;
}
.ui[class*="center dimmer"].bounce.transition {
  animation-name: bounceCenter;
}
@keyframes fadeInUpCenter {
  0% {
    opacity: 0;
    transform: translateY(-40%);
  }
  100% {
    opacity: 1;
    transform: translateY(-50%);
  }
}
@keyframes fadeInDownCenter {
  0% {
    opacity: 0;
    transform: translateY(-60%);
  }
  100% {
    opacity: 1;
    transform: translateY(-50%);
  }
}
@keyframes fadeOutUpCenter {
  0% {
    opacity: 1;
    transform: translateY(-50%);
  }
  100% {
    opacity: 0;
    transform: translateY(-45%);
  }
}
@keyframes fadeOutDownCenter {
  0% {
    opacity: 1;
    transform: translateY(-50%);
  }
  100% {
    opacity: 0;
    transform: translateY(-55%);
  }
}
@keyframes bounceCenter {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(-50%);
  }
  40% {
    transform: translateY(calc(-50% - 30px));
  }
  60% {
    transform: translateY(calc(-50% - 15px));
  }
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Dropdown
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Dropdown
*******************************/
/* -------------------
       Element
-------------------- */
/* -------------------
       Content
-------------------- */
/* Icon */
/* Current Text */
/* Menu */
/* Text */
/* Menu Item */
/* Vertical Item */
/* Sub Menu */
/* Menu Header */
/* Menu Divider */
/* Menu Input */
/* Menu Image */
/* Item Sub-Element */
/* Sub-Menu Dropdown Icon */
/* Description */
/* Message */
/* Floated Content */
/* -------------------
        Types
-------------------- */
/* ------------
   Selection
-------------- */
/* <select> */
/* Responsive */
/* Derived */
/* 1px / em size */
/* Hover */
/* Focus */
/* Visible */
/* Visible Hover */
/* --------------
     Search
-------------- */
/* Search Selection */
/* Inline */
/* --------------
    Multiple
-------------- */
/* Split Actual Padding Between Child and Parent (allows for label spacing) */
/* Child Elements */
/* Dropdown Icon */
/* Selection Label */
/* Logic adopted from label.less */
/* -------------------
       States
-------------------- */
/* Addition */
/* Hovered */
/* Default Text */
/* Loading */
/* Active Menu Item */
/* Selected */
/* Clearable */
/* -------------------
      Variations
-------------------- */
/* Scrolling */
/* 0 / em size */
/* Upward */
/* Flyout Direction */
/* Left */
/* Simple */
/* Floating */
/* Pointing */
/* Pointing Upward */
/* Scrollhint */
/* --------------
    Inverted
--------------- */
/* General rules and basic dropdowns */
/* Selection */
/* Multiple */
/* Scrollhint */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Dropdown
*******************************/
.ui.dropdown {
  cursor: pointer;
  position: relative;
  display: inline-block;
  outline: none;
  text-align: left;
  transition: box-shadow 0.1s ease, width 0.1s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/*******************************
            Content
*******************************/
/* --------------
      Menu
--------------- */
.ui.dropdown .menu {
  cursor: auto;
  position: absolute;
  display: none;
  outline: none;
  top: 100%;
  min-width: -moz-max-content;
  min-width: max-content;
  margin: 0;
  padding: 0;
  background: #fff;
  font-size: 1em;
  text-shadow: none;
  text-align: left;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  transition: opacity 0.1s ease;
  z-index: 11;
  will-change: transform, opacity;
}
.ui.dropdown .menu > * {
  white-space: nowrap;
}
/* --------------
  Hidden Input
--------------- */
.ui.dropdown > input:not(.search):first-child,
.ui.dropdown > select {
  display: none !important;
}
/* --------------
 Dropdown Icon
--------------- */
.ui.dropdown:not(.labeled) > .dropdown.icon {
  position: relative;
  width: auto;
  min-width: 1em;
  font-size: 0.85714286em;
  margin: 0 0 0 1em;
}
.ui.dropdown .menu > .item .dropdown.icon {
  width: auto;
  float: right;
  margin: 0em 0 0 1em;
}
.ui.dropdown .menu > .item .dropdown.icon + .text {
  margin-right: 1em;
}
/* --------------
      Text
--------------- */
.ui.dropdown > .text {
  display: inline-block;
  transition: none;
}
/* --------------
    Menu Item
--------------- */
.ui.dropdown .menu > .item {
  position: relative;
  cursor: pointer;
  display: block;
  border: none;
  height: auto;
  min-height: 2.57142857rem;
  text-align: left;
  border-top: none;
  line-height: 1em;
  font-size: 1rem;
  color: rgba(0, 0, 0, 0.87);
  padding: 0.78571429rem 1.14285714rem;
  text-transform: none;
  font-weight: normal;
  box-shadow: none;
  -webkit-touch-callout: none;
}
.ui.dropdown .menu > .item:first-child {
  border-top-width: 0;
}
.ui.dropdown .menu > .item.vertical {
  display: flex;
  flex-direction: column-reverse;
}
/* --------------
  Floated Content
--------------- */
.ui.dropdown > .text > [class*="right floated"],
.ui.dropdown .menu .item > [class*="right floated"] {
  float: right !important;
  margin-right: 0 !important;
  margin-left: 1em !important;
}
.ui.dropdown > .text > [class*="left floated"],
.ui.dropdown .menu .item > [class*="left floated"] {
  float: left !important;
  margin-left: 0 !important;
  margin-right: 1em !important;
}
.ui.dropdown .menu .item > i.icon.floated,
.ui.dropdown .menu .item > .flag.floated,
.ui.dropdown .menu .item > .image.floated,
.ui.dropdown .menu .item > img.floated {
  margin-top: 0em;
}
/* --------------
  Menu Divider
--------------- */
.ui.dropdown .menu > .header {
  margin: 1rem 0 0.75rem;
  padding: 0 1.14285714rem;
  font-weight: bold;
  text-transform: uppercase;
}
.ui.dropdown .menu > .header:not(.ui) {
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.78571429em;
}
.ui.dropdown .menu > .divider {
  border-top: 1px solid rgba(34, 36, 38, 0.1);
  height: 0;
  margin: 0.5em 0;
}
.ui.dropdown .menu > .horizontal.divider {
  border-top: none;
}
.ui.ui.ui.dropdown .menu > .input {
  width: auto;
  display: flex;
  margin: 1.14285714rem 0.78571429rem;
  min-width: 10rem;
}
.ui.dropdown .menu > .header + .input {
  margin-top: 0;
}
.ui.dropdown .menu > .input:not(.transparent) input {
  padding: 0.5em 1em;
}
.ui.dropdown .menu > .input:not(.transparent) .button,
.ui.dropdown .menu > .input:not(.transparent) i.icon,
.ui.dropdown .menu > .input:not(.transparent) .label {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
/* -----------------
  Item Description
------------------- */
.ui.dropdown > .text > .description,
.ui.dropdown .menu > .item > .description {
  float: right;
  margin: 0 0 0 1em;
  color: rgba(0, 0, 0, 0.4);
}
.ui.dropdown .menu > .item.vertical > .description {
  margin: 0;
}
/* -----------------
      Item Text
------------------- */
.ui.dropdown .menu > .item.vertical > .text {
  margin-bottom: 0.25em;
}
/* -----------------
       Message
------------------- */
.ui.dropdown .menu > .message {
  padding: 0.78571429rem 1.14285714rem;
  font-weight: normal;
}
.ui.dropdown .menu > .message:not(.ui) {
  color: rgba(0, 0, 0, 0.4);
}
/* --------------
    Sub Menu
--------------- */
.ui.dropdown .menu .menu {
  top: 0;
  left: 100%;
  right: auto;
  margin: 0 -0.5em !important;
  border-radius: 0.28571429rem !important;
  z-index: 21 !important;
}
/* Hide Arrow */
.ui.dropdown .menu .menu::after {
  display: none;
}
/* --------------
   Sub Elements
--------------- */
/* Icons / Flags / Labels / Image */
.ui.dropdown > .text > i.icons,
.ui.dropdown > .text > i.icon,
.ui.dropdown > .text > .label,
.ui.dropdown > .text > .flag,
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image {
  margin-top: 0em;
}
.ui.dropdown .menu > .item > i.icons,
.ui.dropdown .menu > .item > i.icon,
.ui.dropdown .menu > .item > .label,
.ui.dropdown .menu > .item > .flag,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  margin-top: 0em;
}
.ui.dropdown > .text > i.icons,
.ui.dropdown > .text > i.icon,
.ui.dropdown > .text > .label,
.ui.dropdown > .text > .flag,
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image,
.ui.dropdown .menu > .item > i.icons,
.ui.dropdown .menu > .item > i.icon,
.ui.dropdown .menu > .item > .label,
.ui.dropdown .menu > .item > .flag,
.ui.dropdown .menu > .item > .image,
.ui.dropdown .menu > .item > img {
  margin-left: 0;
  float: none;
  margin-right: 0.78571429rem;
}
/* --------------
     Image
--------------- */
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image:not(.icon),
.ui.dropdown .menu > .item > .image:not(.icon),
.ui.dropdown .menu > .item > img {
  display: inline-block;
  vertical-align: top;
  width: auto;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  max-height: 2em;
}
/*******************************
            Coupling
*******************************/
/* --------------
      Menu
--------------- */
/* Remove Menu Item Divider */
.ui.dropdown .ui.menu > .item::before,
.ui.menu .ui.dropdown .menu > .item::before {
  display: none;
}
/* Prevent Menu Item Border */
.ui.menu .ui.dropdown .menu .active.item {
  border-left: none;
}
/* Automatically float dropdown menu right on last menu item */
.ui.menu .right.menu .dropdown:last-child > .menu:not(.left),
.ui.menu .right.dropdown.item > .menu:not(.left),
.ui.buttons > .ui.dropdown:last-child > .menu:not(.left) {
  left: auto;
  right: 0;
}
/* --------------
          Label
    --------------- */
/* Dropdown Menu */
.ui.label.dropdown .menu {
  min-width: 100%;
}
/* --------------
         Button
    --------------- */
/* No Margin On Icon Button */
.ui.dropdown.icon.button > .dropdown.icon {
  margin: 0;
}
.ui.dropdown.button .menu {
  min-width: 100%;
}
.ui.dropdown.button:not(.pointing):not(.floating).active {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.dropdown.button:not(.pointing):not(.floating) > .menu {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/*******************************
              Types
*******************************/
select.ui.dropdown {
  height: 38px;
  padding: 0.5em;
  border: 1px solid rgba(34, 36, 38, 0.15);
  visibility: visible;
}
/* --------------
        Selection
    --------------- */
/* Displays like a select box */
.ui.selection.dropdown {
  cursor: pointer;
  word-wrap: break-word;
  line-height: 1em;
  white-space: normal;
  outline: 0;
  transform: rotateZ(0);
  min-width: 14em;
  min-height: 2.71428571em;
  background: #FFFFFF;
  display: inline-block;
  padding: 0.78571429em 3.2em 0.78571429em 1em;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
  border: 1px solid rgba(34, 36, 38, 0.15);
  border-radius: 0.28571429rem;
  transition: box-shadow 0.1s ease, width 0.1s ease;
}
.ui.selection.dropdown.visible,
.ui.selection.dropdown.active {
  z-index: 10;
}
.ui.selection.dropdown > .search.icon,
.ui.selection.dropdown > .delete.icon,
.ui.selection.dropdown > .dropdown.icon {
  cursor: pointer;
  position: absolute;
  width: auto;
  height: auto;
  line-height: 1.21428571em;
  top: 0.78571429em;
  right: 1em;
  z-index: 3;
  margin: -0.78571429em;
  padding: 0.91666667em;
  opacity: 0.5;
  transition: opacity 0.1s ease;
}
/* Compact */
.ui.compact.selection.dropdown {
  min-width: 0;
}
.ui.compact.selection.dropdown > .menu {
  width: auto;
}
.ui.compact.selection.dropdown > .menu:not(.multiline) {
  width: -moz-max-content;
  width: max-content;
}
/* Selection Menu */
.ui.selection.dropdown:not(.unlimited) .menu {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  backface-visibility: hidden;
}
.ui.selection.dropdown .menu {
  outline: none;
  margin: 0 -1px;
  min-width: calc(100% + 2px);
  width: calc(100% + 2px);
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
  transition: opacity 0.1s ease;
}
.ui.selection.dropdown:not(.pointing):not(.floating) > .menu {
  border-top-width: 0;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.selection.dropdown .menu::after,
.ui.selection.dropdown .menu::before {
  display: none;
}
/* --------------
        Message
    --------------- */
.ui.selection.dropdown .menu > .message {
  padding: 0.78571429rem 1.14285714rem;
}
@media only screen and (max-width: 767.98px) {
  .ui.ui.selection.dropdown.short .menu {
    max-height: 6.01071429rem;
  }
  .ui.ui.selection.dropdown[class*="very short"] .menu {
    max-height: 4.00714286rem;
  }
  .ui.selection.dropdown:not(.unlimited) .menu {
    max-height: 8.01428571rem;
  }
  .ui.ui.selection.dropdown.long .menu {
    max-height: 16.02857143rem;
  }
  .ui.ui.selection.dropdown[class*="very long"] .menu {
    max-height: 24.04285714rem;
  }
}
@media only screen and (min-width: 768px) {
  .ui.ui.selection.dropdown.short .menu {
    max-height: 8.01428571rem;
  }
  .ui.ui.selection.dropdown[class*="very short"] .menu {
    max-height: 5.34285714rem;
  }
  .ui.selection.dropdown:not(.unlimited) .menu {
    max-height: 10.68571429rem;
  }
  .ui.ui.selection.dropdown.long .menu {
    max-height: 21.37142857rem;
  }
  .ui.ui.selection.dropdown[class*="very long"] .menu {
    max-height: 32.05714286rem;
  }
}
@media only screen and (min-width: 992px) {
  .ui.ui.selection.dropdown.short .menu {
    max-height: 12.02142857rem;
  }
  .ui.ui.selection.dropdown[class*="very short"] .menu {
    max-height: 8.01428571rem;
  }
  .ui.selection.dropdown:not(.unlimited) .menu {
    max-height: 16.02857143rem;
  }
  .ui.ui.selection.dropdown.long .menu {
    max-height: 32.05714286rem;
  }
  .ui.ui.selection.dropdown[class*="very long"] .menu {
    max-height: 48.08571429rem;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.ui.selection.dropdown.short .menu {
    max-height: 16.02857143rem;
  }
  .ui.ui.selection.dropdown[class*="very short"] .menu {
    max-height: 10.68571429rem;
  }
  .ui.selection.dropdown:not(.unlimited) .menu {
    max-height: 21.37142857rem;
  }
  .ui.ui.selection.dropdown.long .menu {
    max-height: 42.74285714rem;
  }
  .ui.ui.selection.dropdown[class*="very long"] .menu {
    max-height: 64.11428571rem;
  }
}
/* Menu Item */
.ui.selection.dropdown .menu > .item {
  border-top: 1px solid #fafafa;
  padding: 0.78571429rem 1.14285714rem;
  white-space: normal;
  word-wrap: normal;
}
.ui.selection.pointing.dropdown .menu > .item:first-child,
.ui.selection.floating.dropdown .menu > .item:first-child {
  border-top: none;
}
/* User Item */
.ui.selection.dropdown .menu > .hidden.addition.item {
  display: none;
}
/* User addition item */
.ui.dropdown > .menu > .stuck.addition.item:first-child {
  position: sticky;
  top: 0;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
  background: #fff;
  z-index: 14;
}
/* Hover */
.ui.selection.dropdown:hover {
  border-color: rgba(34, 36, 38, 0.35);
  box-shadow: none;
}
/* Active */
.ui.selection.simple.dropdown:hover,
.ui.selection.active.dropdown {
  border-color: #96c8da;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
}
.ui.selection.simple.dropdown:hover .menu,
.ui.selection.active.dropdown .menu {
  border-color: #96c8da;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
}
/* Focus */
.ui.selection.dropdown:focus {
  border-color: #96c8da;
  box-shadow: none;
}
.ui.selection.dropdown:focus .menu {
  border-color: #96c8da;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
}
@supports selector(:has(.f)) {
  .ui.ui.selection.dropdown:not(.inverted):has(> input:focus) {
    border-color: #96c8da;
    box-shadow: none;
  }
  .ui.ui.selection.dropdown:not(.inverted):has(> input:focus) > i.icon {
    opacity: 1;
  }
}
.ui.ui.selection.dropdown:focus > i.icon {
  opacity: 1;
}
/* Visible */
.ui.selection.visible.dropdown > .text:not(.default) {
  font-weight: normal;
  color: rgba(0, 0, 0, 0.8);
}
/* Visible Hover */
.ui.selection.active.dropdown:hover {
  border-color: #96c8da;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
}
.ui.selection.active.dropdown:hover .menu {
  border-color: #96c8da;
  box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
}
/* Dropdown Icon */
.ui.active.selection.dropdown > .dropdown.icon,
.ui.visible.selection.dropdown > .dropdown.icon {
  opacity: "";
  z-index: 3;
}
/* Connecting Border */
.ui.active.selection.dropdown:not(.pointing):not(.floating) {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
/* Empty Connecting Border */
.ui.active.empty.selection.dropdown {
  border-radius: 0.28571429rem !important;
  box-shadow: none !important;
}
.ui.active.empty.selection.dropdown .menu {
  border: none !important;
  box-shadow: none !important;
}
/* CSS specific to iOS devices or firefox mobile only */
@supports (-webkit-touch-callout: none) or (-moz-appearance: none) {
  @media (-moz-touch-enabled), (pointer: coarse) {
    .ui.dropdown .scrollhint.menu:not(.hidden)::before {
      animation: scrollhint 2s ease 2;
      content: "";
      z-index: 15;
      display: block;
      position: absolute;
      opacity: 0;
      right: 0.25em;
      top: 0;
      height: 100%;
      border-right: 0.25em solid;
      border-left: 0;
      -o-border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0)) 1 100%;
         border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0)) 1 100%;
    }
    .ui.inverted.dropdown .scrollhint.menu:not(.hidden)::before {
      -o-border-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0)) 1 100%;
         border-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0)) 1 100%;
    }
    @keyframes scrollhint {
      0% {
        opacity: 1;
        top: 100%;
      }
      100% {
        opacity: 0;
        top: 0;
      }
    }
  }
}
/* --------------
       Searchable
    --------------- */
/* Search Selection */
.ui.search.dropdown {
  min-width: "";
}
/* Search Dropdown */
.ui.search.dropdown > input.search {
  background: none transparent !important;
  border: none !important;
  box-shadow: none !important;
  cursor: text;
  top: 0;
  left: 1px;
  width: 100%;
  outline: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  padding: inherit;
}
/* Text Layering */
.ui.search.dropdown > input.search {
  position: absolute;
  z-index: 2;
}
.ui.search.dropdown > .text {
  cursor: text;
  position: relative;
  left: 1px;
  z-index: auto;
}
/* Search Selection */
.ui.search.selection.dropdown > input.search {
  line-height: 1.21428571em;
  padding: 0.67857143em 3.2em 0.67857143em 1em;
}
/* Used to size multi select input to character width */
.ui.search.selection.dropdown > span.sizer {
  line-height: 1.21428571em;
  padding: 0.67857143em 3.2em 0.67857143em 1em;
  display: none;
  white-space: pre;
}
/* Active/Visible Search */
.ui.search.dropdown.active > input.search,
.ui.search.dropdown.visible > input.search {
  cursor: auto;
}
.ui.search.dropdown.active > .text,
.ui.search.dropdown.visible > .text {
  pointer-events: none;
}
/* Filtered Text */
.ui.active.search.dropdown input.search:focus + .text i.icon,
.ui.active.search.dropdown input.search:focus + .text .flag {
  opacity: 0.45;
}
.ui.active.search.dropdown input.search:focus + .text {
  color: rgba(115, 115, 115, 0.87);
}
.ui.search.dropdown.button > span.sizer {
  display: none;
}
/* Search Menu */
.ui.search.dropdown:not(.unlimited) .menu {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  backface-visibility: hidden;
}
@media only screen and (max-width: 767.98px) {
  .ui.search.dropdown:not(.unlimited) .menu {
    max-height: 8.01428571rem;
  }
}
@media only screen and (min-width: 768px) {
  .ui.search.dropdown:not(.unlimited) .menu {
    max-height: 10.68571429rem;
  }
}
@media only screen and (min-width: 992px) {
  .ui.search.dropdown:not(.unlimited) .menu {
    max-height: 16.02857143rem;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.search.dropdown:not(.unlimited) .menu {
    max-height: 21.37142857rem;
  }
}
/* Clearable Selection */
.ui.dropdown > .remove.icon {
  cursor: pointer;
  font-size: 0.85714286em;
  margin: -0.78571429em;
  padding: 0.91666667em;
  right: 2em;
  top: 0.78571429em;
  position: absolute;
  opacity: 0.5;
  z-index: 3;
}
.ui.selection.dropdown > .remove.icon {
  right: 3em;
}
.ui.inline.dropdown > .remove.icon {
  right: 2.2em;
}
.ui.clearable.dropdown .text:not(.default),
.ui.clearable.dropdown:not(.search) > .ui.label:last-of-type {
  margin-right: 1.5em;
}
.ui.dropdown select.noselection ~ .remove.icon,
.ui.dropdown input[value=""] ~ .remove.icon,
.ui.dropdown input:not([value]):not(.search) ~ .remove.icon,
.ui.dropdown.loading > .remove.icon {
  display: none;
}
.ui.dropdown:not(.selection) > .remove.icon ~ .dropdown.icon {
  margin-left: 1.5em;
}
.ui.dropdown:not(.selection):not(.multiple) > .remove.icon {
  margin-top: -1.35em;
}
/* --------------
        Multiple
    --------------- */
/* Multiple Selection */
.ui.ui.multiple.dropdown {
  padding: 0.22619048em 3.2em 0.22619048em 0.35714286em;
}
.ui.multiple.dropdown .menu {
  cursor: auto;
}
/* Selection Label */
.ui.multiple.dropdown > .label {
  display: inline-block;
  white-space: normal;
  font-size: 1em;
  padding: 0.35714286em 0.78571429em;
  margin: 0.14285714rem 0.28571429rem 0.14285714rem 0;
  box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
}
/* Dropdown Icon */
.ui.multiple.dropdown .dropdown.icon {
  margin: "";
  padding: "";
}
/* Text */
.ui.multiple.dropdown > .text {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45238095em 0 0.45238095em 0.64285714em;
  line-height: 1.21428571em;
}
.ui.multiple.dropdown > .text.default {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ui.multiple.dropdown > .label ~ input.search {
  margin-left: 0.14285714em !important;
}
.ui.multiple.dropdown > .label ~ .text {
  display: none;
}
.ui.multiple.dropdown > .label:not(.image) > img:not(.centered) {
  margin-right: 0.78571429rem;
}
.ui.multiple.dropdown > .label:not(.image) > img.ui:not(.avatar) {
  margin-bottom: 0.39285714rem;
}
.ui.multiple.dropdown > .image.label img {
  margin: -0.35714286em 0.78571429em -0.35714286em -0.78571429em;
  height: 1.71428571em;
}
.ui.multiple.dropdown:not(.selection):not(.labeled) > .dropdown.icon {
  right: -1.5em;
}
.ui.multiple.dropdown:not(.selection):not(.labeled) > .remove.icon {
  margin-right: -1.5em;
}
.ui.multiple.dropdown:not(.selection):not(.labeled):not(.search) > .remove.icon ~ .text.default,
.ui.multiple.dropdown:not(.selection):not(.labeled) > .text.default:first-child {
  overflow: inherit;
}
/* -----------------
          Multiple Search
        ----------------- */
/* Multiple Search Selection */
.ui.multiple.search.dropdown,
.ui.multiple.search.dropdown > input.search {
  cursor: text;
}
/* Prompt Text */
.ui.multiple.search.dropdown > .text {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding: inherit;
  margin: 0.45238095em 0 0.45238095em 0.64285714em;
  line-height: 1.21428571em;
}
.ui.multiple.search.dropdown > .text.default {
  z-index: -1;
}
.ui.multiple.search.dropdown > .label ~ .text {
  display: none;
}
/* Search */
.ui.multiple.search.dropdown > input.search {
  position: static;
  padding: 0;
  max-width: 100%;
  margin: 0.45238095em 0 0.45238095em 0.64285714em;
  width: 2.2em;
  line-height: 1.21428571em;
}
.ui.multiple.search.dropdown.button {
  min-width: 14em;
}
.ui.multiple.search.dropdown > span.sizer {
  display: none;
}
.ui.multiple.search.dropdown:not(.selection) > .remove.icon + input.search,
.ui.multiple.search.dropdown:not(.selection) > input.search:first-child {
  min-width: 5.05em;
}
/* --------------
         Inline
    --------------- */
.ui.inline.dropdown {
  cursor: pointer;
  display: inline-block;
  color: inherit;
}
.ui.inline.dropdown .dropdown.icon {
  margin: 0 0.21428571em;
  vertical-align: baseline;
}
.ui.inline.dropdown > .text {
  font-weight: bold;
}
.ui.inline.dropdown .menu {
  cursor: auto;
  margin-top: 0.21428571em;
  border-radius: 0.28571429rem;
}
/*******************************
            States
*******************************/
/* --------------------
        Active
---------------------- */
/* Menu Item Active */
.ui.dropdown .menu .active.item {
  background: transparent;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.95);
  box-shadow: none;
  z-index: 12;
}
/* --------------------
        Hover
---------------------- */
/* Menu Item Hover */
.ui.dropdown .menu > .item:hover {
  background: #f2f2f2;
  color: rgba(0, 0, 0, 0.95);
  z-index: 13;
}
/* --------------------
     Default Text
---------------------- */
.ui.dropdown:not(.button) > .default.text,
.ui.default.dropdown:not(.button) > .text {
  color: rgba(191, 191, 191, 0.87);
}
.ui.dropdown:not(.button) > input:focus ~ .default.text,
.ui.default.dropdown:not(.button) > input:focus ~ .text {
  color: rgba(115, 115, 115, 0.87);
}
/* --------------------
           Loading
    --------------------- */
.ui.loading.dropdown > i.icon {
  height: 1em !important;
}
.ui.loading.selection.dropdown > i.icon {
  padding: 1.5em 1.28571429em !important;
}
.ui.loading.dropdown > i.icon::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}
.ui.loading.dropdown > i.icon::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  box-shadow: 0 0 0 1px transparent;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
}
/* Coupling */
.ui.loading.dropdown.button > i.icon::before,
.ui.loading.dropdown.button > i.icon::after {
  display: none;
}
.ui.loading.dropdown > .text {
  transition: none;
}
/* Used To Check Position */
.ui.dropdown .loading.menu {
  display: block;
  visibility: hidden;
  z-index: -1;
}
.ui.dropdown > .loading.menu {
  left: 0 !important;
  right: auto !important;
}
.ui.dropdown > .menu .loading.menu {
  left: 100% !important;
  right: auto !important;
}
/* --------------------
    Keyboard Select
---------------------- */
/* Selected Item */
.ui.dropdown.selected,
.ui.dropdown .menu .selected.item {
  background: #f7f7f7;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------------
    Search Filtered
---------------------- */
/* Filtered Item */
.ui.dropdown > .filtered.text {
  visibility: hidden;
}
.ui.dropdown .filtered.item {
  display: none !important;
}
/* --------------------
            States
    ---------------------- */
.ui.dropdown.error,
.ui.dropdown.error > .text,
.ui.dropdown.error > .default.text {
  color: #9f3a38;
}
.ui.selection.dropdown.error {
  background: #fff6f6;
  border-color: #e0b4b4;
}
.ui.selection.dropdown.error:hover {
  border-color: #e0b4b4;
}
.ui.multiple.selection.error.dropdown > .label {
  border-color: #e0b4b4;
}
.ui.dropdown.error > .menu,
.ui.dropdown.error > .menu .menu {
  border-color: #e0b4b4;
}
.ui.dropdown.error > .menu > .item {
  color: #9f3a38;
}
/* Item Hover */
.ui.dropdown.error > .menu > .item:hover {
  background-color: #fbe7e7;
}
/* Item Active */
.ui.dropdown.error > .menu .active.item {
  background-color: #fdcfcf;
}
.ui.dropdown.info,
.ui.dropdown.info > .text,
.ui.dropdown.info > .default.text {
  color: #276f86;
}
.ui.selection.dropdown.info {
  background: #f8ffff;
  border-color: #a9d5de;
}
.ui.selection.dropdown.info:hover {
  border-color: #a9d5de;
}
.ui.multiple.selection.info.dropdown > .label {
  border-color: #a9d5de;
}
.ui.dropdown.info > .menu,
.ui.dropdown.info > .menu .menu {
  border-color: #a9d5de;
}
.ui.dropdown.info > .menu > .item {
  color: #276f86;
}
/* Item Hover */
.ui.dropdown.info > .menu > .item:hover {
  background-color: #e9f2fb;
}
/* Item Active */
.ui.dropdown.info > .menu .active.item {
  background-color: #cef1fd;
}
.ui.dropdown.success,
.ui.dropdown.success > .text,
.ui.dropdown.success > .default.text {
  color: #2c662d;
}
.ui.selection.dropdown.success {
  background: #fcfff5;
  border-color: #a3c293;
}
.ui.selection.dropdown.success:hover {
  border-color: #a3c293;
}
.ui.multiple.selection.success.dropdown > .label {
  border-color: #a3c293;
}
.ui.dropdown.success > .menu,
.ui.dropdown.success > .menu .menu {
  border-color: #a3c293;
}
.ui.dropdown.success > .menu > .item {
  color: #2c662d;
}
/* Item Hover */
.ui.dropdown.success > .menu > .item:hover {
  background-color: #e9fbe9;
}
/* Item Active */
.ui.dropdown.success > .menu .active.item {
  background-color: #dafdce;
}
.ui.dropdown.warning,
.ui.dropdown.warning > .text,
.ui.dropdown.warning > .default.text {
  color: #573a08;
}
.ui.selection.dropdown.warning {
  background: #fffaf3;
  border-color: #c9ba9b;
}
.ui.selection.dropdown.warning:hover {
  border-color: #c9ba9b;
}
.ui.multiple.selection.warning.dropdown > .label {
  border-color: #c9ba9b;
}
.ui.dropdown.warning > .menu,
.ui.dropdown.warning > .menu .menu {
  border-color: #c9ba9b;
}
.ui.dropdown.warning > .menu > .item {
  color: #573a08;
}
/* Item Hover */
.ui.dropdown.warning > .menu > .item:hover {
  background-color: #fbfbe9;
}
/* Item Active */
.ui.dropdown.warning > .menu .active.item {
  background-color: #fdfdce;
}
/* --------------------
            Clear
    ---------------------- */
.ui.dropdown > .remove.icon,
.ui.dropdown > .clear.dropdown.icon {
  opacity: 0.5;
  transition: opacity 0.1s ease;
}
.ui.dropdown > .remove.icon:hover,
.ui.dropdown > .clear.dropdown.icon:hover {
  opacity: 1;
}
/* --------------------
            Disabled
    ---------------------- */
/* Disabled */
.ui.disabled.dropdown,
.ui.dropdown .menu > .disabled.item {
  cursor: default;
  pointer-events: none;
  opacity: 0.45;
}
/* --------------------
            Read-Only
    ---------------------- */
.ui.read-only.dropdown {
  cursor: default;
  pointer-events: none;
}
.ui.disabled.dropdown > .remove.icon,
.ui.read-only.dropdown > .remove.icon,
.ui.disabled.dropdown > .label > .delete.icon,
.ui.read-only.dropdown > .label > .delete.icon {
  display: none;
}
/*******************************
           Variations
*******************************/
/* --------------
    Direction
--------------- */
/* Flyout Direction */
.ui.dropdown .menu {
  left: 0;
}
/* Default Side (Right) */
.ui.dropdown .right.menu > .menu,
.ui.dropdown .menu .right.menu {
  left: 100% !important;
  right: auto !important;
  border-radius: 0.28571429rem !important;
}
/* Leftward Opening Menu */
.ui.dropdown > .left.menu {
  left: auto !important;
  right: 0 !important;
}
.ui.dropdown > .left.menu .menu,
.ui.dropdown .menu .left.menu {
  left: auto;
  right: 100%;
  margin: 0 -0.5em 0 0 !important;
  border-radius: 0.28571429rem !important;
}
.ui.dropdown .item .left.dropdown.icon,
.ui.dropdown .left.menu .item .dropdown.icon {
  width: auto;
  float: left;
  margin: 0em 0 0 0;
}
.ui.dropdown .item .left.dropdown.icon + .text,
.ui.dropdown .left.menu .item .dropdown.icon + .text {
  margin-left: 1em;
  margin-right: 0;
}
/* --------------
         Upward
    --------------- */
/* Upward Main Menu */
.ui.upward.dropdown > .menu {
  top: auto;
  bottom: 100%;
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
}
/* Upward Sub Menu */
.ui.dropdown .upward.menu {
  top: auto !important;
  bottom: 0 !important;
}
/* Active Upward */
.ui.simple.upward.active.dropdown,
.ui.simple.upward.dropdown:hover {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* Button */
.ui.upward.dropdown.button:not(.pointing):not(.floating).active {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.upward.dropdown.button:not(.pointing):not(.floating) > .menu {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
/* Selection */
.ui.ui.upward.selection.dropdown:not(.pointing):not(.floating) > .menu {
  border-top-width: 1px;
  border-bottom-width: 0;
  box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.upward.selection.dropdown:hover {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05);
}
/* Active Upward */
.ui.active.upward.selection.dropdown:not(.pointing):not(.floating) {
  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
}
/* Visible Upward */
.ui.upward.selection.dropdown.visible {
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
}
.ui.upward.selection.dropdown.visible:not(.pointing):not(.floating) {
  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
}
/* Visible Hover Upward */
.ui.upward.active.selection.dropdown:hover {
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.05);
}
.ui.upward.active.selection.dropdown:hover:not(.pointing):not(.floating) .menu {
  box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
}
/* --------------
         Scrolling
    --------------- */
/* Selection Menu */
.ui.scrolling.dropdown .menu,
.ui.dropdown .scrolling.menu {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  backface-visibility: hidden;
  min-width: 100% !important;
  width: auto !important;
}
.ui.dropdown .scrolling.menu {
  position: static;
  border: none;
  box-shadow: none !important;
  border-radius: 0 0 0.28571429rem 0.28571429rem !important;
  margin: 0 !important;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.ui.ui.scrolling.dropdown .menu .item,
.ui.ui.ui.dropdown .scrolling.menu > .item {
  border-top: none;
}
.ui.scrolling.dropdown .menu .item:first-child,
.ui.dropdown .scrolling.menu .item:first-child {
  border-top: none;
}
.ui.dropdown > .animating.menu .scrolling.menu,
.ui.dropdown > .visible.menu .scrolling.menu {
  display: block;
}
/* Scrollbar in IE */
@media all and (-ms-high-contrast: none) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    min-width: calc(100% - 17px);
  }
}
@media only screen and (max-width: 767.98px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 10.28571429rem;
  }
  .ui.scrolling.resizable.dropdown .menu,
  .ui.dropdown .scrolling.resizable.menu {
    height: 10.28571429rem;
  }
}
@media only screen and (min-width: 768px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 15.42857143rem;
  }
  .ui.scrolling.resizable.dropdown .menu,
  .ui.dropdown .scrolling.resizable.menu {
    height: 15.42857143rem;
  }
}
@media only screen and (min-width: 992px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 20.57142857rem;
  }
  .ui.scrolling.resizable.dropdown .menu,
  .ui.dropdown .scrolling.resizable.menu {
    height: 20.57142857rem;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.scrolling.dropdown .menu,
  .ui.dropdown .scrolling.menu {
    max-height: 20.57142857rem;
  }
  .ui.scrolling.resizable.dropdown .menu,
  .ui.dropdown .scrolling.resizable.menu {
    height: 20.57142857rem;
  }
}
.ui.scrolling.resizable.dropdown .menu,
.ui.dropdown .scrolling.resizable.menu {
  resize: vertical;
  max-height: none;
}
/* --------------------
            Labeled
    --------------------- */
/* Regular Label on Left */
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + .dropdown {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left-color: transparent;
}
/* Regular Label on Right */
.ui[class*="right labeled"].input > .dropdown:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right-color: transparent !important;
}
.ui[class*="right labeled"].input > .dropdown + .label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
/* --------------
         Columnar
    --------------- */
.ui.column.dropdown > .menu {
  flex-wrap: wrap;
}
.ui.dropdown[class*="two column"] > .menu > .item {
  width: 50%;
}
.ui.dropdown[class*="three column"] > .menu > .item {
  width: 33%;
}
.ui.dropdown[class*="four column"] > .menu > .item {
  width: 25%;
}
.ui.dropdown[class*="five column"] > .menu > .item {
  width: 20%;
}
/* --------------
         Simple
    --------------- */
/* Displays without javascript */
.ui.simple.dropdown .menu::before,
.ui.simple.dropdown .menu::after {
  display: none;
}
.ui.simple.dropdown .menu {
  position: absolute;
  /* IE hack to make dropdown icons appear inline */
  display: -ms-inline-flexbox !important;
  display: block;
  overflow: hidden;
  top: -9999px;
  opacity: 0;
  width: 0;
  height: 0;
  transition: opacity 0.1s ease;
  margin-top: 0 !important;
}
.ui.simple.dropdown .upward.menu {
  margin-bottom: 1.5em;
}
.ui.simple.selection.dropdown .upward.menu {
  margin-bottom: 2.5em;
}
.ui.menu:not(.vertical) .ui.simple.dropdown.item .upward.menu {
  margin-bottom: 2.8em;
}
.ui.simple.active.dropdown,
.ui.simple.dropdown:hover {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.simple.active.dropdown > .menu,
.ui.simple.dropdown:hover > .menu {
  overflow: visible;
  width: auto;
  height: auto;
  top: 100%;
  opacity: 1;
}
.ui.simple.dropdown > .menu > .item:active > .menu,
.ui.simple.dropdown .menu .item:hover > .menu {
  overflow: visible;
  width: auto;
  height: auto;
  top: 0 !important;
  left: 100%;
  opacity: 1;
}
.ui.simple.selection.active.dropdown > .menu,
.ui.simple.selection.dropdown:hover > .menu,
.ui.simple.selection.dropdown > .menu > .item:active > .menu,
.ui.simple.selection.dropdown .menu .item:hover > .menu {
  overflow: auto;
  overscroll-behavior: none;
}
.ui.simple.dropdown > .menu > .item:active > .left.menu,
.ui.simple.dropdown .menu .item:hover > .left.menu,
.right.menu .ui.simple.dropdown > .menu > .item:active > .menu:not(.right),
.right.menu .ui.simple.dropdown > .menu .item:hover > .menu:not(.right) {
  left: auto;
  right: 100%;
}
.ui.simple.disabled.dropdown:hover .menu {
  display: none;
  height: 0;
  width: 0;
  overflow: hidden;
}
/* Visible */
.ui.simple.visible.dropdown > .menu {
  display: block;
}
/* Scrolling */
.ui.simple.scrolling.active.dropdown > .menu,
.ui.simple.scrolling.dropdown:hover > .menu {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
}
/* --------------
          Fluid
    --------------- */
.ui.fluid.dropdown {
  display: block;
  width: 100% !important;
  min-width: 0;
}
.ui.fluid.dropdown > .dropdown.icon {
  float: right;
}
/* --------------
        Floating
    --------------- */
.ui.floating.dropdown > .menu {
  left: 0;
  right: auto;
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15) !important;
  border-radius: 0.28571429rem !important;
}
.ui:not(.upward).floating.dropdown > .menu {
  margin-top: 0.5em;
}
.ui.upward.floating.dropdown:not(.simple) > .menu {
  margin-bottom: 0.5em;
}
/* --------------
         Pointing
    --------------- */
.ui.pointing.dropdown > .menu {
  top: 100%;
  margin-top: 0.78571429rem;
  border-radius: 0.28571429rem;
}
.ui.pointing.dropdown > .menu:not(.hidden)::after {
  display: block;
  position: absolute;
  pointer-events: none;
  content: "";
  visibility: visible;
  transform: rotate(45deg);
  width: 0.5em;
  height: 0.5em;
  box-shadow: -1px -1px 0 0 rgba(34, 36, 38, 0.15);
  background: #FFFFFF;
  z-index: 2;
}
@supports selector(:has(.f)) {
  .ui.pointing.dropdown:not(.upward) .menu:has(:first-child:hover)::after,
  .ui.upward.pointing.dropdown .menu:has(:last-child:hover)::after {
    background: #f2f2f2;
  }
  .ui.pointing.dropdown:not(.upward) .menu:has(.selected.item:first-child)::after,
  .ui.upward.pointing.dropdown .menu:has(.selected.item:last-child)::after {
    background: #f7f7f7;
  }
}
.ui.selection.pointing.dropdown > .menu::after {
  box-shadow: -1px -1px 0 0 #96c8da;
}
.ui.pointing.dropdown > .menu:not(.hidden)::after {
  top: -0.25em;
  left: 50%;
  margin: 0 0 0 -0.25em;
}
/* Top Left Pointing */
.ui.top.left.pointing.dropdown > .menu {
  top: 100%;
  bottom: auto;
  left: 0;
  right: auto;
  margin: 1em 0 0;
}
.ui.top.left.pointing.dropdown > .menu::after {
  top: -0.25em;
  left: 1em;
  right: auto;
  margin: 0;
  transform: rotate(45deg);
}
/* Top Right Pointing */
.ui.top.right.pointing.dropdown > .menu {
  top: 100%;
  bottom: auto;
  right: 0;
  left: auto;
  margin: 1em 0 0;
}
.ui.top.pointing.dropdown > .left.menu::after,
.ui.top.right.pointing.dropdown > .menu::after {
  top: -0.25em;
  left: auto !important;
  right: 1em !important;
  margin: 0;
  transform: rotate(45deg);
}
/* Left Pointing */
.ui.left.pointing.dropdown > .menu {
  top: 0;
  left: 100%;
  right: auto;
  margin: 0 0 0 1em;
}
.ui.left.pointing.dropdown > .menu::after {
  top: 1em;
  left: -0.25em;
  margin: 0;
  transform: rotate(-45deg);
}
.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu {
  left: auto !important;
  right: 100% !important;
  margin: 0 1em 0 0;
}
.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu::after {
  top: 1em;
  left: auto;
  right: -0.25em;
  margin: 0;
  transform: rotate(135deg);
}
/* Right Pointing */
.ui.right.pointing.dropdown > .menu {
  top: 0;
  left: auto;
  right: 100%;
  margin: 0 1em 0 0;
}
.ui.right.pointing.dropdown > .menu::after {
  top: 1em;
  left: auto;
  right: -0.25em;
  margin: 0;
  transform: rotate(135deg);
}
/* Bottom Pointing */
.ui.bottom.pointing.dropdown > .menu {
  top: auto;
  bottom: 100%;
  left: 0;
  right: auto;
  margin: 0 0 1em;
}
.ui.bottom.pointing.dropdown > .menu::after {
  top: auto;
  bottom: -0.25em;
  right: auto;
  margin: 0;
  transform: rotate(-135deg);
}
/* Reverse Sub-Menu Direction */
.ui.bottom.pointing.dropdown > .menu .menu {
  top: auto !important;
  bottom: 0 !important;
}
/* Bottom Left */
.ui.bottom.left.pointing.dropdown > .menu {
  left: 0;
  right: auto;
}
.ui.bottom.left.pointing.dropdown > .menu::after {
  left: 1em;
  right: auto;
}
/* Bottom Right */
.ui.bottom.right.pointing.dropdown > .menu {
  right: 0;
  left: auto;
}
.ui.bottom.right.pointing.dropdown > .menu::after {
  left: auto;
  right: 1em;
}
/* Upward pointing */
.ui.pointing.upward.dropdown .menu,
.ui.top.pointing.upward.dropdown .menu {
  top: auto !important;
  bottom: 100% !important;
  margin: 0 0 0.78571429rem;
  border-radius: 0.28571429rem;
}
.ui.pointing.upward.dropdown .menu::after,
.ui.top.pointing.upward.dropdown .menu::after {
  top: 100% !important;
  bottom: auto !important;
  box-shadow: 1px 1px 0 0 rgba(34, 36, 38, 0.15);
  margin: -0.25em 0 0;
}
.ui.selection.pointing.upward.dropdown .menu::after {
  box-shadow: 1px 1px 0 0 #96c8da;
}
/* Right Pointing Upward */
.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu {
  top: auto !important;
  bottom: 0 !important;
  margin: 0 1em 0 0;
}
.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu::after {
  top: auto !important;
  bottom: 0 !important;
  margin: 0 0 1em 0;
  box-shadow: -1px -1px 0 0 rgba(34, 36, 38, 0.15);
}
/* Left Pointing Upward */
.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu {
  top: auto !important;
  bottom: 0 !important;
  margin: 0 0 0 1em;
}
.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu::after {
  top: auto !important;
  bottom: 0 !important;
  margin: 0 0 1em 0;
  box-shadow: -1px -1px 0 0 rgba(34, 36, 38, 0.15);
}
.ui.floating.dropdown .menu .item:first-child,
.ui.pointing.dropdown .menu .item:first-child {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem;
}
.ui.floating.dropdown .menu .item:last-child,
.ui.pointing.dropdown .menu .item:last-child {
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
/* --------------------
        Sizes
--------------------- */
.ui.dropdown,
.ui.dropdown .menu > .item {
  font-size: 1rem;
}
.ui.ui.mini.dropdown,
.ui.ui.mini.dropdown .menu > .item {
  font-size: 0.78571429rem;
}
.ui.ui.tiny.dropdown,
.ui.ui.tiny.dropdown .menu > .item {
  font-size: 0.85714286rem;
}
.ui.ui.small.dropdown,
.ui.ui.small.dropdown .menu > .item {
  font-size: 0.92857143rem;
}
.ui.ui.large.dropdown,
.ui.ui.large.dropdown .menu > .item {
  font-size: 1.14285714rem;
}
.ui.ui.big.dropdown,
.ui.ui.big.dropdown .menu > .item {
  font-size: 1.28571429rem;
}
.ui.ui.huge.dropdown,
.ui.ui.huge.dropdown .menu > .item {
  font-size: 1.42857143rem;
}
.ui.ui.massive.dropdown,
.ui.ui.massive.dropdown .menu > .item {
  font-size: 1.71428571rem;
}
/* --------------
        Inverted
    --------------- */
/* General rules and basic dropdowns */
.ui.dropdown .inverted.menu,
.ui.inverted.dropdown .menu {
  background: #1b1c1d;
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.ui.dropdown .inverted.menu > .item,
.ui.inverted.dropdown .menu > .item {
  color: rgba(255, 255, 255, 0.8);
}
.ui.dropdown .inverted.menu .active.item,
.ui.inverted.dropdown .menu .active.item {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  box-shadow: none;
}
.ui.dropdown .inverted.menu > .item:hover,
.ui.inverted.dropdown .menu > .item:hover {
  background: #2d2e2f;
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.dropdown.selected,
.ui.dropdown .inverted.menu .selected.item,
.ui.inverted.dropdown .menu .selected.item {
  background: #3d3e3f;
  color: rgba(255, 255, 255, 0.8);
}
.ui.dropdown .inverted.menu > .header,
.ui.inverted.dropdown .menu > .header {
  color: #FFFFFF;
}
.ui.inverted.dropdown > .text > .description,
.ui.dropdown .inverted.menu > .item > .description,
.ui.inverted.dropdown .menu > .item > .description {
  color: rgba(255, 255, 255, 0.5);
}
.ui.dropdown .inverted.menu > .divider,
.ui.inverted.dropdown .menu > .divider {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.ui.dropdown .inverted.scrolling.menu,
.ui.inverted.dropdown .scrolling.menu {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
/* Selection */
.ui.inverted.selection.dropdown {
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: #1b1c1d;
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.selection.dropdown:hover {
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: none;
}
.ui.inverted.selection.dropdown input {
  color: #FFFFFF;
}
.ui.inverted.selection.visible.dropdown > .text:not(.default) {
  color: rgba(255, 255, 255, 0.9);
}
.ui.selection.simple.dropdown:hover .inverted.menu,
.ui.inverted.selection.simple.dropdown:hover .menu,
.ui.selection.active.dropdown .inverted.menu,
.ui.inverted.selection.active.dropdown .menu,
.ui.inverted.selection.active.dropdown:hover {
  border-color: rgba(255, 255, 255, 0.15);
}
.ui.selection.dropdown .inverted.menu > .item,
.ui.inverted.selection.dropdown .menu > .item {
  border-top: 1px solid #242526;
}
.ui.inverted.dropdown:not(.button) > .default.text,
.ui.inverted.default.dropdown:not(.button) > .text {
  color: rgba(255, 255, 255, 0.5);
}
.ui.inverted.dropdown:not(.button) > input:focus ~ .default.text,
.ui.inverted.default.dropdown:not(.button) > input:focus ~ .text {
  color: rgba(255, 255, 255, 0.7);
}
.ui.inverted.active.search.dropdown input.search:focus + .text i.icon,
.ui.inverted.active.search.dropdown input.search:focus + .text .flag {
  opacity: 0.45;
}
.ui.inverted.active.search.dropdown input.search:focus + .text {
  color: rgba(255, 255, 255, 0.7);
}
.ui.dropdown .inverted.menu > .message:not(.ui),
.ui.inverted.dropdown .menu > .message:not(.ui) {
  color: rgba(255, 255, 255, 0.5);
}
/* Fixing the border */
.ui.dropdown .inverted.menu > .item:first-child,
.ui.inverted.dropdown .menu > .item:first-child {
  border-top-width: 0;
}
/* Labels */
.ui.inverted.multiple.dropdown > .label {
  background-color: rgba(255, 255, 255, 0.7);
  background-image: none;
  color: #000000;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0) inset;
}
.ui.inverted.multiple.dropdown > .label:hover {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.9);
  background-image: none;
  color: #000000;
}
.ui.inverted.multiple.dropdown > .label > .close.icon,
.ui.inverted.multiple.dropdown > .label > .delete.icon {
  opacity: 0.6;
}
.ui.inverted.multiple.dropdown > .label > .close.icon:hover,
.ui.inverted.multiple.dropdown > .label > .delete.icon:hover {
  opacity: 0.8;
}
/* Selection for form elements */
.ui.inverted.dropdown textarea::-moz-selection, .ui.inverted.dropdown input::-moz-selection {
  background-color: rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.8);
}
.ui.inverted.dropdown textarea::selection,
.ui.inverted.dropdown input::selection {
  background-color: rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.8);
}
/* Scrollbars */
.ui.dropdown .inverted.menu::-webkit-scrollbar-track,
.ui.inverted.dropdown .menu::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}
.ui.dropdown .inverted.menu::-webkit-scrollbar-thumb,
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
}
.ui.dropdown .inverted.menu::-webkit-scrollbar-thumb:window-inactive,
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(255, 255, 255, 0.15);
}
.ui.dropdown .inverted.menu::-webkit-scrollbar-thumb:hover,
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}
.ui.dropdown .inverted.menu,
.ui.inverted.dropdown .menu {
  /* IE11 */
  scrollbar-face-color: #656565;
  scrollbar-shadow-color: #656565;
  scrollbar-track-color: #323232;
  scrollbar-arrow-color: #323232;
}
@supports (-moz-appearance: none) {
  .ui.dropdown .inverted.menu,
  .ui.inverted.dropdown .menu {
    /* firefox: first color thumb, second track */
    scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
  }
}
.ui.pointing.dropdown > .inverted.menu::after,
.ui.inverted.pointing.dropdown > .menu::after {
  background: #1b1c1d;
  box-shadow: -1px -1px 0 0 rgba(255, 255, 255, 0.15);
}
.ui.inverted.upward.pointing.dropdown > .menu::after {
  box-shadow: 1px 1px 0 0 rgba(255, 255, 255, 0.15);
}
@supports selector(:has(.f)) {
  .ui.inverted.pointing.dropdown:not(.upward) .menu:has(:first-child:hover)::after,
  .ui.inverted.upward.pointing.dropdown .menu:has(:last-child:hover)::after {
    background: #2d2e2f;
  }
  .ui.inverted.pointing.dropdown:not(.upward) .menu:has(.selected.item:first-child)::after,
  .ui.inverted.upward.pointing.dropdown .menu:has(.selected.item:last-child)::after {
    background: #3d3e3f;
  }
}
/*******************************
         Theme Overrides
*******************************/
/* Dropdown Carets */
@font-face {
  font-family: Dropdown;
  src: url(data:application/font-woff;base64,d09GRk9UVE8AAASEAAsAAAAABwQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAC5AAAAU8AAAHrSr22AUZGVE0AAARQAAAAHAAAAByNrZ/TR0RFRgAABDQAAAAcAAAAIAAnABhPUy8yAAABYAAAAEIAAABgTadXCGNtYXAAAAKEAAAAVAAAAWQFcOKQaGVhZAAAAQgAAAAyAAAANg+j805oaGVhAAABPAAAABsAAAAkAwcBDWhtdHgAAARsAAAAFgAAAB4EAQASbWF4cAAAAVgAAAAGAAAABgAIUABuYW1lAAABpAAAAN8AAAG2rSbAM3Bvc3QAAALYAAAADAAAACAAAwAAeJxjYGRgYADiKjtG3nh+m68M3EwMIHCBwT0CRN9PyHYCUp6Mqox5QJqDASwNAMNOBrgAAHicY2BkYGB88P8BkFRlYACTjAyogB0AWWsDFgAAAFAAAAgAAHicY2Bm+Mg4gYGVgYHRhzGNgYHBHUp/ZZBkaGFABYwCSJyANNcUBgcGhg+3GB/8fwCUfMCgAFIDV6AAhIwAUbEMSQAAeJx1zTEKwkAUBNBJjIoKIggW2mwvBEVvIAgiNhY2VjEuQUh2YY2FeACPYOltvIH3cZJ8ywQS3p/d+QEwwAce/o8v9tDGUOzTU3GDXokD+ihuooeHuMX8Je5ijC9bXtCRP1T20Kcq+/RE3KAX4oDeipsYIRa3mD/FXSzxLtZeeGyR8bUwHGObWUvsoZHghhQRHEed3NLI1d+vyw/c43DleZErzBFixli768UaNQ9n9d11OedsJdxiyk0RZ40zsxPu/G7K7k66IUvW5CrRRrso12d1uqtNbHfcF+IHrnU+mwB4nGNgYGBmgGAZBkYGEIgD8hjBfBYGJyDNxcDBwASEjAwKH279//v/P1iVwofrYDbj/8dgPkQvGwMPkGRhYAWy2MHCbEDMxIAXMOOXHvIAAINhDt14nGNgZsALAAB9AAR4nE2Pv0rEQBCHZ3J7d4vGqEcOFaKC/zolZ6OWwmElNj6ClYWmyivcblyzE+RaK8EHsPMxBBtrwUdwA1fobpI7ZWBYfux8fD8ExgAR+fVVcpMkt4AeIAzLLSi3sdzxyt1WucqU31I+25iDtcvej1Kzh99V7+a19NoRPC1GAEsRvCxHwCP87MG8I7WgDRwWoAcrEMGmnT3YT+N0kB7G6Vk8PHLr2K0Tt04HB3FjMhUCQIESM7xDhfeYA3dcz5IZdOAcHuAD14MgeAu+zTNTRV5oTUR5obgZdwpVZFqQzEfKTiaE4JNwEralHGUuErnQNjE2oYxUwS0ldBTSxI3L7cOyKo60ib0lezSl1Rw+GXdq1pQiH03SdzKka4ymosLQTMcedSuIlEJUMqNcUi0jdIP5Ysb++leqLtSI/NWSTS0xq0WyYajQXPSVP/cLitO4NgB4nGNgZGBg4AFiAQYJBiYgzQLEIJoRggEFbQBAAAAAAQAAAADeTO04AAAAANAAR1gAAAAA32BrQnicY2BAAEYQVoVghu0MQgwMAAc/ARcAAA==) format("woff");
  font-weight: normal;
  font-style: normal;
}
.ui.dropdown > .dropdown.icon {
  font-family: Dropdown;
  line-height: 1;
  height: 1em;
  width: 1.23em;
  backface-visibility: hidden;
  font-weight: normal;
  font-style: normal;
  text-align: center;
  width: auto;
}
.ui.dropdown > .dropdown.icon::before {
  content: "\f0d7";
}
/* Sub Menu */
.ui.dropdown .menu .item .dropdown.icon::before {
  content: "\f0da" /* rtl: "\f0d9" */;
}
.ui.dropdown .item .left.dropdown.icon::before,
.ui.dropdown .left.menu .item .dropdown.icon::before {
  content: "\f0d9" /*rtl: "\f0da" */;
}
/* Vertical Menu Dropdown */
.ui.vertical.menu .dropdown.item > .dropdown.icon::before {
  content: "\f0da" /* rtl: "\f0d9" */;
}
/* Icons for Reference
.dropdown.down.icon {
  content: "\f0d7";
}
.dropdown.up.icon {
  content: "\f0d8";
}
.dropdown.left.icon {
  content: "\f0d9";
}
.dropdown.icon.icon {
  content: "\f0da";
}
*/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Embed
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Video
*******************************/
/* -------------------
       Element
-------------------- */
/* Simple */
/* Placeholder */
/* Placeholder Overlayed Background */
/* Icon */
/* -------------------
       States
-------------------- */
/* Hover */
/* -------------------
      Variations
-------------------- */
/* Aspect Ratios */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Types
*******************************/
.ui.embed {
  position: relative;
  max-width: 100%;
  height: 0;
  overflow: hidden;
  background: #dcddde;
  padding-bottom: 56.25%;
}
/* -----------------
  Embedded Content
------------------ */
.ui.embed iframe,
.ui.embed embed,
.ui.embed object {
  position: absolute;
  border: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
/* -----------------
      Embed
------------------ */
.ui.embed > .embed {
  display: none;
}
/* --------------
   Placeholder
--------------- */
.ui.embed > .placeholder {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
}
/* --------------
      Icon
--------------- */
.ui.embed > i.icon {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.ui.embed > i.icon::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  content: "";
  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  opacity: 0.5;
  transition: opacity 0.5s ease;
}
.ui.embed > i.icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #FFFFFF;
  font-size: 6rem;
  text-shadow: 0 2px 10px rgba(34, 36, 38, 0.2);
  transition: opacity 0.5s ease, color 0.5s ease;
  z-index: 10;
}
/*******************************
            States
*******************************/
/* --------------
     Hover
--------------- */
.ui.embed i.icon:hover::after {
  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
  opacity: 1;
}
.ui.embed i.icon:hover::before {
  color: #FFFFFF;
}
/* --------------
     Active
--------------- */
.ui.active.embed > i.icon,
.ui.active.embed > .placeholder {
  display: none;
}
.ui.active.embed > .embed {
  display: block;
}
/*******************************
          Variations
*******************************/
.ui.square.embed {
  padding-bottom: 100%;
}
.ui[class*="4:3"].embed {
  padding-bottom: 75%;
}
.ui[class*="16:9"].embed {
  padding-bottom: 56.25%;
}
.ui[class*="21:9"].embed {
  padding-bottom: 42.85714286%;
}
/*******************************
        Video Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Flyout
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Flyout
*******************************/
/* -------------------
       Content
-------------------- */
/* Animation */
/* Dimmer */
/* Color below page */
/* Shadow */
/* Layering */
/* Actions */
/* Scrolling Content */
/* Close Icon */
/* Header */
/* Content */
/* -------------------
      Variations
-------------------- */
/* Width */
/* Height */
/* -------------------
      Inverted
-------------------- */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Flyout
*******************************/
/* Flyout Menu */
.ui.flyout {
  position: fixed;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  transition: none;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  visibility: hidden;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  border-radius: 0;
  margin: 0;
  overflow-y: hidden;
  z-index: 102;
  background: #fff;
  outline: none;
}
/* GPU Layers for Child Elements */
.ui.flyout > * {
  backface-visibility: hidden;
}
/* --------------
       Close
    --------------- */
.ui.flyout > .close {
  cursor: pointer;
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  z-index: 1;
  opacity: 0.8;
  font-size: 1.25em;
  color: rgba(0, 0, 0, 0.85);
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  margin: 0 0 0 0.25rem;
  text-align: right;
}
.ui.flyout > .close:focus,
.ui.flyout > .close:hover {
  opacity: 1;
  outline: none;
}
/* --------------
   Header
--------------- */
.ui.flyout > .header {
  display: block;
  background: #FFFFFF;
  margin: 0;
  padding: 1.25rem 1.5rem;
  box-shadow: none;
  color: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
/* --------------
   Content
--------------- */
.ui.flyout > .content {
  display: block;
  width: 100%;
  font-size: 1em;
  line-height: 1.4;
  padding: 1.5rem;
  background: #FFFFFF;
}
.ui.flyout > .content.scrolling {
  overflow: auto;
  overscroll-behavior: none;
}
.ui.flyout.left > .content,
.ui.flyout.right > .content {
  min-height: calc(100vh - 4.7rem);
}
.ui.flyout.left > .header + .content,
.ui.flyout.right > .header + .content {
  min-height: calc(100vh - 9.1rem);
}
.ui.flyout.left > .scrolling.content,
.ui.flyout.right > .scrolling.content {
  max-height: calc(100vh - 4.7rem);
}
.ui.flyout.left > .header + .scrolling.content,
.ui.flyout.right > .header + .scrolling.content {
  max-height: calc(100vh - 9.1rem);
}
.ui.flyout.top > .scrolling.content,
.ui.flyout.bottom > .scrolling.content {
  max-height: calc(80vh - 9.1rem);
}
/* --------------
       Actions
    --------------- */
.ui.flyout > .actions {
  background: #f9fafb;
  padding: 1rem;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  text-align: right;
}
.ui.flyout .actions > .button:not(.fluid) {
  margin-left: 0.75em;
}
.ui.ui.flyout > .basic.actions {
  border-top: none;
}
.ui.flyout > .left.actions {
  text-align: left;
}
.ui.flyout > .left.actions > .button:not(.fluid) {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ui.flyout > .centered,
.ui.flyout > .center.aligned {
  text-align: center;
}
.ui.flyout > .centered.actions > .button:not(.fluid),
.ui.flyout > .center.aligned.actions > .button:not(.fluid) {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ui.ui.flyout > .basic.header,
.ui.ui.flyout > .basic.actions {
  background-color: transparent;
}
.ui.flyout > .basic.header {
  border-bottom: none;
}
/* --------------
   Direction
--------------- */
.ui.left.flyout {
  right: auto;
  left: 0;
  transform: translate3d(-100%, 0, 0);
}
.ui.right.flyout {
  right: 0;
  left: auto;
  transform: translate3d(100%, 0, 0);
}
.ui.top.flyout,
.ui.bottom.flyout {
  width: 100%;
  height: auto;
}
.ui.top.flyout {
  top: 0;
  bottom: auto;
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.flyout {
  top: auto;
  bottom: 0;
  transform: translate3d(0, 100%, 0);
}
/* --------------
     Pushable
--------------- */
.pushable.pushable.pushable {
  height: 100%;
  overflow-x: hidden;
  padding: 0;
}
.pushable.pushable.pushable.locked {
  overflow-y: hidden;
  background: inherit;
}
/* Whole Page */
body.pushable {
  background: #545454;
}
body.pushable.dimmed {
  background: inherit;
}
/* Page Context */
.pushable:not(body) {
  transform: translate3d(0, 0, 0);
  overflow-y: hidden;
}
.pushable:not(body) > .ui.flyout,
.pushable:not(body) > .fixed,
.pushable:not(body) > .pusher::after {
  position: absolute;
}
/* --------------
     Fixed
--------------- */
.pushable > .fixed {
  position: fixed;
  backface-visibility: hidden;
  transition: transform 500ms ease;
  will-change: transform;
  z-index: 101;
}
/* --------------
     Page
--------------- */
.pushable > .pusher {
  position: relative;
  backface-visibility: hidden;
  min-height: 100%;
  transition: transform 500ms ease;
  z-index: 2;
  /* Pusher should inherit background from context */
  background: inherit;
}
.pushable > .pusher:not(.overflowing) {
  overflow: hidden;
}
body.pushable > .pusher {
  background: #fff;
}
/* --------------
     Dimmer
--------------- */
.pushable > .pusher::after {
  position: fixed;
  top: 0;
  right: 0;
  content: "";
  background: rgba(0, 0, 0, 0.4);
  overflow: hidden;
  opacity: 0;
  transition: all 500ms;
  will-change: opacity;
  z-index: 1000;
}
/* --------------
    Coupling
--------------- */
.ui.flyout.menu .item {
  border-radius: 0 !important;
}
/*******************************
            States
*******************************/
/* --------------
     Dimmed
--------------- */
.pushable > .pusher.dimmed::after {
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
}
.pushable > .pusher.dimmed.blurring:not(.closing)::after {
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(5px) grayscale(0.7);
  backdrop-filter: blur(5px) grayscale(0.7);
}
.pushable > .pusher.closing.dimmed::after {
  opacity: 0 !important;
}
/* --------------
    Animating
--------------- */
.ui.animating.flyout {
  visibility: visible;
}
/* --------------
     Visible
--------------- */
.ui.visible.flyout {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
/* Shadow Direction */
.ui.left.visible.flyout,
.ui.right.visible.flyout {
  box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
}
.ui.top.visible.flyout,
.ui.bottom.visible.flyout {
  box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
}
/* Visible On Load */
.ui.visible.left.flyout ~ .fixed,
.ui.visible.left.flyout ~ .pusher {
  transform: translate3d(400px, 0, 0);
}
.ui.visible.right.flyout ~ .fixed,
.ui.visible.right.flyout ~ .pusher {
  transform: translate3d(-400px, 0, 0);
}
.ui.visible.top.flyout ~ .fixed,
.ui.visible.top.flyout ~ .pusher {
  transform: translate3d(0, 36px, 0);
}
.ui.visible.bottom.flyout ~ .fixed,
.ui.visible.bottom.flyout ~ .pusher {
  transform: translate3d(0, -36px, 0);
}
/* opposite sides visible forces content overlay */
.ui.visible.left.flyout ~ .ui.visible.right.flyout ~ .fixed,
.ui.visible.left.flyout ~ .ui.visible.right.flyout ~ .pusher,
.ui.visible.right.flyout ~ .ui.visible.left.flyout ~ .fixed,
.ui.visible.right.flyout ~ .ui.visible.left.flyout ~ .pusher {
  transform: translate3d(0, 0, 0);
}
/* --------------
         Inverted
    --------------- */
.ui.flyout.inverted {
  background: #000;
}
.ui.flyout.inverted > .close {
  color: #FFFFFF;
}
.ui.flyout.inverted > .header,
.ui.flyout.inverted > .content {
  background: #000;
  color: #FFFFFF;
}
.ui.flyout.inverted > .actions {
  background: #191a1b;
  border-top: 1px solid rgba(34, 36, 38, 0.85);
  color: #FFFFFF;
}
/*******************************
          Variations
*******************************/
/* --------------
     Width
--------------- */
/* Left / Right */
.ui.left.flyout,
.ui.right.flyout {
  width: 400px;
}
.ui.thin.left.flyout,
.ui.thin.right.flyout {
  width: 200px;
}
.ui[class*="very thin"].left.flyout,
.ui[class*="very thin"].right.flyout {
  width: 120px;
}
.ui.wide.left.flyout,
.ui.wide.right.flyout {
  width: 600px;
}
.ui[class*="very wide"].left.flyout,
.ui[class*="very wide"].right.flyout {
  width: 800px;
}
/* Left Visible */
.ui.visible.thin.left.flyout ~ .fixed,
.ui.visible.thin.left.flyout ~ .pusher {
  transform: translate3d(200px, 0, 0);
}
.ui.visible[class*="very thin"].left.flyout ~ .fixed,
.ui.visible[class*="very thin"].left.flyout ~ .pusher {
  transform: translate3d(120px, 0, 0);
}
.ui.visible.wide.left.flyout ~ .fixed,
.ui.visible.wide.left.flyout ~ .pusher {
  transform: translate3d(600px, 0, 0);
}
.ui.visible[class*="very wide"].left.flyout ~ .fixed,
.ui.visible[class*="very wide"].left.flyout ~ .pusher {
  transform: translate3d(800px, 0, 0);
}
/* Right Visible */
.ui.visible.thin.right.flyout ~ .fixed,
.ui.visible.thin.right.flyout ~ .pusher {
  transform: translate3d(-200px, 0, 0);
}
.ui.visible[class*="very thin"].right.flyout ~ .fixed,
.ui.visible[class*="very thin"].right.flyout ~ .pusher {
  transform: translate3d(-120px, 0, 0);
}
.ui.visible.wide.right.flyout ~ .fixed,
.ui.visible.wide.right.flyout ~ .pusher {
  transform: translate3d(-600px, 0, 0);
}
.ui.visible[class*="very wide"].right.flyout ~ .fixed,
.ui.visible[class*="very wide"].right.flyout ~ .pusher {
  transform: translate3d(-800px, 0, 0);
}
/* Fullscreen */
.ui.fullscreen.flyout {
  width: 100%;
}
/* -------------------
      Column Width
    -------------------- */
/* Sizing Combinations */
.ui[class*="one wide"].flyout:not(.fullscreen) {
  width: 6.25%;
}
.ui[class*="two wide"].flyout:not(.fullscreen) {
  width: 12.5%;
}
.ui[class*="three wide"].flyout:not(.fullscreen) {
  width: 18.75%;
}
.ui[class*="four wide"].flyout:not(.fullscreen) {
  width: 25%;
}
.ui[class*="five wide"].flyout:not(.fullscreen) {
  width: 31.25%;
}
.ui[class*="six wide"].flyout:not(.fullscreen) {
  width: 37.5%;
}
.ui[class*="seven wide"].flyout:not(.fullscreen) {
  width: 43.75%;
}
.ui[class*="eight wide"].flyout:not(.fullscreen) {
  width: 50%;
}
.ui[class*="nine wide"].flyout:not(.fullscreen) {
  width: 56.25%;
}
.ui[class*="ten wide"].flyout:not(.fullscreen) {
  width: 62.5%;
}
.ui[class*="eleven wide"].flyout:not(.fullscreen) {
  width: 68.75%;
}
.ui[class*="twelve wide"].flyout:not(.fullscreen) {
  width: 75%;
}
.ui[class*="thirteen wide"].flyout:not(.fullscreen) {
  width: 81.25%;
}
.ui[class*="fourteen wide"].flyout:not(.fullscreen) {
  width: 87.5%;
}
.ui[class*="fifteen wide"].flyout:not(.fullscreen) {
  width: 93.75%;
}
.ui[class*="sixteen wide"].flyout:not(.fullscreen) {
  width: 100%;
}
/*******************************
          Animations
*******************************/
/* --------------
        Overlay
    --------------- */
/* Set-up */
.ui.overlay.flyout {
  z-index: 102;
}
/* Initial */
.ui.left.overlay.flyout {
  transform: translate3d(-100%, 0, 0);
}
.ui.right.overlay.flyout {
  transform: translate3d(100%, 0, 0);
}
.ui.top.overlay.flyout {
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.overlay.flyout {
  transform: translate3d(0, 100%, 0);
}
/* Animation */
.animating.ui.overlay.flyout,
.ui.visible.overlay.flyout {
  transition: transform 500ms ease;
}
/* End - flyout */
.ui.visible.overlay.flyout {
  transform: translate3d(0, 0, 0);
}
/* End - Pusher */
.ui.visible.overlay.flyout ~ .fixed,
.ui.visible.overlay.flyout ~ .pusher {
  transform: none !important;
}
/*******************************
         Theme Overrides
*******************************/
/*!
 * # Fomantic-UI - Modal
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Modal
*******************************/
/* Close Icon */
/* Header */
/* Content */
/* Image / Description */
/* Modal Actions */
/* Inner Close Position (Tablet/Mobile) */
/* Mobile Positions */
/* Responsive Widths */
/* Coupling */
/* -------------------
       States
-------------------- */
/* -------------------
        Types
-------------------- */
/* Basic */
/* Aligned */
/* Scrolling Margin */
/* Scrolling Content */
/* -------------------
      Variations
-------------------- */
/* Size Widths */
/* Derived Responsive Sizes */
/* -------------------
      Inverted
-------------------- */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Modal
*******************************/
.ui.modal {
  position: absolute;
  display: none;
  z-index: 1001;
  text-align: left;
  background: #FFFFFF;
  border: none;
  box-shadow: 1px 3px 3px 0 rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);
  transform-origin: 50% 25%;
  flex: 0 0 auto;
  border-radius: 0.28571429rem;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  will-change: top, left, margin, transform, opacity;
  outline: none;
}
.ui.modal > :first-child:not(.close):not(.dimmer),
.ui.modal > i.icon:first-child + *,
.ui.modal > .dimmer:first-child + *:not(.close),
.ui.modal > .dimmer:first-child + i.icon + * {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem;
}
.ui.modal > :last-child {
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.modal > .ui.dimmer {
  border-radius: inherit;
}
/*******************************
            Content
*******************************/
/* --------------
         Close
    --------------- */
.ui.modal > .close {
  cursor: pointer;
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  z-index: 1;
  opacity: 0.8;
  font-size: 1.25em;
  color: #FFFFFF;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0.625rem 0 0 0;
}
.ui.modal > .close:focus,
.ui.modal > .close:hover {
  opacity: 1;
  outline: none;
}
/* --------------
     Header
--------------- */
.ui.modal > .header {
  display: block;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  background: #FFFFFF;
  margin: 0;
  padding: 1.25rem 1.5rem;
  box-shadow: none;
  color: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
}
.ui.modal > .header:not(.ui) {
  font-size: 1.42857143rem;
  line-height: 1.28571429em;
  font-weight: bold;
}
/* --------------
     Content
--------------- */
.ui.modal > .content {
  display: block;
  width: 100%;
  font-size: 1em;
  line-height: 1.4;
  padding: 1.5rem;
  background: #FFFFFF;
}
.ui.modal > .image.content {
  display: flex;
  flex-direction: row;
}
/* Image */
.ui.modal > .content > .image {
  display: block;
  flex: 0 1 auto;
  width: "";
  align-self: start;
  max-width: 100%;
}
.ui.modal > [class*="top aligned"] {
  align-self: start;
}
.ui.modal > [class*="middle aligned"] {
  align-self: center;
}
.ui.modal > [class*="stretched"] {
  align-self: stretch;
}
/* Description */
.ui.modal > .content > .description {
  display: block;
  flex: 1 0 auto;
  min-width: 0;
  align-self: start;
}
.ui.modal > .content > i.icon + .description,
.ui.modal > .content > .image + .description {
  flex: 0 1 auto;
  min-width: "";
  width: auto;
  padding-left: 2em;
}
/* rtl:ignore */
.ui.modal > .content > .image > i.icon {
  margin: 0;
  opacity: 1;
  width: auto;
  line-height: 1;
  font-size: 8rem;
}
/* --------------
         Actions
    --------------- */
.ui.modal > .actions {
  background: #f9fafb;
  padding: 1rem;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
  text-align: right;
}
.ui.modal .actions > .button:not(.fluid) {
  margin-left: 0.75em;
}
.ui.ui.modal > .basic.actions,
.ui.basic.modal > .actions {
  border-top: none;
}
.ui.modal > .left.actions {
  text-align: left;
}
.ui.modal > .left.actions > .button:not(.fluid) {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ui.modal > .centered,
.ui.modal > .center.aligned {
  text-align: center;
}
.ui.modal > .centered.actions > .button:not(.fluid),
.ui.modal > .center.aligned.actions > .button:not(.fluid) {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
/* -------------------
       Responsive
-------------------- */
/* Modal Width */
@media only screen and (max-width: 767.98px) {
  .ui.modal:not(.fullscreen) {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.modal:not(.fullscreen) {
    width: 88%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.modal:not(.fullscreen) {
    width: 850px;
    margin: 0;
  }
  .ui.modal:not(.fullscreen) > .active.dimmer + .close:not(.inside) {
    pointer-events: none;
    opacity: 0.1;
  }
  .ui.dimmer > .ui.modal:not(.fullscreen) > .close:not(.inside) {
    text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.3), 1px -1px 2px rgba(0, 0, 0, 0.3), -1px 2px 2px rgba(0, 0, 0, 0.3), 1px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .ui.inverted.dimmer > .ui.modal:not(.fullscreen) > .close:not(.inside) {
    text-shadow: -1px -1px 2px rgba(255, 255, 255, 0.3), 1px -1px 2px rgba(255, 255, 255, 0.3), -1px 2px 2px rgba(255, 255, 255, 0.3), 1px 2px 2px rgba(255, 255, 255, 0.3);
  }
}
@media only screen and (min-width: 1200px) {
  .ui.modal:not(.fullscreen) {
    width: 900px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.modal:not(.fullscreen) {
    width: 950px;
    margin: 0;
  }
}
/* Tablet and Mobile */
@media only screen and (max-width: 991.98px) {
  .ui.modal > .close + .header {
    padding-right: 2.25rem;
  }
  .ui.modal > .close {
    top: 1.0535rem;
    right: 1rem;
    color: rgba(0, 0, 0, 0.87);
  }
}
/* Mobile */
@media only screen and (max-width: 767.98px) {
  .ui.modal > .header {
    padding: 0.75rem 1rem;
  }
  .ui.modal > .close + .header {
    padding-right: 2.25rem;
  }
  .ui.overlay.fullscreen.modal > .content.content.content {
    min-height: calc(100vh - 8.1rem);
  }
  .ui.overlay.fullscreen.modal > .scrolling.content.content.content {
    max-height: calc(100vh - 8.1rem);
  }
  .ui.modal > .content {
    display: block;
    padding: 1rem !important;
  }
  .ui.modal > .close {
    top: 0.5rem !important;
    right: 0.5rem !important;
  }
  /* rtl:ignore */
  .ui.modal .image.content {
    flex-direction: column;
  }
  .ui.modal > .content > .image {
    display: block;
    max-width: 100%;
    margin: 0 auto !important;
    text-align: center;
    padding: 0 0 1rem !important;
  }
  .ui.modal > .content > .image > i.icon {
    font-size: 5rem;
    text-align: center;
  }
  /* rtl:ignore */
  .ui.modal > .content > .description {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    padding: 1rem 0 !important;
    box-shadow: none;
  }
  /* Let Buttons Stack */
  .ui.modal > .actions {
    padding: 1rem 1rem 0rem !important;
  }
  .ui.modal .actions > .buttons,
  .ui.modal .actions > .button {
    margin-bottom: 1rem;
  }
}
/* --------------
    Coupling
--------------- */
.ui.inverted.dimmer > .ui.modal {
  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);
}
/*******************************
             Types
*******************************/
.ui.basic.modal {
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  color: #FFFFFF;
}
.ui.ui.modal > .basic.header,
.ui.ui.modal > .basic.actions,
.ui.basic.modal > .header,
.ui.basic.modal > .content,
.ui.basic.modal > .actions {
  background-color: transparent;
}
.ui.modal > .basic.header {
  border-bottom: none;
}
.ui.basic.modal > .header {
  color: #FFFFFF;
  border-bottom: none;
}
.ui.basic.modal > .close {
  top: 1rem;
  right: 1.5rem;
  color: #FFFFFF;
}
.ui.inverted.dimmer > .basic.modal {
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.dimmer > .ui.basic.modal > .header {
  color: rgba(0, 0, 0, 0.85);
}
/* Resort to margin positioning if legacy */
.ui.legacy.legacy.modal,
.ui.legacy.legacy.page.dimmer > .ui.modal {
  left: 50% !important;
}
.ui.legacy.legacy.modal:not(.aligned),
.ui.legacy.legacy.page.dimmer > .ui.modal:not(.aligned) {
  top: 50%;
}
.ui.legacy.legacy.page.dimmer > .ui.scrolling.modal:not(.aligned),
.ui.page.dimmer > .ui.scrolling.legacy.legacy.modal:not(.aligned),
.ui.top.aligned.legacy.legacy.page.dimmer > .ui.modal:not(.aligned),
.ui.top.aligned.dimmer > .ui.legacy.legacy.modal:not(.aligned) {
  top: auto;
}
.ui.legacy.overlay.fullscreen.modal {
  margin-top: -2rem !important;
}
/*******************************
             States
*******************************/
.ui.loading.modal {
  display: block;
  visibility: hidden;
  z-index: -1;
}
.ui.active.modal {
  display: block;
}
/*******************************
           Variations
*******************************/
/* --------------
       Aligned
    --------------- */
.modals.dimmer .ui.top.aligned.modal {
  top: 5vh;
}
.modals.dimmer .ui.bottom.aligned.modal {
  bottom: 5vh;
}
@media only screen and (max-width: 767.98px) {
  .modals.dimmer .ui.top.aligned.modal {
    top: 1rem;
  }
  .modals.dimmer .ui.bottom.aligned.modal {
    bottom: 1rem;
  }
}
/* --------------
        Scrolling
    --------------- */
/* Scrolling Dimmer */
.scrolling.dimmable.dimmed {
  overflow: hidden;
}
.scrolling.dimmable > .dimmer {
  justify-content: center;
  position: fixed;
}
.scrolling.dimmable:not(body) > .dimmer {
  position: absolute;
}
.scrolling.dimmable.dimmed > .dimmer {
  overflow: auto;
  overscroll-behavior: none;
}
.modals.dimmer .ui.scrolling.modal.fullscreen {
  top: 0;
}
.modals.dimmer .ui.scrolling.modal:not(.fullscreen) {
  margin: 2rem auto;
  top: 1em;
}
/* Fix for Firefox, Edge, IE11 */
.modals.dimmer .ui.scrolling.modal:not([class*="overlay fullscreen"])::after {
  content: "\00A0";
  position: absolute;
  height: 2rem;
}
/* Undetached Scrolling */
.scrolling.undetached.dimmable.dimmed {
  overflow: auto;
  overscroll-behavior: none;
}
.scrolling.undetached.dimmable.dimmed > .dimmer {
  overflow: hidden;
}
.scrolling.undetached.dimmable .ui.scrolling.modal:not(.fullscreen) {
  position: absolute;
  left: 50%;
}
/* Scrolling Content */
.ui.modal > .scrolling.content {
  max-height: calc(80vh - 10rem);
  overflow: auto;
  overscroll-behavior: none;
}
.ui.modal > .resizable.scrolling.content {
  resize: vertical;
  max-height: none;
}
.ui.overlay.fullscreen.modal > .content {
  min-height: calc(100vh - 9.1rem);
}
.ui.overlay.fullscreen.modal > .scrolling.content {
  max-height: calc(100vh - 9.1rem);
}
/* --------------
       Full Screen
    --------------- */
.ui.fullscreen.modal {
  width: 95%;
  left: 2.5%;
  margin: 1em auto;
}
.ui.overlay.fullscreen.modal {
  width: 100%;
  left: 0;
  margin: 0 auto;
  top: 0;
  border-radius: 0;
}
.ui.modal > .close.inside + .header:not(.centered):not(.center):not(.icon),
.ui.fullscreen.modal > .close + .header:not(.centered):not(.center):not(.icon) {
  padding-right: 2.25rem;
}
.ui.modal > .close.inside,
.ui.fullscreen.modal > .close {
  top: 1.0535rem;
  right: 1rem;
  color: rgba(0, 0, 0, 0.87);
}
.ui.basic.fullscreen.modal > .close {
  color: #FFFFFF;
}
/* --------------
      Size
--------------- */
.ui.modal {
  font-size: 1rem;
}
.ui.mini.modal > .header:not(.ui) {
  font-size: 1.3em;
}
@media only screen and (max-width: 767.98px) {
  .ui.mini.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.mini.modal {
    width: 35.2%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.mini.modal {
    width: 340px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.mini.modal {
    width: 360px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.mini.modal {
    width: 380px;
    margin: 0;
  }
}
.ui.tiny.modal > .header:not(.ui) {
  font-size: 1.3em;
}
@media only screen and (max-width: 767.98px) {
  .ui.tiny.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.tiny.modal {
    width: 52.8%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.tiny.modal {
    width: 510px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.tiny.modal {
    width: 540px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.tiny.modal {
    width: 570px;
    margin: 0;
  }
}
.ui.small.modal > .header:not(.ui) {
  font-size: 1.3em;
}
@media only screen and (max-width: 767.98px) {
  .ui.small.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.small.modal {
    width: 70.4%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.small.modal {
    width: 680px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.small.modal {
    width: 720px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.small.modal {
    width: 760px;
    margin: 0;
  }
}
.ui.large.modal > .header:not(.ui) {
  font-size: 1.6em;
}
@media only screen and (max-width: 767.98px) {
  .ui.large.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.large.modal {
    width: 88%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.large.modal {
    width: 1020px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.large.modal {
    width: 1080px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.large.modal {
    width: 1140px;
    margin: 0;
  }
}
.ui.big.modal > .header:not(.ui) {
  font-size: 1.6em;
}
@media only screen and (max-width: 767.98px) {
  .ui.big.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.big.modal {
    width: 88%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.big.modal {
    width: 1190px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.big.modal {
    width: 1260px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.big.modal {
    width: 1330px;
    margin: 0;
  }
}
.ui.huge.modal > .header:not(.ui) {
  font-size: 1.6em;
}
@media only screen and (max-width: 767.98px) {
  .ui.huge.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.huge.modal {
    width: 88%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.huge.modal {
    width: 1360px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.huge.modal {
    width: 1440px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.huge.modal {
    width: 1520px;
    margin: 0;
  }
}
.ui.massive.modal > .header:not(.ui) {
  font-size: 1.8em;
}
@media only screen and (max-width: 767.98px) {
  .ui.massive.modal {
    width: 95%;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ui.massive.modal {
    width: 88%;
    margin: 0;
  }
}
@media only screen and (min-width: 992px) {
  .ui.massive.modal {
    width: 1530px;
    margin: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .ui.massive.modal {
    width: 1620px;
    margin: 0;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.massive.modal {
    width: 1710px;
    margin: 0;
  }
}
/*****************************
              Inverted
    *******************************/
.ui.inverted.modal {
  background: #000;
}
.ui.inverted.modal > .header,
.ui.inverted.modal > .content {
  background: #000;
  color: #FFFFFF;
}
.ui.inverted.modal > .actions {
  background: #191a1b;
  border-top: 1px solid rgba(34, 36, 38, 0.85);
  color: #FFFFFF;
}
.ui.inverted.dimmer > .modal > .close {
  color: rgba(0, 0, 0, 0.85);
}
@media only screen and (max-width: 991.98px) {
  .ui.dimmer .inverted.modal > .close {
    color: #FFFFFF;
  }
}
.ui.inverted.modal > .close.inside,
.ui.inverted.fullscreen.modal > .close {
  color: #FFFFFF;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Nag
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Nag
*******************************/
/* --------------
   Collection
--------------- */
/* --------------
    Elements
--------------- */
/* Title */
/* --------------
      States
--------------- */
/* Hover */
/* --------------
   Variations
--------------- */
/* Top / Bottom */
/* Inverted */
/* --------------
      Plural
--------------- */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Nag
*******************************/
.ui.nag {
  display: none;
  opacity: 0.95;
  position: relative;
  top: 0;
  left: 0;
  z-index: 999;
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: 0.75em 1em;
  background: #909090;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
  font-size: 1rem;
  text-align: center;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0 0 0.28571429rem 0.28571429rem;
  transition: 0.2s background ease;
}
a.ui.nag {
  cursor: pointer;
}
.ui.nag > .title {
  display: inline-block;
  margin: 0 0.5em;
  color: #FFFFFF;
}
.ui.nag > .close.icon {
  cursor: pointer;
  opacity: 0.4;
  position: absolute;
  top: 50%;
  right: 1em;
  font-size: 1em;
  margin: -0.5em 0 0;
  color: #FFFFFF;
  transition: opacity 0.2s ease;
}
.ui.nag:not(.overlay):not(.fixed) {
  border-radius: 0.28571429rem;
}
/*******************************
             States
*******************************/
/* Hover */
.ui.nag:hover {
  background: #909090;
  opacity: 1;
}
.ui.nag > .close:hover {
  opacity: 1;
}
/*******************************
           Variations
*******************************/
/* --------------
         Static
    --------------- */
.ui.overlay.nags,
.ui.overlay.nag {
  position: absolute;
}
/* --------------
         Fixed
    --------------- */
.ui.fixed.nags,
.ui.fixed.nag {
  position: fixed;
}
/* --------------
         Bottom
    --------------- */
.ui.bottom.nags,
.ui.bottom.nag {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
  top: auto;
  bottom: 0;
}
/* --------------
         Inverted
    --------------- */
.ui.inverted.nags .nag,
.ui.inverted.nag {
  background-color: #f3f4f5;
  color: rgba(0, 0, 0, 0.85);
}
.ui.inverted.nags .nag > .close,
.ui.inverted.nag > .close {
  color: rgba(0, 0, 0, 0.6);
}
.ui.inverted.nags .nag > .title,
.ui.inverted.nag > .title {
  color: rgba(0, 0, 0, 0.6);
}
/* -------------------
            Sizes
    -------------------- */
.ui.mini.nag,
.ui.mini.nags .nag {
  font-size: 0.78571429rem;
}
.ui.tiny.nag,
.ui.tiny.nags .nag {
  font-size: 0.85714286rem;
}
.ui.small.nag,
.ui.small.nags .nag {
  font-size: 0.92857143rem;
}
.ui.large.nag,
.ui.large.nags .nag {
  font-size: 1.14285714rem;
}
.ui.big.nag,
.ui.big.nags .nag {
  font-size: 1.28571429rem;
}
.ui.huge.nag,
.ui.huge.nags .nag {
  font-size: 1.42857143rem;
  line-height: 1;
}
.ui.massive.nag,
.ui.massive.nags .nag {
  font-size: 1.71428571rem;
  line-height: 1;
}
/* --------------
     Colors
-------------- */
.ui.primary.nag {
  background-color: #6C3667;
}
.ui.inverted.primary.nag {
  background-color: #54c8ff;
}
.ui.secondary.nag {
  background-color: #88d317;
}
.ui.inverted.secondary.nag {
  background-color: #545454;
}
.ui.red.nag {
  background-color: #db2828;
}
.ui.inverted.red.nag {
  background-color: #ff695e;
}
.ui.orange.nag {
  background-color: #f2711c;
}
.ui.inverted.orange.nag {
  background-color: #ff851b;
}
.ui.yellow.nag {
  background-color: #fbbd08;
}
.ui.inverted.yellow.nag {
  background-color: #ffe21f;
}
.ui.olive.nag {
  background-color: #b5cc18;
}
.ui.inverted.olive.nag {
  background-color: #d9e778;
}
.ui.green.nag {
  background-color: #21ba45;
}
.ui.inverted.green.nag {
  background-color: #2ecc40;
}
.ui.teal.nag {
  background-color: #00b5ad;
}
.ui.inverted.teal.nag {
  background-color: #6dffff;
}
.ui.blue.nag {
  background-color: #2185d0;
}
.ui.inverted.blue.nag {
  background-color: #54c8ff;
}
.ui.violet.nag {
  background-color: #6435c9;
}
.ui.inverted.violet.nag {
  background-color: #a291fb;
}
.ui.purple.nag {
  background-color: #a333c8;
}
.ui.inverted.purple.nag {
  background-color: #dc73ff;
}
.ui.pink.nag {
  background-color: #e03997;
}
.ui.inverted.pink.nag {
  background-color: #ff8edf;
}
.ui.brown.nag {
  background-color: #a5673f;
}
.ui.inverted.brown.nag {
  background-color: #d67c1c;
}
.ui.grey.nag {
  background-color: #767676;
}
.ui.inverted.grey.nag {
  background-color: #dcddde;
}
.ui.black.nag {
  background-color: #1b1c1d;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.black.nag {
  background-color: #545454;
}
.ui.inverted.black.nag .title {
  color: #FFFFFF;
}
/*******************************
               Groups
    *******************************/
.ui.nags {
  top: 0;
  left: 0;
  width: 100%;
}
.ui.ui.nags .nag {
  border-radius: 0;
}
.ui.nags:not(.bottom) .nag:last-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.bottom.nags .nag:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.nags:not(.fixed):not(.overlay) .nag:first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.nags:not(.fixed):not(.overlay) .nag:only-child {
  border-radius: 0.28571429rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Popup
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Popup
*******************************/
/* -------------------
       Element
-------------------- */
/* -------------------
       Parts
-------------------- */
/* Placement */
/* Header */
/* Content Border */
/* Arrow */
/* Arrow color by position */
/* -------------------
       Types
-------------------- */
/* Tooltip */
/* Inverted */
/* Arrow */
/* -------------------
       Coupling
-------------------- */
/* Grid Inside Popup */
/* (padding * @medium) */
/* -------------------
       States
-------------------- */
/* backward compatible just in case */
/* -------------------
       Variations
-------------------- */
/* Wide */
/* Inverted */
/* Arrow color by position */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Popup
*******************************/
.ui.popup {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  /* Fixes content being squished when inline (moz only) */
  min-width: -moz-min-content;
  min-width: min-content;
  z-index: 1900;
  border: 1px solid #d4d4d5;
  line-height: 1.4285em;
  max-width: 250px;
  background: #FFFFFF;
  padding: 0.833em 1em;
  font-weight: normal;
  font-style: normal;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.popup > .header {
  padding: 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.14285714em;
  line-height: 1.2;
  font-weight: bold;
}
.ui.popup > .header + .content {
  padding-top: 0.5em;
}
.ui.popup::before {
  position: absolute;
  content: "";
  width: 0.71428571em;
  height: 0.71428571em;
  background: #FFFFFF;
  transform: rotate(45deg);
  z-index: 1901;
  box-shadow: 1px 1px 0 0 #bababc;
}
/*******************************
            Types
*******************************/
/* --------------
        Tooltip
    --------------- */
/* Content */
[data-tooltip] {
  position: relative;
}
/* Arrow */
[data-tooltip]::before {
  pointer-events: none;
  position: absolute;
  content: "";
  font-size: 1rem;
  width: 0.71428571em;
  height: 0.71428571em;
  background: #FFFFFF;
  z-index: 1901;
  box-shadow: 1px 1px 0 0 #bababc;
}
/* Popup */
[data-tooltip]::after {
  pointer-events: none;
  content: attr(data-tooltip);
  position: absolute;
  text-transform: none;
  text-align: left;
  text-shadow: none;
  white-space: nowrap;
  font-size: 1rem;
  border: 1px solid #d4d4d5;
  line-height: 1.4285em;
  max-width: none;
  background: #FFFFFF;
  padding: 0.833em 1em;
  font-weight: normal;
  font-style: normal;
  color: rgba(0, 0, 0, 0.87);
  border-radius: 0.28571429rem;
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
  z-index: 1900;
}
/* Animation */
[data-tooltip]::before,
[data-tooltip]::after {
  pointer-events: none;
  opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
[data-tooltip]::after,
[data-tooltip]:hover::before {
  transition-delay: 0.04s;
}
[data-tooltip]::before,
[data-tooltip]:hover::after {
  transition-delay: 0s;
}
[data-tooltip]::before {
  transform: rotate(45deg) scale(0.8);
  transform-origin: center top;
}
[data-tooltip]::after {
  transform-origin: center bottom;
}
[data-tooltip][data-variation~="visible"]::before,
[data-tooltip][data-variation~="visible"]::after,
[data-tooltip]:hover::before,
[data-tooltip]:hover::after {
  pointer-events: auto;
  opacity: 1;
}
[data-tooltip]:hover::before {
  transform: rotate(45deg) scale(1);
}
/* Animation Position */
[data-tooltip]:not([data-position])::after,
[data-tooltip][data-position="top center"]::after,
[data-tooltip][data-position="bottom center"]::after {
  transform: translateX(-50%) scale(0.8);
}
[data-tooltip]:not([data-position]):hover::after,
[data-tooltip][data-position="top center"]:hover::after,
[data-tooltip][data-position="bottom center"]:hover::after {
  transform: translateX(-50%) scale(1);
}
[data-tooltip][data-position="left center"]::after,
[data-tooltip][data-position="right center"]::after {
  transform: translateY(-50%) scale(0.8);
}
[data-tooltip][data-position="left center"]:hover::after,
[data-tooltip][data-position="right center"]:hover::after {
  transform: translateY(-50%) scale(1);
  -moz-transform: translateY(-50%) scale(1.0001) !important;
}
[data-tooltip][data-position="top left"]::after,
[data-tooltip][data-position="top right"]::after,
[data-tooltip][data-position="bottom left"]::after,
[data-tooltip][data-position="bottom right"]::after {
  transform: scale(0.8);
}
[data-tooltip][data-position="top left"]:hover::after,
[data-tooltip][data-position="top right"]:hover::after,
[data-tooltip][data-position="bottom left"]:hover::after,
[data-tooltip][data-position="bottom right"]:hover::after {
  transform: scale(1);
}
[data-tooltip][data-variation~="fixed"]::after {
  white-space: normal;
  width: 250px;
}
[data-tooltip][data-variation*="wide fixed"]::after {
  width: 350px;
}
[data-tooltip][data-variation*="very wide fixed"]::after {
  width: 550px;
}
@media only screen and (max-width: 767.98px) {
  [data-tooltip][data-variation~="fixed"]::after {
    width: 250px;
  }
}
/* --------------
            Inverted
        --------------- */
/* Arrow */
[data-tooltip][data-inverted]::before {
  box-shadow: none;
}
/* Arrow Position */
[data-tooltip]:not([data-position])[data-inverted]::before {
  background: #1b1c1d;
}
/* Popup */
[data-tooltip][data-inverted]::after {
  background: #1b1c1d;
  color: #FFFFFF;
  border: none;
  box-shadow: none;
}
/* --------------
            Position
        --------------- */
[data-position~="top"][data-tooltip]::before {
  background: #FFFFFF;
}
/* Top Center (default) */
[data-tooltip]:not([data-position])::after,
[data-position="top center"][data-tooltip]::after {
  top: auto;
  right: auto;
  left: 50%;
  bottom: 100%;
  margin-bottom: 0.5em;
}
[data-tooltip]:not([data-position])::before,
[data-position="top center"][data-tooltip]::before {
  top: auto;
  right: auto;
  bottom: 100%;
  left: 50%;
  background: #FFFFFF;
  margin-left: -0.07142857rem;
  margin-bottom: 0.14285714rem;
}
/* Top Left */
[data-position="top left"][data-tooltip]::after {
  top: auto;
  right: auto;
  left: 0;
  bottom: 100%;
  margin-bottom: 0.5em;
}
[data-position="top left"][data-tooltip]::before {
  top: auto;
  right: auto;
  bottom: 100%;
  left: 1em;
  margin-left: -0.07142857rem;
  margin-bottom: 0.14285714rem;
}
/* Top Right */
[data-position="top right"][data-tooltip]::after {
  top: auto;
  left: auto;
  right: 0;
  bottom: 100%;
  margin-bottom: 0.5em;
}
[data-position="top right"][data-tooltip]::before {
  top: auto;
  left: auto;
  bottom: 100%;
  right: 1em;
  margin-left: -0.07142857rem;
  margin-bottom: 0.14285714rem;
}
[data-position~="bottom"][data-tooltip]::before {
  background: #FFFFFF;
  box-shadow: -1px -1px 0 0 #bababc;
}
/* Bottom Center */
[data-position="bottom center"][data-tooltip]::after {
  bottom: auto;
  right: auto;
  left: 50%;
  top: 100%;
  margin-top: 0.5em;
}
[data-position="bottom center"][data-tooltip]::before {
  bottom: auto;
  right: auto;
  top: 100%;
  left: 50%;
  margin-left: -0.07142857rem;
  margin-top: 0.30714286em;
}
/* Bottom Left */
[data-position="bottom left"][data-tooltip]::after {
  left: 0;
  top: 100%;
  margin-top: 0.5em;
}
[data-position="bottom left"][data-tooltip]::before {
  bottom: auto;
  right: auto;
  top: 100%;
  left: 1em;
  margin-left: -0.07142857rem;
  margin-top: 0.14285714rem;
}
/* Bottom Right */
[data-position="bottom right"][data-tooltip]::after {
  right: 0;
  top: 100%;
  margin-top: 0.5em;
}
[data-position="bottom right"][data-tooltip]::before {
  bottom: auto;
  left: auto;
  top: 100%;
  right: 1em;
  margin-left: -0.14285714rem;
  margin-top: 0.07142857rem;
}
/* Left Center */
[data-position="left center"][data-tooltip]::after {
  right: 100%;
  top: 50%;
  margin-right: 0.5em;
}
[data-position="left center"][data-tooltip]::before {
  right: 100%;
  top: 50%;
  margin-top: -0.14285714rem;
  margin-right: -0.07142857rem;
  background: #FFFFFF;
  box-shadow: 1px -1px 0 0 #bababc;
}
/* Right Center */
[data-position="right center"][data-tooltip]::after {
  left: 100%;
  top: 50%;
  margin-left: 0.5em;
}
[data-position="right center"][data-tooltip]::before {
  left: 100%;
  top: 50%;
  margin-top: -0.07142857rem;
  margin-left: 0.14285714rem;
  background: #FFFFFF;
  box-shadow: -1px 1px 0 0 #bababc;
}
/* Inverted Arrow Color */
[data-inverted][data-position~="bottom"][data-tooltip]::before {
  background: #1b1c1d;
  box-shadow: -1px -1px 0 0 #bababc;
}
[data-inverted][data-position="left center"][data-tooltip]::before {
  background: #1b1c1d;
  box-shadow: 1px -1px 0 0 #bababc;
}
[data-inverted][data-position="right center"][data-tooltip]::before {
  background: #1b1c1d;
  box-shadow: -1px 1px 0 0 #bababc;
}
[data-inverted][data-position~="top"][data-tooltip]::before {
  background: #1b1c1d;
}
[data-position~="bottom"][data-tooltip]::before {
  transform-origin: center bottom;
}
[data-position~="bottom"][data-tooltip]::after {
  transform-origin: center top;
}
[data-position="bottom center"][data-tooltip]::before {
  transform-origin: center top;
}
[data-position="left center"][data-tooltip]::before {
  transform-origin: top center;
}
[data-position="left center"][data-tooltip]::after {
  transform-origin: right center;
}
[data-position="right center"][data-tooltip]::before {
  transform-origin: right center;
}
[data-position="right center"][data-tooltip]::after {
  transform-origin: left center;
}
[data-position="top left"][data-tooltip]::after {
  transform-origin: bottom left;
}
[data-position="top right"][data-tooltip]::after {
  transform-origin: bottom right;
}
[data-position="bottom left"][data-tooltip]::after {
  transform-origin: top left;
}
[data-position="bottom right"][data-tooltip]::after {
  transform-origin: top right;
}
/* --------------
            Basic
        --------------- */
[data-tooltip][data-variation~="basic"]::before {
  display: none;
}
[data-tooltip][data-variation~="multiline"]::after {
  white-space: pre-line;
}
/* --------------
     Spacing
--------------- */
.ui.popup {
  margin: 0;
}
/* Extending from Top */
.ui.top.popup {
  margin: 0 0 0.71428571em;
}
.ui.top.left.popup {
  transform-origin: left bottom;
}
.ui.top.center.popup {
  transform-origin: center bottom;
}
.ui.top.right.popup {
  transform-origin: right bottom;
}
/* Extending from Vertical Center */
.ui.left.center.popup {
  margin: 0 0.71428571em 0 0;
  transform-origin: right 50%;
}
.ui.right.center.popup {
  margin: 0 0 0 0.71428571em;
  transform-origin: left 50%;
}
/* Extending from Bottom */
.ui.bottom.popup {
  margin: 0.71428571em 0 0;
}
.ui.bottom.left.popup {
  transform-origin: left top;
}
.ui.bottom.center.popup {
  transform-origin: center top;
}
.ui.bottom.right.popup {
  transform-origin: right top;
}
/* --------------
         Pointer
    --------------- */
/* --- Below --- */
.ui.bottom.center.popup::before {
  margin-left: -0.30714286em;
  top: -0.30714286em;
  left: 50%;
  right: auto;
  bottom: auto;
  box-shadow: -1px -1px 0 0 #bababc;
}
.ui.bottom.left.popup {
  margin-left: 0;
}
/* rtl:rename */
.ui.bottom.left.popup::before {
  top: -0.30714286em;
  left: 1em;
  right: auto;
  bottom: auto;
  margin-left: 0;
  box-shadow: -1px -1px 0 0 #bababc;
}
.ui.bottom.right.popup {
  margin-right: 0;
}
/* rtl:rename */
.ui.bottom.right.popup::before {
  top: -0.30714286em;
  right: 1em;
  bottom: auto;
  left: auto;
  margin-left: 0;
  box-shadow: -1px -1px 0 0 #bababc;
}
/* --- Above --- */
.ui.top.center.popup::before {
  top: auto;
  right: auto;
  bottom: -0.30714286em;
  left: 50%;
  margin-left: -0.30714286em;
}
.ui.top.left.popup {
  margin-left: 0;
}
/* rtl:rename */
.ui.top.left.popup::before {
  bottom: -0.30714286em;
  left: 1em;
  top: auto;
  right: auto;
  margin-left: 0;
}
.ui.top.right.popup {
  margin-right: 0;
}
/* rtl:rename */
.ui.top.right.popup::before {
  bottom: -0.30714286em;
  right: 1em;
  top: auto;
  left: auto;
  margin-left: 0;
}
/* --- Left Center --- */
/* rtl:rename */
.ui.left.center.popup::before {
  top: 50%;
  right: -0.30714286em;
  bottom: auto;
  left: auto;
  margin-top: -0.30714286em;
  box-shadow: 1px -1px 0 0 #bababc;
}
/* --- Right Center --- */
/* rtl:rename */
.ui.right.center.popup::before {
  top: 50%;
  left: -0.30714286em;
  bottom: auto;
  right: auto;
  margin-top: -0.30714286em;
  box-shadow: -1px 1px 0 0 #bababc;
}
.ui.right.center.popup::before,
.ui.left.center.popup::before {
  background: #FFFFFF;
}
/* Arrow Color By Location */
.ui.bottom.popup::before {
  background: #FFFFFF;
}
.ui.top.popup::before {
  background: #FFFFFF;
}
/* Inverted Arrow Color */
.ui.inverted.bottom.popup::before {
  background: #1b1c1d;
}
.ui.inverted.right.center.popup::before,
.ui.inverted.left.center.popup::before {
  background: #1b1c1d;
}
.ui.inverted.top.popup::before {
  background: #1b1c1d;
}
/*******************************
            Coupling
*******************************/
/* Immediate Nested Grid */
.ui.ui.ui.popup > .ui.grid:not(.padded) {
  width: calc(100% + 1.75rem);
  margin: -0.7rem -0.875rem;
}
/*******************************
            States
*******************************/
.ui.loading.popup {
  cursor: default;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ui.loading.popup * {
  opacity: 0.3;
}
.ui.loading.popup::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1em 0 0 -1em;
  width: 2em;
  height: 2em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
  visibility: visible;
  z-index: 101;
}
.ui.invisible.popup {
  display: block;
  visibility: hidden !important;
  z-index: -1;
}
.ui.animating.popup,
.ui.visible.popup {
  display: block;
}
.ui.visible.popup {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/*******************************
            Variations
*******************************/
/* --------------
         Basic
    --------------- */
.ui.basic.popup::before {
  display: none;
}
.ui.fixed.popup {
  width: 250px;
}
/* --------------
         Wide
    --------------- */
.ui.wide.popup {
  max-width: 350px;
}
.ui.wide.popup.fixed {
  width: 350px;
}
.ui[class*="very wide"].popup {
  max-width: 550px;
}
.ui[class*="very wide"].popup.fixed {
  width: 550px;
}
@media only screen and (max-width: 767.98px) {
  .ui.wide.popup,
  .ui[class*="very wide"].popup {
    max-width: 250px;
  }
  .ui.wide.popup.fixed,
  .ui[class*="very wide"].popup.fixed {
    width: 250px;
  }
}
/* --------------
         Fluid
    --------------- */
.ui.fluid.popup {
  width: 100%;
  max-width: none;
}
/* --------------
         Colors
    --------------- */
/* Inverted colors */
.ui.inverted.popup {
  background: #1b1c1d;
  color: #FFFFFF;
  border: none;
  box-shadow: none;
}
.ui.inverted.popup .header {
  background: none;
  color: #FFFFFF;
}
.ui.inverted.popup::before {
  background-color: #1b1c1d;
  box-shadow: none;
}
.ui.ui.ui.primary.popup::before,
.ui.primary.popup,
[data-tooltip][data-variation~="primary"]::after,
[data-tooltip][data-variation~="primary"]::before {
  background: #6C3667;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.primary.loading.popup::before,
.ui.primary.loading.popup {
  background: #be7db8;
}
.ui.ui.ui.primary.popup::before,
[data-tooltip][data-variation~="primary"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.primary.popup::before,
.ui.inverted.primary.popup,
[data-tooltip][data-inverted][data-variation~="primary"]::after,
[data-tooltip][data-inverted][data-variation~="primary"]::before {
  background: #54c8ff;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.primary.loading.popup::before,
.ui.inverted.primary.loading.popup {
  background: #007eba;
}
.ui.ui.ui.secondary.popup::before,
.ui.secondary.popup,
[data-tooltip][data-variation~="secondary"]::after,
[data-tooltip][data-variation~="secondary"]::before {
  background: #88d317;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.secondary.loading.popup::before,
.ui.secondary.loading.popup {
  background: #cbf390;
}
.ui.ui.ui.secondary.popup::before,
[data-tooltip][data-variation~="secondary"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.secondary.popup::before,
.ui.inverted.secondary.popup,
[data-tooltip][data-inverted][data-variation~="secondary"]::after,
[data-tooltip][data-inverted][data-variation~="secondary"]::before {
  background: #545454;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.secondary.loading.popup::before,
.ui.inverted.secondary.loading.popup {
  background: #080808;
}
.ui.ui.ui.red.popup::before,
.ui.red.popup,
[data-tooltip][data-variation~="red"]::after,
[data-tooltip][data-variation~="red"]::before {
  background: #db2828;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.red.loading.popup::before,
.ui.red.loading.popup {
  background: #f1abab;
}
.ui.ui.ui.red.popup::before,
[data-tooltip][data-variation~="red"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.red.popup::before,
.ui.inverted.red.popup,
[data-tooltip][data-inverted][data-variation~="red"]::after,
[data-tooltip][data-inverted][data-variation~="red"]::before {
  background: #ff695e;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.red.loading.popup::before,
.ui.inverted.red.loading.popup {
  background: #c40d00;
}
.ui.ui.ui.orange.popup::before,
.ui.orange.popup,
[data-tooltip][data-variation~="orange"]::after,
[data-tooltip][data-variation~="orange"]::before {
  background: #f2711c;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.orange.loading.popup::before,
.ui.orange.loading.popup {
  background: #faccad;
}
.ui.ui.ui.orange.popup::before,
[data-tooltip][data-variation~="orange"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.orange.popup::before,
.ui.inverted.orange.popup,
[data-tooltip][data-inverted][data-variation~="orange"]::after,
[data-tooltip][data-inverted][data-variation~="orange"]::before {
  background: #ff851b;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.orange.loading.popup::before,
.ui.inverted.orange.loading.popup {
  background: #813c00;
}
.ui.ui.ui.yellow.popup::before,
.ui.yellow.popup,
[data-tooltip][data-variation~="yellow"]::after,
[data-tooltip][data-variation~="yellow"]::before {
  background: #fbbd08;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.yellow.loading.popup::before,
.ui.yellow.loading.popup {
  background: #fde59f;
}
.ui.ui.ui.yellow.popup::before,
[data-tooltip][data-variation~="yellow"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.yellow.popup::before,
.ui.inverted.yellow.popup,
[data-tooltip][data-inverted][data-variation~="yellow"]::after,
[data-tooltip][data-inverted][data-variation~="yellow"]::before {
  background: #ffe21f;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.yellow.loading.popup::before,
.ui.inverted.yellow.loading.popup {
  background: #857400;
}
.ui.ui.ui.olive.popup::before,
.ui.olive.popup,
[data-tooltip][data-variation~="olive"]::after,
[data-tooltip][data-variation~="olive"]::before {
  background: #b5cc18;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.olive.loading.popup::before,
.ui.olive.loading.popup {
  background: #e4f18c;
}
.ui.ui.ui.olive.popup::before,
[data-tooltip][data-variation~="olive"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.olive.popup::before,
.ui.inverted.olive.popup,
[data-tooltip][data-inverted][data-variation~="olive"]::after,
[data-tooltip][data-inverted][data-variation~="olive"]::before {
  background: #d9e778;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.olive.loading.popup::before,
.ui.inverted.olive.loading.popup {
  background: #97a81e;
}
.ui.ui.ui.green.popup::before,
.ui.green.popup,
[data-tooltip][data-variation~="green"]::after,
[data-tooltip][data-variation~="green"]::before {
  background: #21ba45;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.green.loading.popup::before,
.ui.green.loading.popup {
  background: #8aeaa0;
}
.ui.ui.ui.green.popup::before,
[data-tooltip][data-variation~="green"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.green.popup::before,
.ui.inverted.green.popup,
[data-tooltip][data-inverted][data-variation~="green"]::after,
[data-tooltip][data-inverted][data-variation~="green"]::before {
  background: #2ecc40;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.green.loading.popup::before,
.ui.inverted.green.loading.popup {
  background: #124f19;
}
.ui.ui.ui.teal.popup::before,
.ui.teal.popup,
[data-tooltip][data-variation~="teal"]::after,
[data-tooltip][data-variation~="teal"]::before {
  background: #00b5ad;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.teal.loading.popup::before,
.ui.teal.loading.popup {
  background: #4ffff7;
}
.ui.ui.ui.teal.popup::before,
[data-tooltip][data-variation~="teal"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.teal.popup::before,
.ui.inverted.teal.popup,
[data-tooltip][data-inverted][data-variation~="teal"]::after,
[data-tooltip][data-inverted][data-variation~="teal"]::before {
  background: #6dffff;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.teal.loading.popup::before,
.ui.inverted.teal.loading.popup {
  background: #00d3d3;
}
.ui.ui.ui.blue.popup::before,
.ui.blue.popup,
[data-tooltip][data-variation~="blue"]::after,
[data-tooltip][data-variation~="blue"]::before {
  background: #2185d0;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.blue.loading.popup::before,
.ui.blue.loading.popup {
  background: #9bcbef;
}
.ui.ui.ui.blue.popup::before,
[data-tooltip][data-variation~="blue"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.blue.popup::before,
.ui.inverted.blue.popup,
[data-tooltip][data-inverted][data-variation~="blue"]::after,
[data-tooltip][data-inverted][data-variation~="blue"]::before {
  background: #54c8ff;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.blue.loading.popup::before,
.ui.inverted.blue.loading.popup {
  background: #007eba;
}
.ui.ui.ui.violet.popup::before,
.ui.violet.popup,
[data-tooltip][data-variation~="violet"]::after,
[data-tooltip][data-variation~="violet"]::before {
  background: #6435c9;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.violet.loading.popup::before,
.ui.violet.loading.popup {
  background: #c1adea;
}
.ui.ui.ui.violet.popup::before,
[data-tooltip][data-variation~="violet"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.violet.popup::before,
.ui.inverted.violet.popup,
[data-tooltip][data-inverted][data-variation~="violet"]::after,
[data-tooltip][data-inverted][data-variation~="violet"]::before {
  background: #a291fb;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.violet.loading.popup::before,
.ui.inverted.violet.loading.popup {
  background: #2d09ea;
}
.ui.ui.ui.purple.popup::before,
.ui.purple.popup,
[data-tooltip][data-variation~="purple"]::after,
[data-tooltip][data-variation~="purple"]::before {
  background: #a333c8;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.purple.loading.popup::before,
.ui.purple.loading.popup {
  background: #daabe9;
}
.ui.ui.ui.purple.popup::before,
[data-tooltip][data-variation~="purple"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.purple.popup::before,
.ui.inverted.purple.popup,
[data-tooltip][data-inverted][data-variation~="purple"]::after,
[data-tooltip][data-inverted][data-variation~="purple"]::before {
  background: #dc73ff;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.purple.loading.popup::before,
.ui.inverted.purple.loading.popup {
  background: #a300d9;
}
.ui.ui.ui.pink.popup::before,
.ui.pink.popup,
[data-tooltip][data-variation~="pink"]::after,
[data-tooltip][data-variation~="pink"]::before {
  background: #e03997;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.pink.loading.popup::before,
.ui.pink.loading.popup {
  background: #f5bddc;
}
.ui.ui.ui.pink.popup::before,
[data-tooltip][data-variation~="pink"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.pink.popup::before,
.ui.inverted.pink.popup,
[data-tooltip][data-inverted][data-variation~="pink"]::after,
[data-tooltip][data-inverted][data-variation~="pink"]::before {
  background: #ff8edf;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.pink.loading.popup::before,
.ui.inverted.pink.loading.popup {
  background: #f400af;
}
.ui.ui.ui.brown.popup::before,
.ui.brown.popup,
[data-tooltip][data-variation~="brown"]::after,
[data-tooltip][data-variation~="brown"]::before {
  background: #a5673f;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.brown.loading.popup::before,
.ui.brown.loading.popup {
  background: #dbb8a2;
}
.ui.ui.ui.brown.popup::before,
[data-tooltip][data-variation~="brown"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.brown.popup::before,
.ui.inverted.brown.popup,
[data-tooltip][data-inverted][data-variation~="brown"]::after,
[data-tooltip][data-inverted][data-variation~="brown"]::before {
  background: #d67c1c;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.brown.loading.popup::before,
.ui.inverted.brown.loading.popup {
  background: #4f2e0a;
}
.ui.ui.ui.grey.popup::before,
.ui.grey.popup,
[data-tooltip][data-variation~="grey"]::after,
[data-tooltip][data-variation~="grey"]::before {
  background: #767676;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.grey.loading.popup::before,
.ui.grey.loading.popup {
  background: #c3c3c3;
}
.ui.ui.ui.grey.popup::before,
[data-tooltip][data-variation~="grey"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.grey.popup::before,
.ui.inverted.grey.popup,
[data-tooltip][data-inverted][data-variation~="grey"]::after,
[data-tooltip][data-inverted][data-variation~="grey"]::before {
  background: #dcddde;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.grey.loading.popup::before,
.ui.inverted.grey.loading.popup {
  background: #8d9194;
}
.ui.ui.ui.black.popup::before,
.ui.black.popup,
[data-tooltip][data-variation~="black"]::after,
[data-tooltip][data-variation~="black"]::before {
  background: #1b1c1d;
  color: #FFFFFF;
  border: none;
}
.ui.ui.ui.black.loading.popup::before,
.ui.black.loading.popup {
  background: #65696c;
}
.ui.ui.ui.black.popup::before,
[data-tooltip][data-variation~="black"]::before {
  box-shadow: none;
}
.ui.ui.ui.inverted.black.popup::before,
.ui.inverted.black.popup,
[data-tooltip][data-inverted][data-variation~="black"]::after,
[data-tooltip][data-inverted][data-variation~="black"]::before {
  background: #545454;
  color: #1b1c1d;
}
.ui.ui.ui.inverted.black.loading.popup::before,
.ui.inverted.black.loading.popup {
  background: #080808;
}
/* --------------
         Flowing
    --------------- */
.ui.flowing.popup {
  max-width: none;
}
/* --------------
     Sizes
--------------- */
.ui.popup {
  font-size: 1rem;
}
.ui.mini.popup {
  font-size: 0.78571429rem;
}
[data-tooltip][data-variation~="mini"]::before,
[data-tooltip][data-variation~="mini"]::after {
  font-size: 0.78571429rem;
}
.ui.tiny.popup {
  font-size: 0.85714286rem;
}
[data-tooltip][data-variation~="tiny"]::before,
[data-tooltip][data-variation~="tiny"]::after {
  font-size: 0.85714286rem;
}
.ui.small.popup {
  font-size: 0.92857143rem;
}
[data-tooltip][data-variation~="small"]::before,
[data-tooltip][data-variation~="small"]::after {
  font-size: 0.92857143rem;
}
.ui.large.popup {
  font-size: 1.14285714rem;
}
[data-tooltip][data-variation~="large"]::before,
[data-tooltip][data-variation~="large"]::after {
  font-size: 1.14285714rem;
}
.ui.big.popup {
  font-size: 1.28571429rem;
}
[data-tooltip][data-variation~="big"]::before,
[data-tooltip][data-variation~="big"]::after {
  font-size: 1.28571429rem;
}
.ui.huge.popup {
  font-size: 1.42857143rem;
}
[data-tooltip][data-variation~="huge"]::before,
[data-tooltip][data-variation~="huge"]::after {
  font-size: 1.42857143rem;
}
.ui.massive.popup {
  font-size: 1.71428571rem;
}
[data-tooltip][data-variation~="massive"]::before,
[data-tooltip][data-variation~="massive"]::after {
  font-size: 1.71428571rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Progress
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Progress
*******************************/
/* -------------------
       Element
-------------------- */
/* Bar */
/* Progress Bar Label */
/* Label */
/* -------------------
        Types
-------------------- */
/* -------------------
        States
-------------------- */
/* Active */
/* -------------------
      Variations
-------------------- */
/* Attached */
/* Inverted */
/* Sizing */
/* Indeterminate */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Progress
*******************************/
.ui.progress {
  position: relative;
  display: flex;
  max-width: 100%;
  border: none;
  margin: 1em 0 2.5em;
  box-shadow: none;
  background: rgba(0, 0, 0, 0.1);
  padding: 0;
  border-radius: 0.28571429rem;
}
.ui.basic.progress {
  background: transparent;
  border: none;
  box-shadow: none;
}
.ui.progress:first-child {
  margin: 0 0 2.5em;
}
.ui.progress:last-child {
  margin: 0 0 1.5em;
}
/*******************************
            Content
*******************************/
/* Activity Bar */
.ui.progress .bar {
  display: block;
  line-height: 1;
  position: relative;
  width: 0;
  background: #888;
  border-radius: 0.28571429rem;
  transition: width 0.1s ease, background-color 0.1s ease;
  overflow: hidden;
}
.ui.progress .bar:not(:empty) {
  min-width: 2.5em;
}
.ui.ui.ui.progress:not([data-percent]):not(.indeterminate) .bar:not(:empty),
.ui.ui.ui.progress[data-percent="0"]:not(.indeterminate) .bar:not(:empty) {
  background: transparent;
}
.ui.progress[data-percent="0"] .bar .progress {
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.progress[data-percent="0"] .bar .progress {
  color: rgba(255, 255, 255, 0.9);
}
/* Percent Complete */
.ui.progress .bar > .progress {
  white-space: nowrap;
  position: absolute;
  width: auto;
  font-size: 0.92857143em;
  top: 50%;
  right: 0.5em;
  left: auto;
  bottom: auto;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: none;
  margin-top: -0.5em;
  font-weight: bold;
  text-align: left;
}
.ui.right.aligned.progress {
  justify-content: flex-end;
}
.ui.right.aligned.progress .bar > .progress {
  left: 0.5em;
  right: auto;
}
/* Label */
.ui.progress > .label {
  position: absolute;
  width: 100%;
  font-size: 1em;
  top: 100%;
  right: auto;
  left: 0;
  bottom: auto;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
  text-shadow: none;
  margin-top: 0.2em;
  text-align: center;
  transition: color 0.4s ease;
}
/*******************************
            Types
*******************************/
/* Indicating */
.ui.indicating.progress[data-percent^="1"] .bar,
.ui.indicating.progress[data-percent^="2"] .bar {
  background-color: #d95c5c;
}
.ui.indicating.progress[data-percent^="3"] .bar {
  background-color: #efbc72;
}
.ui.indicating.progress[data-percent^="4"] .bar,
.ui.indicating.progress[data-percent^="5"] .bar {
  background-color: #e6bb48;
}
.ui.indicating.progress[data-percent^="6"] .bar {
  background-color: #ddc928;
}
.ui.indicating.progress[data-percent^="7"] .bar,
.ui.indicating.progress[data-percent^="8"] .bar {
  background-color: #b4d95c;
}
.ui.indicating.progress[data-percent^="9"] .bar,
.ui.indicating.progress[data-percent^="100"] .bar {
  background-color: #66da81;
}
/* Indicating Label */
.ui.indicating.progress[data-percent^="1"] .label,
.ui.indicating.progress[data-percent^="2"] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.indicating.progress[data-percent^="3"] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.indicating.progress[data-percent^="4"] .label,
.ui.indicating.progress[data-percent^="5"] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.indicating.progress[data-percent^="6"] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.indicating.progress[data-percent^="7"] .label,
.ui.indicating.progress[data-percent^="8"] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.indicating.progress[data-percent^="9"] .label,
.ui.indicating.progress[data-percent^="100"] .label {
  color: rgba(0, 0, 0, 0.87);
}
/* Inverted Indicating Label */
.ui.inverted.indicating.progress[data-percent^="1"] .label,
.ui.inverted.indicating.progress[data-percent^="2"] .label {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.indicating.progress[data-percent^="3"] .label {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.indicating.progress[data-percent^="4"] .label,
.ui.inverted.indicating.progress[data-percent^="5"] .label {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.indicating.progress[data-percent^="6"] .label {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.indicating.progress[data-percent^="7"] .label,
.ui.inverted.indicating.progress[data-percent^="8"] .label {
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.indicating.progress[data-percent^="9"] .label,
.ui.inverted.indicating.progress[data-percent^="100"] .label {
  color: rgba(255, 255, 255, 0.9);
}
/* Single Digits */
.ui.indicating.progress[data-percent="1"] .bar,
.ui.indicating.progress[data-percent^="1."] .bar,
.ui.indicating.progress[data-percent="2"] .bar,
.ui.indicating.progress[data-percent^="2."] .bar,
.ui.indicating.progress[data-percent="3"] .bar,
.ui.indicating.progress[data-percent^="3."] .bar,
.ui.indicating.progress[data-percent="4"] .bar,
.ui.indicating.progress[data-percent^="4."] .bar,
.ui.indicating.progress[data-percent="5"] .bar,
.ui.indicating.progress[data-percent^="5."] .bar,
.ui.indicating.progress[data-percent="6"] .bar,
.ui.indicating.progress[data-percent^="6."] .bar,
.ui.indicating.progress[data-percent="7"] .bar,
.ui.indicating.progress[data-percent^="7."] .bar,
.ui.indicating.progress[data-percent="8"] .bar,
.ui.indicating.progress[data-percent^="8."] .bar,
.ui.indicating.progress[data-percent="9"] .bar,
.ui.indicating.progress[data-percent^="9."] .bar {
  background-color: #d95c5c;
}
.ui.indicating.progress[data-percent="0"] .label,
.ui.indicating.progress[data-percent^="0."] .label,
.ui.indicating.progress[data-percent="1"] .label,
.ui.indicating.progress[data-percent^="1."] .label,
.ui.indicating.progress[data-percent="2"] .label,
.ui.indicating.progress[data-percent^="2."] .label,
.ui.indicating.progress[data-percent="3"] .label,
.ui.indicating.progress[data-percent^="3."] .label,
.ui.indicating.progress[data-percent="4"] .label,
.ui.indicating.progress[data-percent^="4."] .label,
.ui.indicating.progress[data-percent="5"] .label,
.ui.indicating.progress[data-percent^="5."] .label,
.ui.indicating.progress[data-percent="6"] .label,
.ui.indicating.progress[data-percent^="6."] .label,
.ui.indicating.progress[data-percent="7"] .label,
.ui.indicating.progress[data-percent^="7."] .label,
.ui.indicating.progress[data-percent="8"] .label,
.ui.indicating.progress[data-percent^="8."] .label,
.ui.indicating.progress[data-percent="9"] .label,
.ui.indicating.progress[data-percent^="9."] .label {
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.indicating.progress[data-percent="0"] .label,
.ui.inverted.indicating.progress[data-percent^="0."] .label,
.ui.inverted.indicating.progress[data-percent="1"] .label,
.ui.inverted.indicating.progress[data-percent^="1."] .label,
.ui.inverted.indicating.progress[data-percent="2"] .label,
.ui.inverted.indicating.progress[data-percent^="2."] .label,
.ui.inverted.indicating.progress[data-percent="3"] .label,
.ui.inverted.indicating.progress[data-percent^="3."] .label,
.ui.inverted.indicating.progress[data-percent="4"] .label,
.ui.inverted.indicating.progress[data-percent^="4."] .label,
.ui.inverted.indicating.progress[data-percent="5"] .label,
.ui.inverted.indicating.progress[data-percent^="5."] .label,
.ui.inverted.indicating.progress[data-percent="6"] .label,
.ui.inverted.indicating.progress[data-percent^="6."] .label,
.ui.inverted.indicating.progress[data-percent="7"] .label,
.ui.inverted.indicating.progress[data-percent^="7."] .label,
.ui.inverted.indicating.progress[data-percent="8"] .label,
.ui.inverted.indicating.progress[data-percent^="8."] .label,
.ui.inverted.indicating.progress[data-percent="9"] .label,
.ui.inverted.indicating.progress[data-percent^="9."] .label {
  color: rgba(255, 255, 255, 0.9);
}
/* Indicating Success */
.ui.ui.indicating.progress.success .label {
  color: #1a531b;
}
/*******************************
             States
*******************************/
/* --------------
         Success
    --------------- */
.ui.ui.progress.success .bar {
  background-color: #21ba45;
}
.ui.ui.progress.success .bar,
.ui.ui.progress.success .bar::after {
  animation: none;
}
.ui.progress.success > .label {
  color: #1a531b;
}
/* --------------
         Warning
    --------------- */
.ui.ui.progress.warning .bar {
  background-color: #f2c037;
}
.ui.ui.progress.warning .bar,
.ui.ui.progress.warning .bar::after {
  animation: none;
}
.ui.progress.warning > .label {
  color: #794b02;
}
/* --------------
         Error
    --------------- */
.ui.ui.progress.error .bar {
  background-color: #db2828;
}
.ui.ui.progress.error .bar,
.ui.ui.progress.error .bar::after {
  animation: none;
}
.ui.progress.error > .label {
  color: #912d2b;
}
/* --------------
         Active
    --------------- */
.ui.active.progress .bar {
  position: relative;
}
.ui.active.progress .bar:not(:empty) {
  min-width: 2.5em;
}
.ui.active.progress .bar::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #FFFFFF;
  border-radius: 0.28571429rem;
  animation: progress-active 2s ease infinite;
  transform-origin: left;
}
.ui.active.right.aligned.progress .bar::after {
  transform-origin: right;
}
@keyframes progress-active {
  0% {
    opacity: 0.3;
    transform: scale(0, 1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
/* --------------
        Disabled
    --------------- */
.ui.disabled.progress {
  opacity: 0.35;
}
.ui.ui.disabled.progress .bar,
.ui.ui.disabled.progress .bar::after {
  animation: none;
}
/*******************************
           Variations
*******************************/
/* --------------
        Inverted
    --------------- */
.ui.inverted.progress:not(.basic) {
  background: rgba(255, 255, 255, 0.08);
  border: none;
}
.ui.inverted.progress .bar {
  background: #888;
}
.ui.inverted.progress .bar > .progress {
  color: #1b1c1d;
}
.ui.inverted.progress > .label {
  color: #FFFFFF;
}
.ui.inverted.progress.success > .label {
  color: #21ba45;
}
.ui.inverted.progress.warning > .label {
  color: #f2c037;
}
.ui.inverted.progress.error > .label {
  color: #db2828;
}
/* --------------
        Attached
    --------------- */
/* bottom attached */
.ui.progress.attached {
  background: transparent;
  position: relative;
  border: none;
  margin: 0;
}
.ui.progress.attached,
.ui.progress.attached .bar {
  height: 0.2rem;
  padding: 0;
  overflow: hidden;
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
.ui.progress.attached .bar {
  border-radius: 0;
}
/* top attached */
.ui.progress.top.attached,
.ui.progress.top.attached .bar {
  top: 0;
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.progress.top.attached .bar {
  border-radius: 0;
}
/* Coupling */
.ui.segment > .ui.attached.progress,
.ui.card > .ui.attached.progress {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 100%;
  width: 100%;
}
.ui.segment > .ui.bottom.attached.progress,
.ui.card > .ui.bottom.attached.progress {
  top: 100%;
  bottom: auto;
}
/* --------------
     Colors
--------------- */
.ui.indeterminate.primary.progress .bar::before,
.ui.primary.progress .bar,
.ui.progress .primary.bar {
  background-color: #6C3667;
}
.ui.inverted.indeterminate.primary.progress .bar::before,
.ui.primary.inverted.progress .bar,
.ui.inverted.progress .primary.bar {
  background-color: #54c8ff;
}
.ui.indeterminate.secondary.progress .bar::before,
.ui.secondary.progress .bar,
.ui.progress .secondary.bar {
  background-color: #88d317;
}
.ui.inverted.indeterminate.secondary.progress .bar::before,
.ui.secondary.inverted.progress .bar,
.ui.inverted.progress .secondary.bar {
  background-color: #545454;
}
.ui.indeterminate.red.progress .bar::before,
.ui.red.progress .bar,
.ui.progress .red.bar {
  background-color: #db2828;
}
.ui.inverted.indeterminate.red.progress .bar::before,
.ui.red.inverted.progress .bar,
.ui.inverted.progress .red.bar {
  background-color: #ff695e;
}
.ui.indeterminate.orange.progress .bar::before,
.ui.orange.progress .bar,
.ui.progress .orange.bar {
  background-color: #f2711c;
}
.ui.inverted.indeterminate.orange.progress .bar::before,
.ui.orange.inverted.progress .bar,
.ui.inverted.progress .orange.bar {
  background-color: #ff851b;
}
.ui.indeterminate.yellow.progress .bar::before,
.ui.yellow.progress .bar,
.ui.progress .yellow.bar {
  background-color: #fbbd08;
}
.ui.inverted.indeterminate.yellow.progress .bar::before,
.ui.yellow.inverted.progress .bar,
.ui.inverted.progress .yellow.bar {
  background-color: #ffe21f;
}
.ui.indeterminate.olive.progress .bar::before,
.ui.olive.progress .bar,
.ui.progress .olive.bar {
  background-color: #b5cc18;
}
.ui.inverted.indeterminate.olive.progress .bar::before,
.ui.olive.inverted.progress .bar,
.ui.inverted.progress .olive.bar {
  background-color: #d9e778;
}
.ui.indeterminate.green.progress .bar::before,
.ui.green.progress .bar,
.ui.progress .green.bar {
  background-color: #21ba45;
}
.ui.inverted.indeterminate.green.progress .bar::before,
.ui.green.inverted.progress .bar,
.ui.inverted.progress .green.bar {
  background-color: #2ecc40;
}
.ui.indeterminate.teal.progress .bar::before,
.ui.teal.progress .bar,
.ui.progress .teal.bar {
  background-color: #00b5ad;
}
.ui.inverted.indeterminate.teal.progress .bar::before,
.ui.teal.inverted.progress .bar,
.ui.inverted.progress .teal.bar {
  background-color: #6dffff;
}
.ui.indeterminate.blue.progress .bar::before,
.ui.blue.progress .bar,
.ui.progress .blue.bar {
  background-color: #2185d0;
}
.ui.inverted.indeterminate.blue.progress .bar::before,
.ui.blue.inverted.progress .bar,
.ui.inverted.progress .blue.bar {
  background-color: #54c8ff;
}
.ui.indeterminate.violet.progress .bar::before,
.ui.violet.progress .bar,
.ui.progress .violet.bar {
  background-color: #6435c9;
}
.ui.inverted.indeterminate.violet.progress .bar::before,
.ui.violet.inverted.progress .bar,
.ui.inverted.progress .violet.bar {
  background-color: #a291fb;
}
.ui.indeterminate.purple.progress .bar::before,
.ui.purple.progress .bar,
.ui.progress .purple.bar {
  background-color: #a333c8;
}
.ui.inverted.indeterminate.purple.progress .bar::before,
.ui.purple.inverted.progress .bar,
.ui.inverted.progress .purple.bar {
  background-color: #dc73ff;
}
.ui.indeterminate.pink.progress .bar::before,
.ui.pink.progress .bar,
.ui.progress .pink.bar {
  background-color: #e03997;
}
.ui.inverted.indeterminate.pink.progress .bar::before,
.ui.pink.inverted.progress .bar,
.ui.inverted.progress .pink.bar {
  background-color: #ff8edf;
}
.ui.indeterminate.brown.progress .bar::before,
.ui.brown.progress .bar,
.ui.progress .brown.bar {
  background-color: #a5673f;
}
.ui.inverted.indeterminate.brown.progress .bar::before,
.ui.brown.inverted.progress .bar,
.ui.inverted.progress .brown.bar {
  background-color: #d67c1c;
}
.ui.indeterminate.grey.progress .bar::before,
.ui.grey.progress .bar,
.ui.progress .grey.bar {
  background-color: #767676;
}
.ui.inverted.indeterminate.grey.progress .bar::before,
.ui.grey.inverted.progress .bar,
.ui.inverted.progress .grey.bar {
  background-color: #dcddde;
}
.ui.indeterminate.black.progress .bar::before,
.ui.black.progress .bar,
.ui.progress .black.bar {
  background-color: #1b1c1d;
}
.ui.inverted.indeterminate.black.progress .bar::before,
.ui.black.inverted.progress .bar,
.ui.inverted.progress .black.bar {
  background-color: #545454;
}
/* --------------
     Sizes
--------------- */
.ui.progress {
  font-size: 1rem;
}
.ui.progress .bar {
  height: 1.75em;
}
.ui.mini.progress {
  font-size: 0.78571429rem;
}
.ui.mini.progress .bar {
  height: 0.3em;
}
.ui.tiny.progress {
  font-size: 0.85714286rem;
}
.ui.tiny.progress .bar {
  height: 0.5em;
}
.ui.small.progress {
  font-size: 0.92857143rem;
}
.ui.small.progress .bar {
  height: 1em;
}
.ui.large.progress {
  font-size: 1.14285714rem;
}
.ui.large.progress .bar {
  height: 2.5em;
}
.ui.big.progress {
  font-size: 1.28571429rem;
}
.ui.big.progress .bar {
  height: 3.5em;
}
.ui.huge.progress {
  font-size: 1.42857143rem;
}
.ui.huge.progress .bar {
  height: 4em;
}
.ui.massive.progress {
  font-size: 1.71428571rem;
}
.ui.massive.progress .bar {
  height: 5em;
}
/* ---------------
      Indeterminate
    ---------------- */
.ui.indeterminate.progress .bar {
  width: 100%;
}
.ui.indeterminate.progress .bar .progress,
.ui.progress .bar .centered.progress {
  text-align: center;
  position: relative;
  right: 0;
}
.ui.indeterminate.progress .bar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 0.28571429rem;
  animation: progress-pulsating 2s ease infinite;
  transform-origin: center;
  width: 100%;
}
.ui.slow.indeterminate.progress .bar::before {
  animation-duration: 4s;
}
.ui.fast.indeterminate.progress .bar::before {
  animation-duration: 1s;
}
.ui.swinging.indeterminate.progress .bar::before {
  transform-origin: left;
  animation-name: progress-swinging;
}
.ui.sliding.indeterminate.progress .bar::before {
  transform-origin: left;
  animation-name: progress-sliding;
}
.ui.filling.indeterminate.progress .bar::before {
  animation-name: progress-filling;
}
.ui.indeterminate.progress:not(.sliding):not(.filling):not(.swinging) .bar::before {
  background: #FFFFFF;
}
.ui.sliding.indeterminate.progress .bar,
.ui.swinging.indeterminate.progress .bar,
.ui.filling.indeterminate.progress .bar {
  background: rgba(0, 0, 0, 0.1);
}
.ui.sliding.indeterminate.progress .bar .progress,
.ui.swinging.indeterminate.progress .bar .progress {
  color: #1b1c1d;
}
.ui.inverted.sliding.indeterminate.progress .bar,
.ui.inverted.swinging.indeterminate.progress .bar,
.ui.inverted.filling.indeterminate.progress .bar {
  background: rgba(255, 255, 255, 0.08);
}
.ui.inverted.sliding.indeterminate.progress .bar .progress,
.ui.inverted.swinging.indeterminate.progress .bar .progress {
  color: rgba(255, 255, 255, 0.7);
}
@keyframes progress-swinging {
  0%,
  100% {
    width: 10%;
    left: -25%;
  }
  25%,
  65% {
    width: 70%;
  }
  50% {
    width: 10%;
    left: 100%;
  }
}
@keyframes progress-sliding {
  0% {
    width: 10%;
    left: -25%;
  }
  50% {
    width: 70%;
  }
  100% {
    width: 10%;
    left: 100%;
  }
}
@keyframes progress-filling {
  0% {
    transform: scale(0, 1);
  }
  80% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes progress-pulsating {
  0% {
    transform: scale(0, 1);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
/*******************************
            Progress
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Slider
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
             Theme
 *******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
        Slider Variables
*******************************/
/* -------------------
       Element
-------------------- */
/* Track */
/* Track Fill */
/* Thumb */
/* Thumb Hover */
/* -------------------
        States
-------------------- */
/* Disabled */
/* -------------------
      Variations
-------------------- */
/* Highlight */
/* Vertical */
/* Labeled */
/* Hover */
/* Sizing */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
.ui.slider:not(.vertical):not(.checkbox) {
  width: 100%;
  padding: 1em 0.5em;
}
.ui.slider:not(.checkbox) {
  position: relative;
}
.ui.slider:not(.checkbox):focus {
  outline: 0;
}
.ui.slider .inner {
  position: relative;
  z-index: 2;
}
.ui.slider:not(.vertical) .inner {
  height: 1.5em;
}
.ui.slider .inner:hover {
  cursor: auto;
}
.ui.slider .inner .track {
  position: absolute;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.05);
}
.ui.slider:not(.vertical) .inner .track {
  width: 100%;
  height: 0.4em;
  top: 0.55em;
  left: 0;
}
.ui.slider .inner .track-fill {
  position: absolute;
  border-radius: 4px;
  background-color: #1b1c1d;
}
.ui.slider:not(.vertical) .inner .track-fill {
  height: 0.4em;
  top: 0.55em;
  left: 0;
}
.ui.slider .inner .thumb {
  position: absolute;
  left: 0;
  top: 0;
  height: 1.5em;
  width: 1.5em;
  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));
  border-radius: 100%;
  box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  transition: background 0.3s ease;
}
.ui.slider:not(.disabled) .inner .thumb:hover {
  cursor: pointer;
  background: #f2f2f2 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
}
.ui.slider:not(.disabled):focus .inner .thumb {
  background: #f2f2f2 linear-gradient(transparent, rgba(0, 0, 0, 0.05));
}
/*******************************
            States
*******************************/
/* --------------
         Disabled
    --------------- */
.ui.disabled.slider:not(.checkbox) {
  opacity: 0.5;
}
.ui.disabled.slider .inner:hover {
  cursor: auto;
}
.ui.disabled.slider .inner .track-fill {
  background: #ccc;
}
/* --------------
        Reversed
    --------------- */
.ui.reversed.slider .inner .track-fill {
  left: auto;
  right: 0;
}
.ui.reversed.slider:not(.vertical) .inner .thumb {
  left: auto;
  right: 0;
}
.ui.reversed.vertical.slider .inner .thumb {
  left: 0.03em;
}
.ui.labeled.reversed.slider > .labels .label {
  transform: translate(-100%, -100%);
}
/*******************************
           Variations
*******************************/
/* --------------
        Vertical
    --------------- */
.ui.vertical.slider {
  height: 100%;
  width: 1.5em;
  padding: 0.5em 1em;
}
.ui.vertical.slider .inner {
  height: 100%;
}
.ui.vertical.slider .inner .track {
  height: 100%;
  width: 0.4em;
  left: 0.55em;
  top: 0;
}
.ui.vertical.slider .inner .track-fill {
  width: 0.4em;
  left: 0.55em;
  top: 0;
}
/* Vertical Reversed */
.ui.vertical.reversed.slider .inner .thumb {
  top: auto;
  bottom: 0;
}
.ui.vertical.reversed.slider .inner .track-fill {
  top: auto;
  bottom: 0;
}
/* --------------
        Labeled
    --------------- */
.ui.labeled.slider > .labels {
  height: 1.5em;
  width: auto;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}
.ui.labeled.slider:not(.vertical) > .labels {
  transform: translateY(-50%);
}
.ui.labeled.slider > .labels .label {
  display: inline-flex;
  position: absolute;
  transform: translate(-50%, -100%);
  white-space: nowrap;
}
.ui.labeled.slider > .labels .label:not(.ui) {
  padding: 0.2em 0;
}
.ui.bottom.aligned.labeled.slider > .labels .label {
  bottom: 0;
  transform: translate(-50%, 100%);
}
.ui.labeled.ticked.slider > .labels .label::after {
  content: " ";
  height: 1.5em;
  width: 1px;
  background: #ccc;
  position: absolute;
  top: 100%;
  left: 50%;
}
.ui.bottom.aligned.labeled.ticked.slider > .labels .label::after {
  top: auto;
  bottom: 100%;
}
.ui.labeled.slider.bottom.aligned .labels .ui.label {
  margin-bottom: -0.5em;
}
.ui.labeled.ticked.slider.bottom.aligned .labels .ui.label::after {
  margin-bottom: 0.5em;
}
.ui.labeled.ticked.slider > .labels .halftick.label::after {
  height: 0.75em;
}
.ui.inverted.labeled.ticked.slider > .labels .label::after {
  background: #333;
}
.ui.labeled.slider:not(.vertical):not(.bottom) .labels .ui.label {
  margin-top: -0.5em;
}
.ui.labeled.ticked.slider:not(.vertical):not(.bottom) .labels .ui.label::after {
  margin-top: 0.5em;
}
.ui.labeled.ticked.slider:not(.vertical) > .labels .ui.label::after {
  height: 2em;
}
/* Vertical Labels */
.ui.labeled.vertical.slider > .labels {
  width: 1.5em;
  height: auto;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
}
.ui.labeled.vertical.slider > .labels .label {
  transform: translate(-100%, -50%);
}
.ui.labeled.vertical.slider > .labels .label::after {
  width: 1.5em;
  height: 1px;
  left: 100%;
  top: 50%;
}
.ui.labeled.vertical.slider > .labels .halftick.label::after {
  width: 0.75em;
  height: 1px;
}
.ui.labeled.vertical.slider:not(.right) > .labels .halftick.label::after {
  margin-left: 0.6em;
}
/* Vertical Reversed Labels */
.ui.labeled.vertical.reversed.slider > .labels .label {
  transform: translate(-100%, 50%);
}
.ui.labeled.ticked.vertical.slider:not(.right) > .labels .ui.label::after {
  margin-left: 0.3em;
}
.ui.labeled.vertical.right.aligned.slider > .labels {
  transform: translateX(50%);
  left: calc(100% + 0.6em);
}
.ui.labeled.vertical.right.aligned.slider > .labels .label {
  transform: translate(100%, -50%);
  right: 100%;
}
.ui.labeled.vertical.right.aligned.slider > .labels .label::after {
  right: 100%;
  left: auto;
}
.ui.labeled.vertical.right.aligned.slider > .labels .halftick.label::after {
  margin-right: 0.6em;
}
.ui.labeled.vertical.reversed.right.aligned.slider > .labels .label {
  transform: translate(100%, 50%);
}
.ui.labeled.ticked.vertical.right.aligned.slider > .labels .ui.label::after {
  margin-right: 0.3em;
}
/* --------------
    Hover
--------------- */
.ui.hover.slider .inner .thumb {
  opacity: 0;
  transition: opacity 0.2s linear;
}
.ui.hover.slider:not(.disabled):hover .inner .thumb,
.ui.hover.slider:not(.disabled):focus .inner .thumb {
  opacity: 1;
}
/* --------------
        Inverted
    --------------- */
.ui.inverted.slider .inner .track-fill {
  background-color: #545454;
}
.ui.inverted.slider .inner .track {
  background-color: rgba(255, 255, 255, 0.08);
}
.ui.labeled.slider > .active.labels .label {
  transition: all 0.2s ease;
}
.ui.labeled.ticked.slider > .active.labels .active.label::after {
  background: #1b1c1d;
}
.ui.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background: #545454;
}
.ui.labeled.ticked.slider > .active.labels .active.label::after,
.ui.labeled.slider > .active.labels .label:not(.active) {
  opacity: 0.6;
}
/* --------------
     Colors
--------------- */
/* Standard */
.ui.primary.slider .inner .track-fill {
  background-color: #6C3667;
}
.ui.primary.inverted.slider .inner .track-fill {
  background-color: #54c8ff;
}
/* Basic */
.ui.primary.slider.basic .inner .thumb {
  background-color: #6C3667;
}
.ui.primary.slider.basic .inner .thumb:hover,
.ui.primary.slider.basic:focus .inner .thumb {
  background-color: #5d2b59;
}
/* Basic Inverted */
.ui.primary.inverted.slider.basic .inner .thumb {
  background-color: #54c8ff;
}
.ui.primary.inverted.slider.basic .inner .thumb:hover,
.ui.primary.inverted.slider.basic:focus .inner .thumb {
  background-color: #21b8ff;
}
.ui.primary.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #6C3667;
}
.ui.primary.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #54c8ff;
}
/* Standard */
.ui.secondary.slider .inner .track-fill {
  background-color: #88d317;
}
.ui.secondary.inverted.slider .inner .track-fill {
  background-color: #545454;
}
/* Basic */
.ui.secondary.slider.basic .inner .thumb {
  background-color: #88d317;
}
.ui.secondary.slider.basic .inner .thumb:hover,
.ui.secondary.slider.basic:focus .inner .thumb {
  background-color: #98f013;
}
/* Basic Inverted */
.ui.secondary.inverted.slider.basic .inner .thumb {
  background-color: #545454;
}
.ui.secondary.inverted.slider.basic .inner .thumb:hover,
.ui.secondary.inverted.slider.basic:focus .inner .thumb {
  background-color: #6e6e6e;
}
.ui.secondary.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #88d317;
}
.ui.secondary.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #545454;
}
/* Standard */
.ui.red.slider .inner .track-fill {
  background-color: #db2828;
}
.ui.red.inverted.slider .inner .track-fill {
  background-color: #ff695e;
}
/* Basic */
.ui.red.slider.basic .inner .thumb {
  background-color: #db2828;
}
.ui.red.slider.basic .inner .thumb:hover,
.ui.red.slider.basic:focus .inner .thumb {
  background-color: #d01919;
}
/* Basic Inverted */
.ui.red.inverted.slider.basic .inner .thumb {
  background-color: #ff695e;
}
.ui.red.inverted.slider.basic .inner .thumb:hover,
.ui.red.inverted.slider.basic:focus .inner .thumb {
  background-color: #ff392b;
}
.ui.red.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #db2828;
}
.ui.red.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #ff695e;
}
/* Standard */
.ui.orange.slider .inner .track-fill {
  background-color: #f2711c;
}
.ui.orange.inverted.slider .inner .track-fill {
  background-color: #ff851b;
}
/* Basic */
.ui.orange.slider.basic .inner .thumb {
  background-color: #f2711c;
}
.ui.orange.slider.basic .inner .thumb:hover,
.ui.orange.slider.basic:focus .inner .thumb {
  background-color: #f26202;
}
/* Basic Inverted */
.ui.orange.inverted.slider.basic .inner .thumb {
  background-color: #ff851b;
}
.ui.orange.inverted.slider.basic .inner .thumb:hover,
.ui.orange.inverted.slider.basic:focus .inner .thumb {
  background-color: #e76b00;
}
.ui.orange.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #f2711c;
}
.ui.orange.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #ff851b;
}
/* Standard */
.ui.yellow.slider .inner .track-fill {
  background-color: #fbbd08;
}
.ui.yellow.inverted.slider .inner .track-fill {
  background-color: #ffe21f;
}
/* Basic */
.ui.yellow.slider.basic .inner .thumb {
  background-color: #fbbd08;
}
.ui.yellow.slider.basic .inner .thumb:hover,
.ui.yellow.slider.basic:focus .inner .thumb {
  background-color: #eaae00;
}
/* Basic Inverted */
.ui.yellow.inverted.slider.basic .inner .thumb {
  background-color: #ffe21f;
}
.ui.yellow.inverted.slider.basic .inner .thumb:hover,
.ui.yellow.inverted.slider.basic:focus .inner .thumb {
  background-color: #ebcd00;
}
.ui.yellow.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #fbbd08;
}
.ui.yellow.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #ffe21f;
}
/* Standard */
.ui.olive.slider .inner .track-fill {
  background-color: #b5cc18;
}
.ui.olive.inverted.slider .inner .track-fill {
  background-color: #d9e778;
}
/* Basic */
.ui.olive.slider.basic .inner .thumb {
  background-color: #b5cc18;
}
.ui.olive.slider.basic .inner .thumb:hover,
.ui.olive.slider.basic:focus .inner .thumb {
  background-color: #a7bd0d;
}
/* Basic Inverted */
.ui.olive.inverted.slider.basic .inner .thumb {
  background-color: #d9e778;
}
.ui.olive.inverted.slider.basic .inner .thumb:hover,
.ui.olive.inverted.slider.basic:focus .inner .thumb {
  background-color: #d2e745;
}
.ui.olive.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #b5cc18;
}
.ui.olive.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #d9e778;
}
/* Standard */
.ui.green.slider .inner .track-fill {
  background-color: #21ba45;
}
.ui.green.inverted.slider .inner .track-fill {
  background-color: #2ecc40;
}
/* Basic */
.ui.green.slider.basic .inner .thumb {
  background-color: #21ba45;
}
.ui.green.slider.basic .inner .thumb:hover,
.ui.green.slider.basic:focus .inner .thumb {
  background-color: #16ab39;
}
/* Basic Inverted */
.ui.green.inverted.slider.basic .inner .thumb {
  background-color: #2ecc40;
}
.ui.green.inverted.slider.basic .inner .thumb:hover,
.ui.green.inverted.slider.basic:focus .inner .thumb {
  background-color: #1ea92e;
}
.ui.green.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #21ba45;
}
.ui.green.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #2ecc40;
}
/* Standard */
.ui.teal.slider .inner .track-fill {
  background-color: #00b5ad;
}
.ui.teal.inverted.slider .inner .track-fill {
  background-color: #6dffff;
}
/* Basic */
.ui.teal.slider.basic .inner .thumb {
  background-color: #00b5ad;
}
.ui.teal.slider.basic .inner .thumb:hover,
.ui.teal.slider.basic:focus .inner .thumb {
  background-color: #009c95;
}
/* Basic Inverted */
.ui.teal.inverted.slider.basic .inner .thumb {
  background-color: #6dffff;
}
.ui.teal.inverted.slider.basic .inner .thumb:hover,
.ui.teal.inverted.slider.basic:focus .inner .thumb {
  background-color: #3affff;
}
.ui.teal.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #00b5ad;
}
.ui.teal.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #6dffff;
}
/* Standard */
.ui.blue.slider .inner .track-fill {
  background-color: #2185d0;
}
.ui.blue.inverted.slider .inner .track-fill {
  background-color: #54c8ff;
}
/* Basic */
.ui.blue.slider.basic .inner .thumb {
  background-color: #2185d0;
}
.ui.blue.slider.basic .inner .thumb:hover,
.ui.blue.slider.basic:focus .inner .thumb {
  background-color: #1678c2;
}
/* Basic Inverted */
.ui.blue.inverted.slider.basic .inner .thumb {
  background-color: #54c8ff;
}
.ui.blue.inverted.slider.basic .inner .thumb:hover,
.ui.blue.inverted.slider.basic:focus .inner .thumb {
  background-color: #21b8ff;
}
.ui.blue.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #2185d0;
}
.ui.blue.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #54c8ff;
}
/* Standard */
.ui.violet.slider .inner .track-fill {
  background-color: #6435c9;
}
.ui.violet.inverted.slider .inner .track-fill {
  background-color: #a291fb;
}
/* Basic */
.ui.violet.slider.basic .inner .thumb {
  background-color: #6435c9;
}
.ui.violet.slider.basic .inner .thumb:hover,
.ui.violet.slider.basic:focus .inner .thumb {
  background-color: #5829bb;
}
/* Basic Inverted */
.ui.violet.inverted.slider.basic .inner .thumb {
  background-color: #a291fb;
}
.ui.violet.inverted.slider.basic .inner .thumb:hover,
.ui.violet.inverted.slider.basic:focus .inner .thumb {
  background-color: #745aff;
}
.ui.violet.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #6435c9;
}
.ui.violet.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #a291fb;
}
/* Standard */
.ui.purple.slider .inner .track-fill {
  background-color: #a333c8;
}
.ui.purple.inverted.slider .inner .track-fill {
  background-color: #dc73ff;
}
/* Basic */
.ui.purple.slider.basic .inner .thumb {
  background-color: #a333c8;
}
.ui.purple.slider.basic .inner .thumb:hover,
.ui.purple.slider.basic:focus .inner .thumb {
  background-color: #9627ba;
}
/* Basic Inverted */
.ui.purple.inverted.slider.basic .inner .thumb {
  background-color: #dc73ff;
}
.ui.purple.inverted.slider.basic .inner .thumb:hover,
.ui.purple.inverted.slider.basic:focus .inner .thumb {
  background-color: #cf40ff;
}
.ui.purple.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #a333c8;
}
.ui.purple.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #dc73ff;
}
/* Standard */
.ui.pink.slider .inner .track-fill {
  background-color: #e03997;
}
.ui.pink.inverted.slider .inner .track-fill {
  background-color: #ff8edf;
}
/* Basic */
.ui.pink.slider.basic .inner .thumb {
  background-color: #e03997;
}
.ui.pink.slider.basic .inner .thumb:hover,
.ui.pink.slider.basic:focus .inner .thumb {
  background-color: #e61a8d;
}
/* Basic Inverted */
.ui.pink.inverted.slider.basic .inner .thumb {
  background-color: #ff8edf;
}
.ui.pink.inverted.slider.basic .inner .thumb:hover,
.ui.pink.inverted.slider.basic:focus .inner .thumb {
  background-color: #ff5bd1;
}
.ui.pink.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #e03997;
}
.ui.pink.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #ff8edf;
}
/* Standard */
.ui.brown.slider .inner .track-fill {
  background-color: #a5673f;
}
.ui.brown.inverted.slider .inner .track-fill {
  background-color: #d67c1c;
}
/* Basic */
.ui.brown.slider.basic .inner .thumb {
  background-color: #a5673f;
}
.ui.brown.slider.basic .inner .thumb:hover,
.ui.brown.slider.basic:focus .inner .thumb {
  background-color: #975b33;
}
/* Basic Inverted */
.ui.brown.inverted.slider.basic .inner .thumb {
  background-color: #d67c1c;
}
.ui.brown.inverted.slider.basic .inner .thumb:hover,
.ui.brown.inverted.slider.basic:focus .inner .thumb {
  background-color: #b0620f;
}
.ui.brown.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #a5673f;
}
.ui.brown.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #d67c1c;
}
/* Standard */
.ui.grey.slider .inner .track-fill {
  background-color: #767676;
}
.ui.grey.inverted.slider .inner .track-fill {
  background-color: #dcddde;
}
/* Basic */
.ui.grey.slider.basic .inner .thumb {
  background-color: #767676;
}
.ui.grey.slider.basic .inner .thumb:hover,
.ui.grey.slider.basic:focus .inner .thumb {
  background-color: #838383;
}
/* Basic Inverted */
.ui.grey.inverted.slider.basic .inner .thumb {
  background-color: #dcddde;
}
.ui.grey.inverted.slider.basic .inner .thumb:hover,
.ui.grey.inverted.slider.basic:focus .inner .thumb {
  background-color: #c2c4c5;
}
.ui.grey.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #767676;
}
.ui.grey.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #dcddde;
}
/* Standard */
.ui.black.slider .inner .track-fill {
  background-color: #1b1c1d;
}
.ui.black.inverted.slider .inner .track-fill {
  background-color: #545454;
}
/* Basic */
.ui.black.slider.basic .inner .thumb {
  background-color: #1b1c1d;
}
.ui.black.slider.basic .inner .thumb:hover,
.ui.black.slider.basic:focus .inner .thumb {
  background-color: #27292a;
}
/* Basic Inverted */
.ui.black.inverted.slider.basic .inner .thumb {
  background-color: #545454;
}
.ui.black.inverted.slider.basic .inner .thumb:hover,
.ui.black.inverted.slider.basic:focus .inner .thumb {
  background-color: #000000;
}
.ui.black.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #1b1c1d;
}
.ui.black.inverted.labeled.ticked.slider > .active.labels .active.label::after {
  background-color: #545454;
}
/* --------------
         Basic
    --------------- */
/* Standard */
.ui.slider.basic .inner .thumb {
  background-color: #1b1c1d;
}
.ui.slider.basic .inner .thumb:hover,
.ui.slider.basic:focus .inner .thumb {
  background-color: #27292a;
}
/* --------------
          Basic Inverted
        --------------- */
/* Standard */
.ui.inverted.slider.basic .inner .thumb {
  background-color: #545454;
}
.ui.inverted.slider.basic .inner .thumb:hover,
.ui.inverted.slider.basic:focus .inner .thumb {
  background-color: #000000;
}
/* --------------
     Sizing
--------------- */
.ui.slider.small .inner .thumb {
  height: 1em;
  width: 1em;
}
.ui.slider.small:not(.vertical) .inner {
  height: 1em;
}
.ui.slider.small:not(.vertical) .inner .track,
.ui.slider.small:not(.vertical) .inner .track-fill {
  height: 0.3em;
  top: 0.35em;
}
.ui.small.labeled.slider:not(.vertical) > .labels,
.ui.small.labeled.slider:not(.vertical) > .labels .label::after {
  height: 1em;
}
.ui.small.labeled.slider:not(.vertical) > .labels .halftick.label::after {
  height: 0.5em;
}
/* Small Vertical */
.ui.slider.small.vertical .inner {
  width: 1em;
}
.ui.slider.small.vertical .inner .track,
.ui.slider.small.vertical .inner .track-fill {
  width: 0.3em;
  left: 0.35em;
}
.ui.small.labeled.vertical.slider > .labels,
.ui.small.labeled.vertical.slider > .labels .label::after {
  width: 1em;
}
.ui.small.labeled.vertical.slider > .labels .halftick.label::after {
  width: 0.5em;
}
.ui.slider.large .inner .thumb {
  height: 2em;
  width: 2em;
}
.ui.slider.large:not(.vertical) .inner {
  height: 2em;
}
.ui.slider.large:not(.vertical) .inner .track,
.ui.slider.large:not(.vertical) .inner .track-fill {
  height: 0.5em;
  top: 0.75em;
}
.ui.large.labeled.slider:not(.vertical) > .labels,
.ui.large.labeled.slider:not(.vertical) > .labels .label::after {
  height: 2em;
}
.ui.large.labeled.slider:not(.vertical) > .labels .halftick.label::after {
  height: 1em;
}
/* Small Vertical */
.ui.slider.large.vertical .inner {
  width: 2em;
}
.ui.slider.large.vertical .inner .track,
.ui.slider.large.vertical .inner .track-fill {
  width: 0.5em;
  left: 0.75em;
}
.ui.large.labeled.vertical.slider > .labels,
.ui.large.labeled.vertical.slider > .labels .label::after {
  width: 2em;
}
.ui.large.labeled.vertical.slider > .labels .halftick.label::after {
  width: 1em;
}
.ui.slider.big .inner .thumb {
  height: 2.5em;
  width: 2.5em;
}
.ui.slider.big:not(.vertical) .inner {
  height: 2.5em;
}
.ui.slider.big:not(.vertical) .inner .track,
.ui.slider.big:not(.vertical) .inner .track-fill {
  height: 0.6em;
  top: 0.95em;
}
.ui.big.labeled.slider:not(.vertical) > .labels,
.ui.big.labeled.slider:not(.vertical) > .labels .label::after {
  height: 2.5em;
}
.ui.big.labeled.slider:not(.vertical) > .labels .halftick.label::after {
  height: 1.25em;
}
/* Small Vertical */
.ui.slider.big.vertical .inner {
  width: 2.5em;
}
.ui.slider.big.vertical .inner .track,
.ui.slider.big.vertical .inner .track-fill {
  width: 0.6em;
  left: 0.95em;
}
.ui.big.labeled.vertical.slider > .labels,
.ui.big.labeled.vertical.slider > .labels .label::after {
  width: 2.5em;
}
.ui.big.labeled.vertical.slider > .labels .halftick.label::after {
  width: 1.25em;
}
/*******************************
        Slider Overrides
*******************************/
/*!
 * # Fomantic-UI - Rating
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Rating
*******************************/
/* -------------------
        Types
-------------------- */
/* Standard */
/* -------------------
        States
-------------------- */
/* -------------------
      Variations
-------------------- */
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           Rating
*******************************/
.ui.rating {
  display: inline-flex;
  white-space: nowrap;
  vertical-align: baseline;
}
.ui.rating:last-child {
  margin-right: 0;
}
/* Icon */
.ui.rating .icon {
  padding: 0;
  margin: 0;
  text-align: center;
  font-weight: normal;
  font-style: normal;
  flex: 1 0 auto;
  cursor: pointer;
  width: 1.25em;
  height: auto;
  transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;
  line-height: 1;
  backface-visibility: hidden;
}
/*******************************
             Types
*******************************/
/* -------------------
      Standard
-------------------- */
/* Inactive Icon */
.ui.rating .icon {
  background: transparent;
  color: rgba(0, 0, 0, 0.15);
}
/* Active Icon */
.ui.rating .active.icon {
  background: transparent;
  color: rgba(0, 0, 0, 0.85);
}
/* Partially Active Icon */
.ui.rating .icon.partial.active {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
}
/* central override for colors */
.ui.ui.ui.rating .icon.partial.active {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}
/* Selected Icon */
.ui.rating .icon.selected,
.ui.rating .icon.selected.active,
.ui.rating .icon.selected.partial.active {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
  background-clip: unset;
}
/* --------------
     Colors
-------------- */
.ui.primary.rating .active.icon {
  color: #54c8ff;
  text-shadow: 0 -1px 0 #6C3667, -1px 0 0 #6C3667, 0 1px 0 #6C3667, 1px 0 0 #6C3667;
}
.ui.primary.rating .icon.selected,
.ui.primary.rating .icon.selected.active,
.ui.primary.rating .icon.selected.partial.active {
  background: inherit;
  color: #21b8ff;
  text-shadow: 0 -1px 0 #5d2b59, -1px 0 0 #5d2b59, 0 1px 0 #5d2b59, 1px 0 0 #5d2b59;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.primary.rating .icon.partial.active {
  background: linear-gradient(to right, #54c8ff 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #6C3667 0.78px;
}
.ui.secondary.rating .active.icon {
  color: #545454;
  text-shadow: 0 -1px 0 #88d317, -1px 0 0 #88d317, 0 1px 0 #88d317, 1px 0 0 #88d317;
}
.ui.secondary.rating .icon.selected,
.ui.secondary.rating .icon.selected.active,
.ui.secondary.rating .icon.selected.partial.active {
  background: inherit;
  color: #6e6e6e;
  text-shadow: 0 -1px 0 #98f013, -1px 0 0 #98f013, 0 1px 0 #98f013, 1px 0 0 #98f013;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.secondary.rating .icon.partial.active {
  background: linear-gradient(to right, #545454 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #88d317 0.78px;
}
.ui.red.rating .active.icon {
  color: #ff695e;
  text-shadow: 0 -1px 0 #db2828, -1px 0 0 #db2828, 0 1px 0 #db2828, 1px 0 0 #db2828;
}
.ui.red.rating .icon.selected,
.ui.red.rating .icon.selected.active,
.ui.red.rating .icon.selected.partial.active {
  background: inherit;
  color: #ff392b;
  text-shadow: 0 -1px 0 #d01919, -1px 0 0 #d01919, 0 1px 0 #d01919, 1px 0 0 #d01919;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.red.rating .icon.partial.active {
  background: linear-gradient(to right, #ff695e 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #db2828 0.78px;
}
.ui.orange.rating .active.icon {
  color: #ff851b;
  text-shadow: 0 -1px 0 #f2711c, -1px 0 0 #f2711c, 0 1px 0 #f2711c, 1px 0 0 #f2711c;
}
.ui.orange.rating .icon.selected,
.ui.orange.rating .icon.selected.active,
.ui.orange.rating .icon.selected.partial.active {
  background: inherit;
  color: #e76b00;
  text-shadow: 0 -1px 0 #f26202, -1px 0 0 #f26202, 0 1px 0 #f26202, 1px 0 0 #f26202;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.orange.rating .icon.partial.active {
  background: linear-gradient(to right, #ff851b 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #f2711c 0.78px;
}
.ui.yellow.rating .active.icon {
  color: #ffe21f;
  text-shadow: 0 -1px 0 #fbbd08, -1px 0 0 #fbbd08, 0 1px 0 #fbbd08, 1px 0 0 #fbbd08;
}
.ui.yellow.rating .icon.selected,
.ui.yellow.rating .icon.selected.active,
.ui.yellow.rating .icon.selected.partial.active {
  background: inherit;
  color: #ebcd00;
  text-shadow: 0 -1px 0 #eaae00, -1px 0 0 #eaae00, 0 1px 0 #eaae00, 1px 0 0 #eaae00;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.yellow.rating .icon.partial.active {
  background: linear-gradient(to right, #ffe21f 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #fbbd08 0.78px;
}
.ui.olive.rating .active.icon {
  color: #d9e778;
  text-shadow: 0 -1px 0 #b5cc18, -1px 0 0 #b5cc18, 0 1px 0 #b5cc18, 1px 0 0 #b5cc18;
}
.ui.olive.rating .icon.selected,
.ui.olive.rating .icon.selected.active,
.ui.olive.rating .icon.selected.partial.active {
  background: inherit;
  color: #d2e745;
  text-shadow: 0 -1px 0 #a7bd0d, -1px 0 0 #a7bd0d, 0 1px 0 #a7bd0d, 1px 0 0 #a7bd0d;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.olive.rating .icon.partial.active {
  background: linear-gradient(to right, #d9e778 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #b5cc18 0.78px;
}
.ui.green.rating .active.icon {
  color: #2ecc40;
  text-shadow: 0 -1px 0 #21ba45, -1px 0 0 #21ba45, 0 1px 0 #21ba45, 1px 0 0 #21ba45;
}
.ui.green.rating .icon.selected,
.ui.green.rating .icon.selected.active,
.ui.green.rating .icon.selected.partial.active {
  background: inherit;
  color: #1ea92e;
  text-shadow: 0 -1px 0 #16ab39, -1px 0 0 #16ab39, 0 1px 0 #16ab39, 1px 0 0 #16ab39;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.green.rating .icon.partial.active {
  background: linear-gradient(to right, #2ecc40 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #21ba45 0.78px;
}
.ui.teal.rating .active.icon {
  color: #6dffff;
  text-shadow: 0 -1px 0 #00b5ad, -1px 0 0 #00b5ad, 0 1px 0 #00b5ad, 1px 0 0 #00b5ad;
}
.ui.teal.rating .icon.selected,
.ui.teal.rating .icon.selected.active,
.ui.teal.rating .icon.selected.partial.active {
  background: inherit;
  color: #3affff;
  text-shadow: 0 -1px 0 #009c95, -1px 0 0 #009c95, 0 1px 0 #009c95, 1px 0 0 #009c95;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.teal.rating .icon.partial.active {
  background: linear-gradient(to right, #6dffff 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #00b5ad 0.78px;
}
.ui.blue.rating .active.icon {
  color: #54c8ff;
  text-shadow: 0 -1px 0 #2185d0, -1px 0 0 #2185d0, 0 1px 0 #2185d0, 1px 0 0 #2185d0;
}
.ui.blue.rating .icon.selected,
.ui.blue.rating .icon.selected.active,
.ui.blue.rating .icon.selected.partial.active {
  background: inherit;
  color: #21b8ff;
  text-shadow: 0 -1px 0 #1678c2, -1px 0 0 #1678c2, 0 1px 0 #1678c2, 1px 0 0 #1678c2;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.blue.rating .icon.partial.active {
  background: linear-gradient(to right, #54c8ff 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #2185d0 0.78px;
}
.ui.violet.rating .active.icon {
  color: #a291fb;
  text-shadow: 0 -1px 0 #6435c9, -1px 0 0 #6435c9, 0 1px 0 #6435c9, 1px 0 0 #6435c9;
}
.ui.violet.rating .icon.selected,
.ui.violet.rating .icon.selected.active,
.ui.violet.rating .icon.selected.partial.active {
  background: inherit;
  color: #745aff;
  text-shadow: 0 -1px 0 #5829bb, -1px 0 0 #5829bb, 0 1px 0 #5829bb, 1px 0 0 #5829bb;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.violet.rating .icon.partial.active {
  background: linear-gradient(to right, #a291fb 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #6435c9 0.78px;
}
.ui.purple.rating .active.icon {
  color: #dc73ff;
  text-shadow: 0 -1px 0 #a333c8, -1px 0 0 #a333c8, 0 1px 0 #a333c8, 1px 0 0 #a333c8;
}
.ui.purple.rating .icon.selected,
.ui.purple.rating .icon.selected.active,
.ui.purple.rating .icon.selected.partial.active {
  background: inherit;
  color: #cf40ff;
  text-shadow: 0 -1px 0 #9627ba, -1px 0 0 #9627ba, 0 1px 0 #9627ba, 1px 0 0 #9627ba;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.purple.rating .icon.partial.active {
  background: linear-gradient(to right, #dc73ff 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #a333c8 0.78px;
}
.ui.pink.rating .active.icon {
  color: #ff8edf;
  text-shadow: 0 -1px 0 #e03997, -1px 0 0 #e03997, 0 1px 0 #e03997, 1px 0 0 #e03997;
}
.ui.pink.rating .icon.selected,
.ui.pink.rating .icon.selected.active,
.ui.pink.rating .icon.selected.partial.active {
  background: inherit;
  color: #ff5bd1;
  text-shadow: 0 -1px 0 #e61a8d, -1px 0 0 #e61a8d, 0 1px 0 #e61a8d, 1px 0 0 #e61a8d;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.pink.rating .icon.partial.active {
  background: linear-gradient(to right, #ff8edf 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #e03997 0.78px;
}
.ui.brown.rating .active.icon {
  color: #d67c1c;
  text-shadow: 0 -1px 0 #a5673f, -1px 0 0 #a5673f, 0 1px 0 #a5673f, 1px 0 0 #a5673f;
}
.ui.brown.rating .icon.selected,
.ui.brown.rating .icon.selected.active,
.ui.brown.rating .icon.selected.partial.active {
  background: inherit;
  color: #b0620f;
  text-shadow: 0 -1px 0 #975b33, -1px 0 0 #975b33, 0 1px 0 #975b33, 1px 0 0 #975b33;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.brown.rating .icon.partial.active {
  background: linear-gradient(to right, #d67c1c 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #a5673f 0.78px;
}
.ui.grey.rating .active.icon {
  color: #dcddde;
  text-shadow: 0 -1px 0 #767676, -1px 0 0 #767676, 0 1px 0 #767676, 1px 0 0 #767676;
}
.ui.grey.rating .icon.selected,
.ui.grey.rating .icon.selected.active,
.ui.grey.rating .icon.selected.partial.active {
  background: inherit;
  color: #c2c4c5;
  text-shadow: 0 -1px 0 #838383, -1px 0 0 #838383, 0 1px 0 #838383, 1px 0 0 #838383;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.grey.rating .icon.partial.active {
  background: linear-gradient(to right, #dcddde 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #767676 0.78px;
}
.ui.black.rating .active.icon {
  color: #545454;
  text-shadow: 0 -1px 0 #1b1c1d, -1px 0 0 #1b1c1d, 0 1px 0 #1b1c1d, 1px 0 0 #1b1c1d;
}
.ui.black.rating .icon.selected,
.ui.black.rating .icon.selected.active,
.ui.black.rating .icon.selected.partial.active {
  background: inherit;
  color: #000000;
  text-shadow: 0 -1px 0 #27292a, -1px 0 0 #27292a, 0 1px 0 #27292a, 1px 0 0 #27292a;
  -webkit-text-stroke: unset;
  background-clip: unset;
}
.ui.black.rating .icon.partial.active {
  background: linear-gradient(to right, #545454 0% var(--full), rgba(0, 0, 0, 0.15) var(--full) 100%);
  -webkit-text-stroke: #1b1c1d 0.78px;
}
/*******************************
             States
*******************************/
/* -------------------
           Disabled
    -------------------- */
/* disabled rating */
.ui.disabled.rating .icon {
  cursor: default;
  pointer-events: none;
}
/* -------------------
   User Interactive
-------------------- */
/* Selected Rating */
.ui.rating.selected .active.icon {
  opacity: 1;
}
.ui.rating.selected .icon.selected,
.ui.rating .icon.selected {
  opacity: 1;
}
/*******************************
          Variations
*******************************/
.ui.rating {
  font-size: 1rem;
}
.ui.mini.rating {
  font-size: 0.78571429rem;
}
.ui.tiny.rating {
  font-size: 0.85714286rem;
}
.ui.small.rating {
  font-size: 0.92857143rem;
}
.ui.large.rating {
  font-size: 1.14285714rem;
}
.ui.big.rating {
  font-size: 1.28571429rem;
}
.ui.huge.rating {
  font-size: 1.42857143rem;
}
.ui.massive.rating {
  font-size: 2rem;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Search
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Search
*******************************/
/* Search Prompt */
/* Mobile */
/* Result Box */
/* Result */
/* Result Image */
/* Result Content */
/* Result Scrolling */
/* Description */
/* Price */
/* Special Message */
/* All Results Link */
/*******************************
            States
*******************************/
/* Focus */
/* Hover */
/* Loading */
/* Active Category */
/* Active Result */
/*******************************
            Types
*******************************/
/* Clearable */
/*
 * Times icon taken from Font Awesome Free 5.15.4 by @fontawesome [https://fontawesome.com]
 * License - https://fontawesome.com/license/free
 */
/* Category */
/* Resizable */
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
             Search
*******************************/
.ui.search {
  position: relative;
}
.ui.search > .prompt {
  margin: 0;
  outline: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  text-shadow: none;
  font-style: normal;
  font-weight: normal;
  line-height: 1.21428571em;
  padding: 0.67857143em 1em;
  font-size: 1em;
  background: #FFFFFF;
  border: 1px solid rgba(34, 36, 38, 0.15);
  color: rgba(0, 0, 0, 0.87);
  box-shadow: 0 0 0 0 transparent inset;
  transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;
}
.ui.search .prompt {
  border-radius: 500rem;
}
/* --------------
     Icon
--------------- */
.ui.search .prompt ~ .search.icon {
  cursor: pointer;
}
/* --------------
    Results
--------------- */
.ui.search > .results {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: center top;
  white-space: normal;
  text-align: left;
  text-transform: none;
  background: #fff;
  margin-top: 0.5em;
  width: 18em;
  border-radius: 0.28571429rem;
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
  border: 1px solid #d4d4d5;
  z-index: 998;
}
.ui.search > .results > :first-child {
  border-radius: 0.28571429rem 0.28571429rem 0 0;
}
.ui.search > .results > :last-child {
  border-radius: 0 0 0.28571429rem 0.28571429rem;
}
/* --------------
    Result
--------------- */
.ui.search > .results .result {
  cursor: pointer;
  display: block;
  overflow: hidden;
  font-size: 1em;
  padding: 0.85714286em 1.14285714em;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.33;
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.search > .results .result:last-child {
  border-bottom: none !important;
}
/* Image */
.ui.search > .results .result .image {
  float: right;
  overflow: hidden;
  background: none;
  width: 5em;
  height: 3em;
  border-radius: 0.25em;
}
.ui.search > .results .result .image img {
  display: block;
  width: auto;
  height: 100%;
}
/* --------------
      Info
--------------- */
.ui.search > .results .result .image + .content {
  margin: 0 6em 0 0;
}
.ui.search > .results .result .title {
  margin: -0.14285714em 0 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.85);
}
.ui.search > .results .result .description {
  margin-top: 0;
  font-size: 0.92857143em;
  color: rgba(0, 0, 0, 0.4);
}
.ui.search > .results .result .price {
  float: right;
  color: #21ba45;
}
/* --------------
    Message
--------------- */
.ui.search > .results > .message {
  padding: 1em 1em;
}
.ui.search > .results > .message .header {
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
}
.ui.search > .results > .message .description {
  margin-top: 0.25rem;
  font-size: 1em;
  color: rgba(0, 0, 0, 0.87);
}
/* View All Results */
.ui.search > .results > .action {
  display: block;
  border-top: none;
  background: #f3f4f5;
  padding: 0.92857143em 1em;
  color: rgba(0, 0, 0, 0.87);
  font-weight: bold;
  text-align: center;
}
/*******************************
            States
*******************************/
/* --------------------
       Focus
--------------------- */
.ui.search > .prompt:focus {
  border-color: rgba(34, 36, 38, 0.35);
  background: #FFFFFF;
  color: rgba(0, 0, 0, 0.95);
}
/* --------------------
           Loading
    --------------------- */
.ui.loading.search .input > i.icon::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}
.ui.loading.search .input > i.icon::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -0.64285714em 0 0 -0.64285714em;
  width: 1.28571429em;
  height: 1.28571429em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
}
/* --------------
      Hover
--------------- */
.ui.search > .results .result:hover,
.ui.category.search > .results .category .result:hover {
  background: #f9fafb;
}
.ui.search .action:hover:not(div) {
  background: #e0e0e0;
}
/* --------------
      Active
--------------- */
.ui.category.search > .results .category.active {
  background: #f3f4f5;
}
.ui.category.search > .results .category.active > .name {
  color: rgba(0, 0, 0, 0.87);
}
.ui.search > .results .result.active,
.ui.category.search > .results .category .result.active {
  position: relative;
  border-left-color: rgba(34, 36, 38, 0.1);
  background: #f3f4f5;
  box-shadow: none;
}
.ui.search > .results .result.active .title {
  color: rgba(0, 0, 0, 0.85);
}
.ui.search > .results .result.active .description {
  color: rgba(0, 0, 0, 0.85);
}
/* --------------------
            Disabled
    ---------------------- */
/* Disabled */
.ui.disabled.search {
  cursor: default;
  pointer-events: none;
  opacity: 0.45;
}
/*******************************
           Types
*******************************/
/* --------------
        Clear Icon
    --------------- */
.ui.search > .icon.input > .remove.icon {
  pointer-events: all;
  transition: opacity 0.1s ease;
  cursor: pointer;
  opacity: 0.6;
}
.ui.search > .icon.input > .remove.icon:hover {
  opacity: 1;
}
.ui.search > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
  right: 1.85714em;
}
.ui.search input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  cursor: pointer;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
  opacity: 0.6;
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 352 512%27%3E%3Cpath d=%27M242.7 256l100.1-100.1c12.3-12.3 12.3-32.2 0-44.5l-22.2-22.2c-12.3-12.3-32.2-12.3-44.5 0L176 189.3 75.9 89.2c-12.3-12.3-32.2-12.3-44.5 0L9.2 111.5c-12.3 12.3-12.3 32.2 0 44.5L109.3 256 9.2 356.1c-12.3 12.3-12.3 32.2 0 44.5l22.2 22.2c12.3 12.3 32.2 12.3 44.5 0L176 322.7l100.1 100.1c12.3 12.3 32.2 12.3 44.5 0l22.2-22.2c12.3-12.3 12.3-32.2 0-44.5L242.7 256z%27/%3E%3C/svg%3E") no-repeat;
  height: 1em;
  width: 1em;
}
.ui.search input[type="search"]::-webkit-search-cancel-button:hover {
  opacity: 1;
}
.ui.loading.search input[type="search"]::-webkit-search-cancel-button {
  display: none;
}
.ui.search > .icon.input > input:-moz-placeholder ~ .remove.icon {
  display: none;
}
.ui.search > .icon.input > input:placeholder-shown ~ .remove.icon,
.ui.search.loading > .icon.input > .remove.icon {
  display: none;
}
.ui.search > .icon.input > input:-ms-input-placeholder ~ .remove.icon {
  display: none;
}
/* --------------
        Category
    --------------- */
.ui.category.search .results {
  width: 28em;
}
.ui.category.search .results.animating,
.ui.category.search .results.visible {
  display: table;
}
/* Category */
.ui.category.search > .results .category {
  display: table-row;
  background: #f3f4f5;
  box-shadow: none;
  transition: background 0.1s ease, border-color 0.1s ease;
}
/* Last Category */
.ui.category.search > .results .category:last-child {
  border-bottom: none;
}
/* First / Last */
.ui.category.search > .results .category:first-child .name + .result {
  border-radius: 0 0.28571429rem 0 0;
}
.ui.category.search > .results .category:last-child .result:last-child {
  border-radius: 0 0 0.28571429rem 0;
}
/* Category Result Name */
.ui.category.search > .results .category > .name {
  display: table-cell;
  text-overflow: ellipsis;
  width: 100px;
  white-space: nowrap;
  background: transparent;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1em;
  padding: 0.4em 1em;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
}
/* Category Result */
.ui.category.search > .results .category .results {
  display: table-cell;
  background: #FFFFFF;
  border-left: 1px solid rgba(34, 36, 38, 0.15);
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
}
.ui.category.search > .results .category .result {
  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
  transition: background 0.1s ease, border-color 0.1s ease;
  padding: 0.85714286em 1.14285714em;
}
.ui.horizontal.category.search > .results .category,
.ui.horizontal.category.search > .results .category > .name,
.ui.horizontal.category.search > .results .category > .results {
  display: block;
}
.ui.horizontal.category.search > .results .category > .results {
  width: 100%;
  border-left: 0;
}
/*******************************
           Variations
*******************************/
/* -------------------
         Scrolling
    -------------------- */
.ui.scrolling.search > .results,
.ui.search.long > .results,
.ui.search.short > .results {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  backface-visibility: hidden;
}
@media only screen and (max-width: 767.98px) {
  .ui.scrolling.search > .results {
    max-height: 12.17714286em;
  }
  .resizable.ui.scrolling.search > .results {
    height: 12.17714286em;
  }
}
@media only screen and (min-width: 768px) {
  .ui.scrolling.search > .results {
    max-height: 18.26571429em;
  }
  .resizable.ui.scrolling.search > .results {
    height: 18.26571429em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.scrolling.search > .results {
    max-height: 24.35428571em;
  }
  .resizable.ui.scrolling.search > .results {
    height: 24.35428571em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.scrolling.search > .results {
    max-height: 36.53142857em;
  }
  .resizable.ui.scrolling.search > .results {
    height: 36.53142857em;
  }
}
.ui.scrolling.resizable.search > .results {
  resize: vertical;
  max-height: none;
}
@media only screen and (max-width: 767.98px) {
  .ui.search.short > .results {
    max-height: 12.17714286em;
  }
  .ui.search[class*="very short"] > .results {
    max-height: 9.13285714em;
  }
  .ui.search.long > .results {
    max-height: 24.35428571em;
  }
  .ui.search[class*="very long"] > .results {
    max-height: 36.53142857em;
  }
}
@media only screen and (min-width: 768px) {
  .ui.search.short > .results {
    max-height: 18.26571429em;
  }
  .ui.search[class*="very short"] > .results {
    max-height: 13.69928571em;
  }
  .ui.search.long > .results {
    max-height: 36.53142857em;
  }
  .ui.search[class*="very long"] > .results {
    max-height: 54.79714286em;
  }
}
@media only screen and (min-width: 992px) {
  .ui.search.short > .results {
    max-height: 24.35428571em;
  }
  .ui.search[class*="very short"] > .results {
    max-height: 18.26571429em;
  }
  .ui.search.long > .results {
    max-height: 48.70857143em;
  }
  .ui.search[class*="very long"] > .results {
    max-height: 73.06285714em;
  }
}
@media only screen and (min-width: 1920px) {
  .ui.search.short > .results {
    max-height: 36.53142857em;
  }
  .ui.search[class*="very short"] > .results {
    max-height: 27.39857143em;
  }
  .ui.search.long > .results {
    max-height: 73.06285714em;
  }
  .ui.search[class*="very long"] > .results {
    max-height: 109.59428571em;
  }
}
/* -------------------
         Left / Right
    -------------------- */
.ui[class*="left aligned"].search > .results {
  right: auto;
  left: 0;
}
.ui[class*="right aligned"].search > .results {
  right: 0;
  left: auto;
}
/* --------------
    Fluid
--------------- */
.ui.fluid.search .results {
  width: 100%;
}
/* --------------
      Sizes
--------------- */
.ui.search {
  font-size: 1em;
}
.ui.mini.search {
  font-size: 0.78571429em;
}
.ui.tiny.search {
  font-size: 0.85714286em;
}
.ui.small.search {
  font-size: 0.92857143em;
}
.ui.large.search {
  font-size: 1.14285714em;
}
.ui.big.search {
  font-size: 1.28571429em;
}
.ui.huge.search {
  font-size: 1.42857143em;
}
.ui.massive.search {
  font-size: 1.71428571em;
}
/* --------------
      Mobile
--------------- */
@media only screen and (max-width: 767.98px) {
  .ui.search .results {
    max-width: calc(100vw - 2rem);
  }
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Shape
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Shape
*******************************/
/* Animating */
/* Side */
/* --------------
      Types
--------------- */
/* Cube */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
              Shape
*******************************/
.ui.shape {
  position: relative;
  vertical-align: top;
  display: inline-block;
  perspective: 2000px;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;
}
.ui.shape .side,
.ui.shape .sides {
  transform-style: preserve-3d;
}
.ui.shape .side {
  display: none;
  opacity: 1;
  width: 100%;
  margin: 0 !important;
  backface-visibility: hidden;
}
.ui.shape .side * {
  backface-visibility: visible !important;
}
/*******************************
             Types
*******************************/
.ui.cube.shape .side {
  min-width: 15em;
  height: 15em;
  padding: 2em;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}
.ui.cube.shape .side > .content {
  width: 100%;
  height: 100%;
  display: table;
  text-align: center;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
.ui.cube.shape .side > .content > div {
  display: table-cell;
  vertical-align: middle;
  font-size: 2em;
}
/*******************************
          Variations
*******************************/
.ui.text.shape.animating .sides {
  position: static;
}
.ui.text.shape .side {
  white-space: nowrap;
}
.ui.text.shape .side > * {
  white-space: normal;
}
/*******************************
             States
*******************************/
/* --------------
        Loading
    --------------- */
.ui.loading.shape {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
/* --------------
    Animating
--------------- */
.ui.shape .animating.side {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  z-index: 100;
}
.ui.shape .hidden.side {
  opacity: 0.6;
}
/* --------------
      CSS
--------------- */
.ui.shape.animating .sides {
  position: absolute;
  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;
}
.ui.shape.animating .side {
  transition: opacity 0.6s ease-in-out;
}
.ui.shape .animating.side *,
.ui.shape.animating .side * {
  transition: none;
}
/* --------------
     Active
--------------- */
.ui.shape .active.side {
  display: block;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Sidebar
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
             Sidebar
*******************************/
/* -------------------
       Content
-------------------- */
/* Animation */
/* Dimmer */
/* Color below page */
/* Shadow */
/* Layering */
/* -------------------
      Variations
-------------------- */
/* Width */
/* Height */
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Sidebar
*******************************/
/* Sidebar Menu */
.ui.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  transition: none;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  visibility: hidden;
  height: 100% !important;
  max-height: 100%;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: none;
  z-index: 102;
}
/* GPU Layers for Child Elements */
.ui.sidebar > * {
  backface-visibility: hidden;
}
/* --------------
   Direction
--------------- */
.ui.left.sidebar {
  right: auto;
  left: 0;
  transform: translate3d(-100%, 0, 0);
}
.ui.right.sidebar {
  right: 0 !important;
  left: auto !important;
  transform: translate3d(100%, 0, 0);
}
.ui.top.sidebar,
.ui.bottom.sidebar {
  width: 100% !important;
  height: auto !important;
}
.ui.top.sidebar {
  top: 0 !important;
  bottom: auto !important;
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.sidebar {
  top: auto !important;
  bottom: 0 !important;
  transform: translate3d(0, 100%, 0);
}
/* --------------
     Pushable
--------------- */
.pushable.pushable.pushable {
  height: 100%;
  overflow-x: hidden;
  padding: 0;
}
.pushable.pushable.pushable.locked {
  overflow-y: hidden;
  background: inherit;
}
/* Whole Page */
body.pushable {
  background: #545454;
}
body.pushable.dimmed {
  background: inherit;
}
/* Page Context */
.pushable:not(body) {
  transform: translate3d(0, 0, 0);
  overflow-y: hidden;
}
.pushable:not(body) > .ui.sidebar,
.pushable:not(body) > .fixed,
.pushable:not(body) > .pusher::after {
  position: absolute;
}
/* --------------
     Fixed
--------------- */
.pushable > .fixed {
  position: fixed;
  backface-visibility: hidden;
  transition: transform 500ms ease;
  will-change: transform;
  z-index: 101;
}
/* --------------
     Page
--------------- */
.pushable > .pusher {
  position: relative;
  backface-visibility: hidden;
  min-height: 100%;
  transition: transform 500ms ease;
  z-index: 2;
  /* Pusher should inherit background from context */
  background: inherit;
}
.pushable > .pusher:not(.overflowing) {
  overflow: hidden;
}
body.pushable > .pusher {
  background: #fff;
}
/* --------------
     Dimmer
--------------- */
.pushable > .pusher::after {
  position: fixed;
  top: 0;
  right: 0;
  content: "";
  background: rgba(0, 0, 0, 0.4);
  overflow: hidden;
  opacity: 0;
  transition: all 500ms;
  will-change: opacity;
  z-index: 1000;
}
/* --------------
    Coupling
--------------- */
.ui.sidebar.menu .item {
  border-radius: 0 !important;
}
/*******************************
            States
*******************************/
/* --------------
     Dimmed
--------------- */
.pushable > .pusher.dimmed::after {
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
}
.pushable > .pusher.dimmed.blurring:not(.closing)::after {
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(5px) grayscale(0.7);
  backdrop-filter: blur(5px) grayscale(0.7);
}
.pushable > .pusher.closing.dimmed::after {
  opacity: 0 !important;
}
/* --------------
    Animating
--------------- */
.ui.animating.sidebar {
  visibility: visible;
}
/* --------------
     Visible
--------------- */
.ui.visible.sidebar {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
/* Shadow Direction */
.ui.left.visible.sidebar,
.ui.right.visible.sidebar {
  box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
}
.ui.top.visible.sidebar,
.ui.bottom.visible.sidebar {
  box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
}
/* Visible On Load */
.ui.visible.left.sidebar ~ .fixed,
.ui.visible.left.sidebar ~ .pusher {
  transform: translate3d(260px, 0, 0);
}
.ui.visible.right.sidebar ~ .fixed,
.ui.visible.right.sidebar ~ .pusher {
  transform: translate3d(-260px, 0, 0);
}
.ui.visible.top.sidebar ~ .fixed,
.ui.visible.top.sidebar ~ .pusher {
  transform: translate3d(0, 36px, 0);
}
.ui.visible.bottom.sidebar ~ .fixed,
.ui.visible.bottom.sidebar ~ .pusher {
  transform: translate3d(0, -36px, 0);
}
/* opposite sides visible forces content overlay */
.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,
.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {
  transform: translate3d(0, 0, 0);
}
/* --------------
       iOS
--------------- */
/*******************************
          Variations
*******************************/
/* --------------
     Width
--------------- */
/* Left / Right */
.ui.thin.left.sidebar,
.ui.thin.right.sidebar {
  width: 150px;
}
.ui[class*="very thin"].left.sidebar,
.ui[class*="very thin"].right.sidebar {
  width: 60px;
}
.ui.left.sidebar,
.ui.right.sidebar {
  width: 260px;
}
.ui.wide.left.sidebar,
.ui.wide.right.sidebar {
  width: 350px;
}
.ui[class*="very wide"].left.sidebar,
.ui[class*="very wide"].right.sidebar {
  width: 475px;
}
/* Left Visible */
.ui.visible.thin.left.sidebar ~ .fixed,
.ui.visible.thin.left.sidebar ~ .pusher {
  transform: translate3d(150px, 0, 0);
}
.ui.visible[class*="very thin"].left.sidebar ~ .fixed,
.ui.visible[class*="very thin"].left.sidebar ~ .pusher {
  transform: translate3d(60px, 0, 0);
}
.ui.visible.wide.left.sidebar ~ .fixed,
.ui.visible.wide.left.sidebar ~ .pusher {
  transform: translate3d(350px, 0, 0);
}
.ui.visible[class*="very wide"].left.sidebar ~ .fixed,
.ui.visible[class*="very wide"].left.sidebar ~ .pusher {
  transform: translate3d(475px, 0, 0);
}
/* Right Visible */
.ui.visible.thin.right.sidebar ~ .fixed,
.ui.visible.thin.right.sidebar ~ .pusher {
  transform: translate3d(-150px, 0, 0);
}
.ui.visible[class*="very thin"].right.sidebar ~ .fixed,
.ui.visible[class*="very thin"].right.sidebar ~ .pusher {
  transform: translate3d(-60px, 0, 0);
}
.ui.visible.wide.right.sidebar ~ .fixed,
.ui.visible.wide.right.sidebar ~ .pusher {
  transform: translate3d(-350px, 0, 0);
}
.ui.visible[class*="very wide"].right.sidebar ~ .fixed,
.ui.visible[class*="very wide"].right.sidebar ~ .pusher {
  transform: translate3d(-475px, 0, 0);
}
/*******************************
          Animations
*******************************/
/* --------------
        Overlay
    --------------- */
/* Set-up */
.ui.overlay.sidebar {
  z-index: 102;
}
/* Initial */
.ui.left.overlay.sidebar {
  transform: translate3d(-100%, 0, 0);
}
.ui.right.overlay.sidebar {
  transform: translate3d(100%, 0, 0);
}
.ui.top.overlay.sidebar {
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.overlay.sidebar {
  transform: translate3d(0, 100%, 0);
}
/* Animation */
.animating.ui.overlay.sidebar,
.ui.visible.overlay.sidebar {
  transition: transform 500ms ease;
}
/* End - Sidebar */
.ui.visible.left.overlay.sidebar {
  transform: translate3d(0, 0, 0);
}
.ui.visible.right.overlay.sidebar {
  transform: translate3d(0, 0, 0);
}
.ui.visible.top.overlay.sidebar {
  transform: translate3d(0, 0, 0);
}
.ui.visible.bottom.overlay.sidebar {
  transform: translate3d(0, 0, 0);
}
/* End - Pusher */
.ui.visible.overlay.sidebar ~ .fixed,
.ui.visible.overlay.sidebar ~ .pusher {
  transform: none !important;
}
/* --------------
          Push
    --------------- */
/* Initial */
.ui.push.sidebar {
  transition: transform 500ms ease;
  z-index: 102;
}
/* Sidebar - Initial */
.ui.left.push.sidebar {
  transform: translate3d(-100%, 0, 0);
}
.ui.right.push.sidebar {
  transform: translate3d(100%, 0, 0);
}
.ui.top.push.sidebar {
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.push.sidebar {
  transform: translate3d(0, 100%, 0);
}
/* End */
.ui.visible.push.sidebar {
  transform: translate3d(0, 0, 0);
}
/* --------------
        Uncover
    --------------- */
/* Initial */
.ui.uncover.sidebar {
  transform: translate3d(0, 0, 0);
  z-index: 1;
}
/* End */
.ui.visible.uncover.sidebar {
  transform: translate3d(0, 0, 0);
  transition: transform 500ms ease;
}
/* --------------
       Slide Along
    --------------- */
/* Initial */
.ui.slide.along.sidebar {
  z-index: 1;
}
/* Sidebar - Initial */
.ui.left.slide.along.sidebar {
  transform: translate3d(-50%, 0, 0);
}
.ui.right.slide.along.sidebar {
  transform: translate3d(50%, 0, 0);
}
.ui.top.slide.along.sidebar {
  transform: translate3d(0, -50%, 0);
}
.ui.bottom.slide.along.sidebar {
  transform: translate3d(0, 50%, 0);
}
/* Animation */
.ui.animating.slide.along.sidebar {
  transition: transform 500ms ease;
}
/* End */
.ui.visible.slide.along.sidebar {
  transform: translate3d(0, 0, 0);
}
/* --------------
       Slide Out
    --------------- */
/* Initial */
.ui.slide.out.sidebar {
  z-index: 1;
}
/* Sidebar - Initial */
.ui.left.slide.out.sidebar {
  transform: translate3d(50%, 0, 0);
}
.ui.right.slide.out.sidebar {
  transform: translate3d(-50%, 0, 0);
}
.ui.top.slide.out.sidebar {
  transform: translate3d(0, 50%, 0);
}
.ui.bottom.slide.out.sidebar {
  transform: translate3d(0, -50%, 0);
}
/* Animation */
.ui.animating.slide.out.sidebar {
  transition: transform 500ms ease;
}
/* End */
.ui.visible.slide.out.sidebar {
  transform: translate3d(0, 0, 0);
}
/* --------------
       Scale Down
    --------------- */
/* Initial */
.ui.scale.down.sidebar {
  transition: transform 500ms ease;
  z-index: 102;
}
.ui.left.scale.down.sidebar {
  transform: translate3d(-100%, 0, 0);
}
.ui.right.scale.down.sidebar {
  transform: translate3d(100%, 0, 0);
}
.ui.top.scale.down.sidebar {
  transform: translate3d(0, -100%, 0);
}
.ui.bottom.scale.down.sidebar {
  transform: translate3d(0, 100%, 0);
}
/* Pusher - Initial */
.ui.scale.down.left.sidebar ~ .pusher {
  transform-origin: 75% 50%;
}
.ui.scale.down.right.sidebar ~ .pusher {
  transform-origin: 25% 50%;
}
.ui.scale.down.top.sidebar ~ .pusher {
  transform-origin: 50% 75%;
}
.ui.scale.down.bottom.sidebar ~ .pusher {
  transform-origin: 50% 25%;
}
/* Animation */
.ui.animating.scale.down > .visible.ui.sidebar {
  transition: transform 500ms ease;
}
.ui.visible.scale.down.sidebar ~ .pusher,
.ui.animating.scale.down.sidebar ~ .pusher {
  display: block !important;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}
/* End */
.ui.visible.scale.down.sidebar {
  transform: translate3d(0, 0, 0);
}
.ui.visible.scale.down.sidebar ~ .pusher {
  transform: scale(0.75);
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Sticky
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Sticky
*******************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
         Site Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
            Sticky
*******************************/
.ui.sticky {
  position: static;
  transition: none;
  z-index: 800;
}
/*******************************
            States
*******************************/
/* Bound */
.ui.sticky.bound {
  position: absolute;
  left: auto;
  right: auto;
}
/* Fixed */
.ui.sticky.fixed {
  position: fixed;
  left: auto;
  right: auto;
}
/* Bound/Fixed Position */
.ui.sticky.bound.top,
.ui.sticky.fixed.top {
  top: 0;
  bottom: auto;
}
.ui.sticky.bound.bottom,
.ui.sticky.fixed.bottom {
  top: auto;
  bottom: 0;
}
/*******************************
            Types
*******************************/
.ui.native.sticky {
  position: sticky;
}
/*******************************
         Theme Overrides
*******************************/
/*******************************
         Site Overrides
*******************************/
/*!
 * # Fomantic-UI - Tab
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
              Tab
*******************************/
/* Loading */
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
           UI Tabs
*******************************/
.ui.tab {
  display: none;
}
/*******************************
             States
*******************************/
/* --------------------
       Active
--------------------- */
.ui.tab.active,
.ui.tab.open {
  display: block;
}
/* --------------------
           Loading
    --------------------- */
.ui.tab.loading {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 250px;
}
.ui.tab.loading * {
  position: relative !important;
  left: -10000px !important;
}
.ui.tab.loading::before,
.ui.tab.loading.segment::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1.25em 0 0 -1.25em;
  width: 2.5em;
  height: 2.5em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}
.ui.tab.loading::after,
.ui.tab.loading.segment::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -1.25em 0 0 -1.25em;
  width: 2.5em;
  height: 2.5em;
  animation: loader 0.6s infinite linear;
  border: 0.2em solid #767676;
  border-radius: 500rem;
  box-shadow: 0 0 0 1px transparent;
}
/*******************************
         Tab Overrides
*******************************/
/*******************************
        User Overrides
*******************************/
/*!
 * # Fomantic-UI - Toast
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
            Toast
*******************************/
/* Container */
/* Toast */
/* Mobile */
/* on Hover */
/* Color variations */
/* Icon */
/* Image */
/* Progressbar Colors */
/* Close Icon */
/* Actions */
/* Packaged Theme */
/* Site Theme */
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
        Toast container
*******************************/
.ui.toast-container {
  position: fixed;
  z-index: 9999;
}
.ui.toast-container.absolute {
  position: absolute;
}
.ui.toast-container.ui.attached {
  width: 100%;
  left: 0;
}
.ui.toast-container.ui.attached .vertical.attached {
  border-radius: 0;
}
.ui.toast-container.ui.attached.ui.ui .attached.actions .button {
  border-radius: 0;
}
.ui.toast-container.ui.attached .toast-box {
  margin: 0;
  width: 100%;
  border-radius: 0;
}
.ui.toast-container.ui.attached .toast-box > .ui.toast,
.ui.toast-container.ui.attached .toast-box > .ui.message {
  margin-left: 0;
}
.ui.toast-container.ui.attached .toast-box.floating,
.ui.toast-container.ui.attached .toast-box.hoverfloating:hover {
  border: none;
}
.ui.toast-container.ui.attached .toast-box > .vertical > .content {
  flex: 1;
}
.ui.toast-container.ui.attached .toast-box > * {
  width: 100%;
  border-radius: 0;
}
.ui.toast-container.ui.attached .toast-box > * > .vertical:not(.actions) {
  flex: 1;
}
.ui.toast-container.ui.attached .toast-box > .attached.actions {
  margin-right: 1px;
}
.ui.toast-container.ui.attached.top {
  top: 0;
}
.ui.toast-container.ui.attached.bottom {
  bottom: 0;
}
.ui.toast-container.top.right {
  top: 0.85714286em;
  right: 0.85714286em;
  margin-left: 0.85714286em;
}
.ui.toast-container.top.left {
  top: 0.85714286em;
  left: 0.85714286em;
  margin-right: 0.85714286em;
}
.ui.toast-container.top.center {
  left: 50%;
  transform: translate(-50%, 0);
  top: 0.85714286em;
}
.ui.toast-container.bottom.right {
  bottom: 0.85714286em;
  right: 0.85714286em;
  margin-left: 0.85714286em;
}
.ui.toast-container.bottom.left {
  bottom: 0.85714286em;
  left: 0.85714286em;
  margin-right: 0.85714286em;
}
.ui.toast-container.bottom.center {
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0.85714286em;
}
.ui.toast-container.centered {
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.ui.toast-container .visible.toast-box,
.ui.toast-container .animating.toast-box,
.ui.toast-container .toast-box {
  display: table !important;
}
.ui.toast-container.horizontal {
  display: flex;
  flex-direction: row;
}
.ui.toast-container.horizontal .toast-box {
  margin-right: 0.5em;
}
.ui.toast-container .toast-box {
  margin-bottom: 0.5em;
  border-radius: 0.28571429rem;
  cursor: default;
  will-change: transform, opacity;
}
.ui.toast-container .toast-box:hover {
  opacity: 1;
}
.ui.toast-container .toast-box:not(.unclickable):hover {
  cursor: pointer;
}
.ui.toast-container .toast-box.floating,
.ui.toast-container .toast-box.hoverfloating:hover {
  box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
  border: 1px solid rgba(34, 36, 38, 0.12);
}
.ui.toast-container .toast-box.inverted.floating,
.ui.toast-container .toast-box.inverted.hoverfloating:hover {
  box-shadow: 0 2px 4px 0 rgba(225, 225, 225, 0.1), 0 2px 10px 0 rgba(225, 225, 225, 0.5);
  border: 1px solid rgba(225, 225, 225, 0.5);
}
.ui.toast-container .toast-box.compact,
.ui.toast-container .toast-box > .compact {
  width: 350px;
}
.ui.toast-container .toast-box > .ui.toast,
.ui.toast-container .toast-box > .ui.message {
  margin: 0 -1px -0.01em;
  position: relative;
}
.ui.toast-container .toast-box > .attached.progress {
  z-index: 1;
}
.ui.toast-container .toast-box > .attached.progress.bottom {
  margin: -0.2em -1px -0.01em;
}
.ui.toast-container .toast-box > .attached.progress.top {
  margin: -0.01em -1px -0.2em;
}
.ui.toast-container .toast-box > .attached.progress .bar {
  min-width: 0;
}
.ui.toast-container .toast-box > .attached.progress.info .bar.bar.bar {
  background: #12a1bf;
}
.ui.toast-container .toast-box > .attached.progress.warning .bar.bar.bar {
  background: #cf9b0d;
}
.ui.toast-container .toast-box > .attached.progress.success .bar.bar.bar {
  background: #15792d;
}
.ui.toast-container .toast-box > .attached.progress.error .bar.bar.bar {
  background: #9c1a1a;
}
.ui.toast-container .toast-box > .attached.progress.neutral .bar.bar.bar {
  background: #d9d9d9;
}
.ui.toast-container .toast-box > .ui.message > .close.icon {
  top: 0.3em;
  right: 0.3em;
}
.ui.toast-container .toast-box > .ui.message > .actions:last-child {
  margin-bottom: -1em;
}
.ui.toast-container .toast-box > .ui.message.icon {
  align-items: inherit;
}
.ui.toast-container .toast-box > .ui.message.icon > :not(.icon):not(.actions) {
  padding-left: 5rem;
}
.ui.toast-container .toast-box > .ui.message.icon > i.icon:not(.close) {
  display: inline-block;
  position: absolute;
  width: 4rem;
  top: 50%;
  transform: translateY(-50%);
}
.ui.toast-container .toast-box > .ui.message.icon:not(.vertical).actions > i.icon:not(.close) {
  top: calc(50% - 1.2em);
  transform: none;
}
.ui.toast-container .toast-box > .ui.message.icon:not(.vertical).icon.icon.icon {
  display: block;
}
.ui.toast-container .toast-box .ui.toast > .close.icon {
  cursor: pointer;
  margin: 0;
  opacity: 0.7;
  transition: opacity 0.1s ease;
}
.ui.toast-container .toast-box .ui.toast > .close.icon:hover {
  opacity: 1;
}
.ui.toast-container .toast-box .ui.toast.vertical > .close.icon {
  margin-top: -0.3em;
  margin-right: -0.3em;
}
.ui.toast-container .toast-box .ui.toast:not(.vertical) > .close.icon {
  position: absolute;
  top: 0.3em;
}
.ui.toast-container .toast-box .ui.toast:not(.vertical) > .close.icon:not(.left) {
  right: 0.3em;
}
.ui.toast-container .toast-box .ui.toast:not(.vertical) > .close.icon.left {
  margin-left: -0.3em;
}
.ui.toast-container .toast-box .ui.card {
  margin: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).bottom {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).bottom.horizontal > .image > img {
  border-top-left-radius: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).bottom.horizontal > .image:last-child > img {
  border-top-right-radius: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).top {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).top.horizontal > .image > img {
  border-bottom-left-radius: 0;
}
.ui.toast-container .toast-box .ui.card.attached:not(.vertical).top.horizontal > .image:last-child > img {
  border-bottom-right-radius: 0;
}
.ui.toast-container .toast-box .ui.card.horizontal.actions > .image > img {
  border-bottom-left-radius: 0;
}
.ui.toast-container .toast-box .ui.card.horizontal.actions > .image:last-child > img {
  border-bottom-right-radius: 0;
}
.ui.toast-container .toast-box .progressing {
  animation-iteration-count: 1;
  animation-timing-function: linear;
}
.ui.toast-container .toast-box .progressing.up {
  animation-name: progressUp;
}
.ui.toast-container .toast-box .progressing.down {
  animation-name: progressDown;
}
.ui.toast-container .toast-box .progressing.wait {
  animation-name: progressWait;
}
.ui.toast-container .toast-box:hover .pausable.progressing {
  animation-play-state: paused;
}
.ui.toast-container .toast-box .ui.toast:not(.vertical) {
  display: block;
}
.ui.toast-container .toast-box :not(.comment):not(.card) .actions {
  margin: 0.5em -1em -1em -1em;
}
.ui.toast-container .toast-box :not(.comment) .actions {
  padding: 0.5em 0.5em 0.75em 0.5em;
  text-align: right;
}
.ui.toast-container .toast-box :not(.comment) .actions.attached:not(.vertical) {
  margin-right: 1px;
}
.ui.toast-container .toast-box :not(.comment) .actions:not(.basic):not(.attached) {
  background: rgba(255, 255, 255, 0.25);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
.ui.toast-container .toast-box :not(.comment) .actions.left {
  text-align: left;
}
.ui.toast-container .toast-box .vertical.actions > .button,
.ui.toast-container .toast-box > .vertical > .vertical.vertical,
.ui.toast-container .toast-box > .vertical.vertical.vertical {
  display: flex;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions {
  flex-direction: column;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions > .button {
  justify-content: center;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions.attached > .button {
  align-items: center;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions:not(.attached) {
  border-top: 0;
  margin-top: -0.75em;
  margin-bottom: -0.75em;
  margin-left: 1em;
  justify-content: space-around;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions:not(.attached):not(.basic) {
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions:not(.attached) > .button:not(:last-child) {
  margin-bottom: 0.3em;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions:not(.attached).top {
  justify-content: flex-start;
}
.ui.toast-container .toast-box :not(.comment) .vertical.actions:not(.attached).bottom {
  justify-content: flex-end;
}
.ui.vertical.attached:not(.left).card > .image > img {
  border-top-right-radius: 0;
}
.ui.vertical.attached:not(.left).card.horizontal > .image:last-child > img {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.vertical.attached:not(.left).card,
.ui.vertical.attached:not(.left).toast {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.vertical.attached:not(.left).actions {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.vertical.attached:not(.left).actions .button:first-child,
.ui.vertical.attached:not(.left).actions .button:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui.vertical.attached:not(.left).message {
  border-top-right-radius: 0;
  border-bottom-left-radius: 0.28571429rem;
}
.ui.vertical.attached.left.card > .image > img {
  border-top-left-radius: 0;
}
.ui.vertical.attached.left.card.horizontal > .image > img {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui.vertical.attached.left.card,
.ui.vertical.attached.left.toast {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ui.vertical.attached.left.actions {
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}
.ui.vertical.attached.left.actions .button:first-child,
.ui.vertical.attached.left.actions .button:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.vertical.attached.left.message.message.message {
  border-top-right-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.attached:not(.vertical):not(.top).actions {
  border-bottom-left-radius: 0.28571429rem;
  border-bottom-right-radius: 0.28571429rem;
}
.ui.attached:not(.vertical):not(.top).actions .button:first-child {
  border-bottom-left-radius: 0.28571429rem;
}
.ui.attached:not(.vertical):not(.top).actions .button:last-child {
  border-bottom-right-radius: 0.28571429rem;
}
.ui.attached:not(.vertical).top.actions {
  border-top-left-radius: 0.28571429rem;
  border-top-right-radius: 0.28571429rem;
}
.ui.attached:not(.vertical).top.actions .button:first-child {
  border-top-left-radius: 0.28571429rem;
}
.ui.attached:not(.vertical).top.actions .button:last-child {
  border-top-right-radius: 0.28571429rem;
}
/*******************************
            Toast
*******************************/
.ui.toast {
  display: none;
  border-radius: 0.28571429rem;
  padding: 0.78571429em 1em;
  margin: 0 -1px -0.01em;
  color: rgba(0, 0, 0, 0.87);
  background-color: #FFFFFF;
}
.ui.toast > .content > .header {
  font-weight: bold;
  color: inherit;
  margin: 0;
}
.ui.toast.info {
  background-color: #31ccec;
  color: rgba(255, 255, 255, 0.9);
}
.ui.toast.warning {
  background-color: #f2c037;
  color: rgba(255, 255, 255, 0.9);
}
.ui.toast.success {
  background-color: #21ba45;
  color: rgba(255, 255, 255, 0.9);
}
.ui.toast.error {
  background-color: #db2828;
  color: rgba(255, 255, 255, 0.9);
}
.ui.toast.neutral {
  background-color: #FFFFFF;
  color: rgba(0, 0, 0, 0.87);
}
.ui.toast > i.icon:not(.close) {
  font-size: 1.5em;
}
.ui.toast:not(.vertical):not(.centered):not(.center) > i.icon:not(.close) {
  position: absolute;
}
.ui.toast:not(.vertical):not(.centered):not(.center) > .ui.image {
  position: absolute;
}
.ui.toast:not(.vertical) > i.icon:not(.close) + .content {
  padding-left: 3em;
}
.ui.toast:not(.vertical) > .close.icon + .content {
  padding-left: 1.5em;
}
.ui.toast:not(.vertical) > .ui.image.avatar + .content {
  padding-left: 3em;
  min-height: 2em;
}
.ui.toast:not(.vertical) > .ui.image.mini + .content {
  padding-left: 3.4em;
  min-height: 35px;
}
.ui.toast:not(.vertical) > .ui.image.tiny + .content {
  padding-left: 7em;
  min-height: 80px;
}
.ui.toast:not(.vertical) > .ui.image.small + .content {
  padding-left: 12em;
  min-height: 150px;
}
.ui.toast:not(.vertical):not(.centered):not(.center) > .centered.image,
.ui.toast:not(.vertical):not(.centered):not(.center) > .centered.icon {
  transform: translateY(-50%);
  top: 50%;
}
.ui.toast:not(.vertical).actions > .centered.image {
  top: calc(50% - 2em);
}
.ui.toast:not(.vertical).actions > .centered.icon {
  top: calc(50% - 1.2em);
}
.ui.toast.vertical > .content {
  flex-grow: 1;
}
.ui.toast.vertical.attached {
  flex-grow: 1;
}
.ui.toast.vertical > .close.icon + .content {
  padding-left: 1em;
}
.ui.toast.vertical > .ui.image + .content,
.ui.toast.vertical > i.icon:not(.close) + .content {
  padding-left: 1em;
}
.ui.toast.vertical > .ui.image {
  align-self: flex-start;
  flex-shrink: 0;
  /* IE11 fix */
}
.ui.toast.vertical > .centered.image,
.ui.toast.vertical > .centered.icon {
  align-self: center;
}
.ui.toast.attached.bottom {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ui.toast.attached.top {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui.toast.ui.ui.ui.image {
  padding: 0;
}
.ui.toast.ui.ui.ui.image > .content {
  padding-top: 0.78571429em;
  padding-bottom: 0.78571429em;
  padding-right: 1em;
}
.ui.toast.ui.ui.ui.image > .actions {
  margin: 0;
}
.ui.toast.ui.ui.ui.image > .ui.image {
  border-top-left-radius: 0.28571429rem;
  border-bottom-left-radius: 0.28571429rem;
}
.ui.toast.ui.ui.ui.image > .ui.image.mini {
  min-width: calc(0.7857142857142857em + 35px);
}
.ui.toast.ui.ui.ui.image > .ui.image.mini + .content {
  min-height: calc(0.7857142857142857em + 35px);
  padding-left: 4.4em;
}
.ui.hoverfloating.message:hover {
  box-shadow: 0 0 0 1px inset, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.ui.center.toast-container .toast-box,
.ui.right.toast-container .toast-box {
  margin-left: auto;
}
.ui.center.toast-container .toast-box {
  margin-right: auto;
}
.ui.ui.toast-container .toast-box .centered.toast,
.ui.ui.toast-container .toast-box .center.aligned.toast {
  text-align: center;
  display: flex;
  justify-content: center;
}
.ui.ui.toast-container .toast-box .centered.toast > .content,
.ui.ui.toast-container .toast-box .center.aligned.toast > .content,
.ui.ui.toast-container .toast-box .centered.toast > .ui.image,
.ui.ui.toast-container .toast-box .center.aligned.toast > .ui.image,
.ui.ui.toast-container .toast-box .centered.toast > i.icon:not(.close),
.ui.ui.toast-container .toast-box .center.aligned.toast > i.icon:not(.close) {
  align-self: center;
}
.ui.toast-container .toast-box .toast .centered.content,
.ui.toast-container .toast-box .toast .center.aligned.content {
  text-align: center;
}
.ui.toast-container .toast-box .centered.actions,
.ui.toast-container .toast-box .center.aligned.actions {
  text-align: center;
}
.ui.toast-container .toast-box .centered.actions:not(.attached) > .button:not(.fluid),
.ui.toast-container .toast-box .center.aligned.actions:not(.attached) > .button:not(.fluid) {
  margin-left: 0.25em;
  margin-right: 0.25em;
}
/* --------------
     Colors
-------------- */
.ui.primary.toast {
  background-color: #6C3667;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.primary.toast,
.ui.toast-container .toast-box > .inverted.primary.attached.progress .bar {
  background-color: #54c8ff;
  color: rgba(0, 0, 0, 0.87);
}
.ui.secondary.toast {
  background-color: #88d317;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.secondary.toast,
.ui.toast-container .toast-box > .inverted.secondary.attached.progress .bar {
  background-color: #545454;
  color: rgba(0, 0, 0, 0.87);
}
.ui.red.toast {
  background-color: #db2828;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.red.toast,
.ui.toast-container .toast-box > .inverted.red.attached.progress .bar {
  background-color: #ff695e;
  color: rgba(0, 0, 0, 0.87);
}
.ui.orange.toast {
  background-color: #f2711c;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.orange.toast,
.ui.toast-container .toast-box > .inverted.orange.attached.progress .bar {
  background-color: #ff851b;
  color: rgba(0, 0, 0, 0.87);
}
.ui.yellow.toast {
  background-color: #fbbd08;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.yellow.toast,
.ui.toast-container .toast-box > .inverted.yellow.attached.progress .bar {
  background-color: #ffe21f;
  color: rgba(0, 0, 0, 0.87);
}
.ui.olive.toast {
  background-color: #b5cc18;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.olive.toast,
.ui.toast-container .toast-box > .inverted.olive.attached.progress .bar {
  background-color: #d9e778;
  color: rgba(0, 0, 0, 0.87);
}
.ui.green.toast {
  background-color: #21ba45;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.green.toast,
.ui.toast-container .toast-box > .inverted.green.attached.progress .bar {
  background-color: #2ecc40;
  color: rgba(0, 0, 0, 0.87);
}
.ui.teal.toast {
  background-color: #00b5ad;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.teal.toast,
.ui.toast-container .toast-box > .inverted.teal.attached.progress .bar {
  background-color: #6dffff;
  color: rgba(0, 0, 0, 0.87);
}
.ui.blue.toast {
  background-color: #2185d0;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.blue.toast,
.ui.toast-container .toast-box > .inverted.blue.attached.progress .bar {
  background-color: #54c8ff;
  color: rgba(0, 0, 0, 0.87);
}
.ui.violet.toast {
  background-color: #6435c9;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.violet.toast,
.ui.toast-container .toast-box > .inverted.violet.attached.progress .bar {
  background-color: #a291fb;
  color: rgba(0, 0, 0, 0.87);
}
.ui.purple.toast {
  background-color: #a333c8;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.purple.toast,
.ui.toast-container .toast-box > .inverted.purple.attached.progress .bar {
  background-color: #dc73ff;
  color: rgba(0, 0, 0, 0.87);
}
.ui.pink.toast {
  background-color: #e03997;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.pink.toast,
.ui.toast-container .toast-box > .inverted.pink.attached.progress .bar {
  background-color: #ff8edf;
  color: rgba(0, 0, 0, 0.87);
}
.ui.brown.toast {
  background-color: #a5673f;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.brown.toast,
.ui.toast-container .toast-box > .inverted.brown.attached.progress .bar {
  background-color: #d67c1c;
  color: rgba(0, 0, 0, 0.87);
}
.ui.grey.toast {
  background-color: #767676;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.grey.toast,
.ui.toast-container .toast-box > .inverted.grey.attached.progress .bar {
  background-color: #dcddde;
  color: rgba(0, 0, 0, 0.87);
}
.ui.black.toast {
  background-color: #1b1c1d;
  color: rgba(255, 255, 255, 0.9);
}
.ui.inverted.black.toast,
.ui.toast-container .toast-box > .inverted.black.attached.progress .bar {
  background-color: #545454;
  color: rgba(0, 0, 0, 0.87);
}
.ui.inverted.toast {
  color: rgba(255, 255, 255, 0.9);
  background-color: #1b1c1d;
}
@media only screen and (max-width: 420px) {
  .ui.toast-container .toast-box.toast-box,
  .ui.toast-container .toast-box > .compact,
  .ui.toast-container .toast-box > .vertical > *,
  .ui.toast-container .toast-box > * {
    width: auto;
    max-width: 100%;
  }
  .ui.toast-container .toast-box > *:not(.vertical) {
    min-width: 280px;
  }
  .ui.toast-container .toast-box > .ui.card.horizontal,
  .ui.toast-container .toast-box > .vertical > .ui.horizontal.card {
    min-width: initial;
  }
}
/* ---------------
   Progress Bar
 ---------------- */
@keyframes progressDown {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}
@keyframes progressUp {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes progressWait {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*******************************
         Theme Overrides
*******************************/
/*!
 * # Fomantic-UI - Transition
 * https://github.com/fomantic/Fomantic-UI/
 *
 *
 * Released under the MIT license
 * https://opensource.org/licenses/MIT
 *
 */
/*******************************
            Theme
*******************************/
/*

████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝
   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝

*/
/*******************************
        Theme Selection
*******************************/
/* To override a theme for an individual element
   specify theme name below
*/
/* Global */
/* Elements */
/* Collections */
/* Modules */
/* Views */
/*******************************
            Folders
*******************************/
/* Path to theme packages */
/* Path to site override folder */
/*******************************
         Import Theme
*******************************/
/*******************************
        Import Directives
*******************************/
/* ------------------
       Theme
------------------- */
/* --------------------
   Site Variables
--------------------- */
/* Default site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Packaged site.variables */
/*******************************
         Site Settings
*******************************/
/***********************************************************
  Central element variation compilation enablers
***********************************************************/
/* General */
/*******************************
           Elements
*******************************/
/* Button */
/* Container */
/* Divider */
/* Header */
/* Icon */
/* Font Awesome Pro only */
/* Font Awesome Pro only */
/* Image */
/* Input */
/* Label */
/* List */
/* Loader */
/* Placeholder */
/* Rail */
/* Reveal */
/* Segment */
/* Step */
/* Text */
/*******************************
           Collections
*******************************/
/* Breadcrumb */
/* Form */
/* Grid */
/* Menu */
/* Message */
/* Table */
/*******************************
             Views
*******************************/
/* Ad */
/* Card */
/* Comment */
/* Feed */
/* Item */
/* Statistic */
/*******************************
            Modules
*******************************/
/* Accordion */
/* Calendar */
/* Checkbox */
/* Dimmer */
/* Dropdown */
/* Embed */
/* Flyout */
/* Modal */
/* Nag */
/* Popup */
/* Progress */
/* Rating */
/* Search */
/* Shape */
/* Sidebar */
/* Slider */
/* Tab */
/* Toast */
/* Transition */
/* Emojis */
/* -------------------
       Fonts
-------------------- */
/* -------------------
      Base Sizes
-------------------- */
/* This is the single variable that controls them all */
/* The size of page text */
/* -------------------
    Border Radius
-------------------- */
/* See Power-user section below
   for explanation of @px variables
*/
/* -------------------
    Brand Colors
-------------------- */
/* Whenever a color needs to get calculated (screen()/multiply()) out of a base color */
/* --------------
  Page Heading
--------------- */
/* --------------
   Form Input
--------------- */
/* This adjusts the default form input across all elements */
/* Input Text Color */
/* Line Height Default For Inputs in Browser (Descenders are 17px at 14px base em) */
/* -------------------
    Focused Input
-------------------- */
/* Used on inputs, textarea etc */
/* Used on dropdowns, other larger blocks */
/* -------------------
        Sizes
-------------------- */
/*
  Sizes are all expressed in terms of 14px/em (default em)
  This ensures these "ratios" remain constant despite changes in EM
*/
/* -------------------
        Page
-------------------- */
/* -------------------
      Paragraph
-------------------- */
/* -------------------
       Links
-------------------- */
/* -------------------
    Scroll Bars
-------------------- */
/* Inverted */
/* IE needs hex values */
/* Scrolling */
/* -------------------
  Highlighted Text
-------------------- */
/* -------------------
       Loader
-------------------- */
/* -------------------
        Grid
-------------------- */
/* -------------------
     Transitions
-------------------- */
/* -------------------
     Breakpoints
-------------------- */
/* -------------------
      Site Colors
-------------------- */
/* ---  Colors  --- */
/* ---  Light Colors  --- */
/* ---   Neutrals  --- */
/* --- Colored Backgrounds --- */
/* --- Colored Headers --- */
/* --- Colored Text --- */
/* --- Light Colored Text --- */
/* --- Hovered Colored Text --- */
/* --- Colored Border --- */
/* --- Shadows --- */
/* Inverted */
/* Box Shadows */
/* -------------------
     Alpha Colors
-------------------- */
/* -------------------
       Accents
-------------------- */
/* Differentiating Neutrals */
/* Differentiating Layers */
/*******************************
           Power-User
*******************************/
/* -------------------
    Emotive Colors
-------------------- */
/* Positive */
/* Negative */
/* Info */
/* Warning */
/* -------------------
        Paths
-------------------- */
/* For source only. Modified in gulp for dist */
/* -------------------
       Em Sizes
-------------------- */
/*
  This rounds @size values to the closest pixel then expresses that value in (r)em.
  This ensures all size values round to exact pixels
*/
/* em */
/* rem */
/* -------------------
       Icons
-------------------- */
/* Maximum Glyph Width of Icon */
/* -------------------
     Neutral Text
-------------------- */
/* -------------------
     Brand Colors
-------------------- */
/* -------------------
      Borders
-------------------- */
/* -------------------
    Derived Values
-------------------- */
/* Loaders Position Offset */
/* Rendered Scrollbar Width */
/* Maximum Single Character Glyph Width, aka Capital "W" */
/* Used to match floats with text */
/* Header Spacing */
/* Minimum Mobile Width */
/* Positive / Negative Dupes */
/* Responsive */
/* -------------------
  Exact Pixel Values
-------------------- */
/*
  These are used to specify exact pixel values in em
  for things like borders that remain constantly
  sized as emSize adjusts

  Since there are many more sizes than names for sizes,
  these are named by their original pixel values.

*/
/* Columns */
/*******************************
             States
*******************************/
/* -------------------
      Disabled
-------------------- */
/* -------------------
        Hover
-------------------- */
/* ---  Shadows  --- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Focus
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
    Down (:active)
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* -------------------
        Active
-------------------- */
/* ---  Colors  --- */
/* ---  Emotive  --- */
/* ---  Brand   --- */
/* ---  Dark Tones  --- */
/* ---  Light Tones  --- */
/* ---  Tertiary  --- */
/* ---  Bright  --- */
/*******************************
 States shared in Form-related components
 *******************************/
/* Form state */
/* Input state */
/* AutoFill */
/* Dropdown state */
/* Focused state */
/* Placeholder state */
/* Component's site.variables */
/* Site theme site.variables */
/*******************************
     User Global Variables
*******************************/
/*-------------------
    Brand Colors
--------------------*/
/*-------------------
      Site Colors
--------------------*/
/* -------------------
 Component Variables
--------------------- */
/* Default */
/*******************************
          Transition
*******************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
    User Variable Overrides
*******************************/
/* -------------------------
    Central Color Map
------------------------- */
/* Default */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged colors.less */
/***********************************************************
  Central Color Mapping Base for all components to iterate
***********************************************************/
/***********************************************************
  Color Mapping Base for form components to iterate
***********************************************************/
/* Packaged Theme */
/* Site Theme */
/*******************************
             Mix-ins
*******************************/
/* ------------------
       Fonts
------------------- */
/* ------------------
     Overrides
------------------- */
/* End Config */
/*******************************
          Transitions
*******************************/
.transition {
  animation-iteration-count: 1;
  animation-duration: 300ms;
  animation-timing-function: ease;
  animation-fill-mode: both;
}
/*******************************
            States
*******************************/
/* Animating */
.animating.transition {
  backface-visibility: hidden;
  visibility: visible !important;
}
/* Loading */
.loading.transition {
  position: absolute;
  top: -99999px;
  left: -99999px;
}
/* Hidden */
.hidden.transition {
  display: none;
  visibility: hidden;
}
/* Visible */
.visible.transition {
  display: block !important;
  visibility: visible !important;
  /* backface-visibility: @backfaceVisibility;
      transform: @use3DAcceleration; */
}
/* Disabled */
.disabled.transition {
  animation-play-state: paused;
}
/*******************************
          Variations
*******************************/
.looping.transition {
  animation-iteration-count: infinite;
}
/* Pulsating */
.pulsating.transition {
  animation-name: pulsating;
  animation-duration: 2000ms;
  box-shadow: 0 0 0 0 rgba(128, 128, 128, 0.5);
}
.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
}
@keyframes pulsating {
  100% {
    box-shadow: 0 0 0 0.8rem rgba(255, 255, 255, 0);
  }
}
.primary.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(108, 54, 103, 0.5);
}
.primary.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(84, 200, 255, 0.7);
}
.secondary.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(136, 211, 23, 0.5);
}
.secondary.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(84, 84, 84, 0.7);
}
.red.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(219, 40, 40, 0.5);
}
.red.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(255, 105, 94, 0.7);
}
.orange.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(242, 113, 28, 0.5);
}
.orange.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(255, 133, 27, 0.7);
}
.yellow.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(251, 189, 8, 0.5);
}
.yellow.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(255, 226, 31, 0.7);
}
.olive.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(181, 204, 24, 0.5);
}
.olive.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(217, 231, 120, 0.7);
}
.green.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(33, 186, 69, 0.5);
}
.green.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(46, 204, 64, 0.7);
}
.teal.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(0, 181, 173, 0.5);
}
.teal.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(109, 255, 255, 0.7);
}
.blue.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(33, 133, 208, 0.5);
}
.blue.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(84, 200, 255, 0.7);
}
.violet.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(100, 53, 201, 0.5);
}
.violet.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(162, 145, 251, 0.7);
}
.purple.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(163, 51, 200, 0.5);
}
.purple.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(220, 115, 255, 0.7);
}
.pink.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(224, 57, 151, 0.5);
}
.pink.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(255, 142, 223, 0.7);
}
.brown.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(165, 103, 63, 0.5);
}
.brown.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(214, 124, 28, 0.7);
}
.grey.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(118, 118, 118, 0.5);
}
.grey.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(220, 221, 222, 0.7);
}
.black.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(27, 28, 29, 0.5);
}
.black.inverted.pulsating.transition {
  box-shadow: 0 0 0 0 rgba(84, 84, 84, 0.7);
}
/*******************************
          Transitions
*******************************/
/*
  Some transitions adapted from Animate CSS
  https://github.com/daneden/animate.css

  Additional transitions adapted from Glide
  by Nick Pettit - https://github.com/nickpettit/glide
*/
/* --------------
         Browse
    --------------- */
.transition.browse {
  animation-duration: 500ms;
}
.transition.browse.in {
  animation-name: browseIn;
}
.transition.browse.out,
.transition.browse.left.out {
  animation-name: browseOutLeft;
}
.transition.browse.right.out {
  animation-name: browseOutRight;
}
/* In */
@keyframes browseIn {
  0% {
    transform: scale(0.8) translateZ(0);
    z-index: -1;
  }
  10% {
    transform: scale(0.8) translateZ(0);
    z-index: -1;
    opacity: 0.7;
  }
  80% {
    transform: scale(1.05) translateZ(0);
    opacity: 1;
    z-index: 999;
  }
  100% {
    transform: scale(1) translateZ(0);
    z-index: 999;
  }
}
/* Out */
@keyframes browseOutLeft {
  0% {
    z-index: 999;
    transform: translateX(0) rotateY(0) rotateX(0);
  }
  50% {
    z-index: -1;
    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }
  80% {
    opacity: 1;
  }
  100% {
    z-index: -1;
    transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px);
    opacity: 0;
  }
}
@keyframes browseOutRight {
  0% {
    z-index: 999;
    transform: translateX(0) rotateY(0) rotateX(0);
  }
  50% {
    z-index: 1;
    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
  }
  80% {
    opacity: 1;
  }
  100% {
    z-index: 1;
    transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px);
    opacity: 0;
  }
}
/* --------------
         Drop
    --------------- */
.drop.transition {
  transform-origin: top center;
  animation-duration: 400ms;
  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);
}
.drop.transition.in {
  animation-name: dropIn;
}
.drop.transition.out {
  animation-name: dropOut;
}
/* Drop */
@keyframes dropIn {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes dropOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0);
  }
}
/* --------------
          Fade
    --------------- */
.transition.fade.in {
  animation-name: fadeIn;
}
.transition[class*="fade up"].in {
  animation-name: fadeInUp;
}
.transition[class*="fade down"].in {
  animation-name: fadeInDown;
}
.transition[class*="fade left"].in {
  animation-name: fadeInLeft;
}
.transition[class*="fade right"].in {
  animation-name: fadeInRight;
}
.transition.fade.out {
  animation-name: fadeOut;
}
.transition[class*="fade up"].out {
  animation-name: fadeOutUp;
}
.transition[class*="fade down"].out {
  animation-name: fadeOutDown;
}
.transition[class*="fade left"].out {
  animation-name: fadeOutLeft;
}
.transition[class*="fade right"].out {
  animation-name: fadeOutRight;
}
/* In */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(-10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* Out */
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(5%);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-5%);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(5%);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-5%);
  }
}
/* --------------
         Flips
    --------------- */
.flip.transition.in,
.flip.transition.out {
  animation-duration: 600ms;
}
.horizontal.flip.transition.in {
  animation-name: horizontalFlipIn;
}
.horizontal.flip.transition.out {
  animation-name: horizontalFlipOut;
}
.vertical.flip.transition.in {
  animation-name: verticalFlipIn;
}
.vertical.flip.transition.out {
  animation-name: verticalFlipOut;
}
/* In */
@keyframes horizontalFlipIn {
  0% {
    transform: perspective(2000px) rotateY(-90deg);
    opacity: 0;
  }
  100% {
    transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }
}
@keyframes verticalFlipIn {
  0% {
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }
  100% {
    transform: perspective(2000px) rotateX(0);
    opacity: 1;
  }
}
/* Out */
@keyframes horizontalFlipOut {
  0% {
    transform: perspective(2000px) rotateY(0);
    opacity: 1;
  }
  100% {
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0;
  }
}
@keyframes verticalFlipOut {
  0% {
    transform: perspective(2000px) rotateX(0);
    opacity: 1;
  }
  100% {
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0;
  }
}
/* --------------
          Scale
    --------------- */
.scale.transition.in {
  animation-name: scaleIn;
}
.scale.transition.out {
  animation-name: scaleOut;
}
@keyframes scaleIn {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/* Out */
@keyframes scaleOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
/* --------------
          Fly
    --------------- */
/* Inward */
.transition.fly {
  animation-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.transition.fly.in {
  animation-name: flyIn;
}
.transition[class*="fly up"].in {
  animation-name: flyInUp;
}
.transition[class*="fly down"].in {
  animation-name: flyInDown;
}
.transition[class*="fly left"].in {
  animation-name: flyInLeft;
}
.transition[class*="fly right"].in {
  animation-name: flyInRight;
}
/* Outward */
.transition.fly.out {
  animation-name: flyOut;
}
.transition[class*="fly up"].out {
  animation-name: flyOutUp;
}
.transition[class*="fly down"].out {
  animation-name: flyOutDown;
}
.transition[class*="fly left"].out {
  animation-name: flyOutLeft;
}
.transition[class*="fly right"].out {
  animation-name: flyOutRight;
}
/* In */
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@keyframes flyInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 1500px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes flyInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -1500px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  100% {
    transform: none;
  }
}
@keyframes flyInLeft {
  0% {
    opacity: 0;
    transform: translate3d(1500px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    transform: none;
  }
}
@keyframes flyInRight {
  0% {
    opacity: 0;
    transform: translate3d(-1500px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  100% {
    transform: none;
  }
}
/* Out */
@keyframes flyOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes flyOutUp {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes flyOutDown {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes flyOutRight {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes flyOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
/* --------------
         Slide
    --------------- */
.transition.slide.in,
.transition[class*="slide down"].in {
  animation-name: slideInY;
  transform-origin: top center;
}
.transition[class*="slide up"].in {
  animation-name: slideInY;
  transform-origin: bottom center;
}
.transition[class*="slide left"].in {
  animation-name: slideInX;
  transform-origin: right center;
}
.transition[class*="slide right"].in {
  animation-name: slideInX;
  transform-origin: left center;
}
.transition.slide.out,
.transition[class*="slide down"].out {
  animation-name: slideOutY;
  transform-origin: top center;
}
.transition[class*="slide up"].out {
  animation-name: slideOutY;
  transform-origin: bottom center;
}
.transition[class*="slide left"].out {
  animation-name: slideOutX;
  transform-origin: right center;
}
.transition[class*="slide right"].out {
  animation-name: slideOutX;
  transform-origin: left center;
}
/* In */
@keyframes slideInY {
  0% {
    opacity: 0;
    transform: scaleY(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(1);
  }
}
@keyframes slideInX {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  100% {
    opacity: 1;
    transform: scaleX(1);
  }
}
/* Out */
@keyframes slideOutY {
  0% {
    opacity: 1;
    transform: scaleY(1);
  }
  100% {
    opacity: 0;
    transform: scaleY(0);
  }
}
@keyframes slideOutX {
  0% {
    opacity: 1;
    transform: scaleX(1);
  }
  100% {
    opacity: 0;
    transform: scaleX(0);
  }
}
/* --------------
         Swing
    --------------- */
.transition.swing {
  animation-duration: 800ms;
}
.transition[class*="swing down"].in {
  animation-name: swingInX;
  transform-origin: top center;
}
.transition[class*="swing up"].in {
  animation-name: swingInX;
  transform-origin: bottom center;
}
.transition[class*="swing left"].in {
  animation-name: swingInY;
  transform-origin: right center;
}
.transition[class*="swing right"].in {
  animation-name: swingInY;
  transform-origin: left center;
}
.transition.swing.out,
.transition[class*="swing down"].out {
  animation-name: swingOutX;
  transform-origin: top center;
}
.transition[class*="swing up"].out {
  animation-name: swingOutX;
  transform-origin: bottom center;
}
.transition[class*="swing left"].out {
  animation-name: swingOutY;
  transform-origin: right center;
}
.transition[class*="swing right"].out {
  animation-name: swingOutY;
  transform-origin: left center;
}
/* In */
@keyframes swingInX {
  0% {
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }
  60% {
    transform: perspective(1000px) rotateX(15deg);
  }
  80% {
    transform: perspective(1000px) rotateX(-7.5deg);
  }
  100% {
    transform: perspective(1000px) rotateX(0);
  }
}
@keyframes swingInY {
  0% {
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }
  60% {
    transform: perspective(1000px) rotateY(-17.5deg);
  }
  80% {
    transform: perspective(1000px) rotateY(7.5deg);
  }
  100% {
    transform: perspective(1000px) rotateY(0);
  }
}
/* Out */
@keyframes swingOutX {
  0% {
    transform: perspective(1000px) rotateX(0);
  }
  40% {
    transform: perspective(1000px) rotateX(-7.5deg);
  }
  60% {
    transform: perspective(1000px) rotateX(17.5deg);
  }
  80% {
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1;
  }
  100% {
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
  }
}
@keyframes swingOutY {
  0% {
    transform: perspective(1000px) rotateY(0);
  }
  40% {
    transform: perspective(1000px) rotateY(7.5deg);
  }
  60% {
    transform: perspective(1000px) rotateY(-10deg);
  }
  80% {
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1;
  }
  100% {
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
  }
}
/* --------------
          Zoom
    --------------- */
.transition.zoom.in {
  animation-name: zoomIn;
}
.transition.zoom.out {
  animation-name: zoomOut;
}
@keyframes zoomIn {
  0% {
    opacity: 1;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(0);
  }
}
/*******************************
       Static Animations
*******************************/
/* --------------
    Emphasis
--------------- */
.flash.transition {
  animation-duration: 750ms;
  animation-name: flash;
}
.shake.transition {
  animation-duration: 750ms;
  animation-name: shake;
}
.bounce.transition {
  animation-duration: 750ms;
  animation-name: bounce;
}
.tada.transition {
  animation-duration: 750ms;
  animation-name: tada;
}
.pulse.transition {
  animation-duration: 500ms;
  animation-name: pulse;
}
.jiggle.transition {
  animation-duration: 750ms;
  animation-name: jiggle;
}
.transition.glow {
  animation-duration: 2000ms;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  animation-name: glow;
}
/* Flash */
@keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
/* Shake */
@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(10px);
  }
}
/* Bounce */
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
/* Tada */
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%,
  20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
/* Pulse */
@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(0.9);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/* Jiggle */
@keyframes jiggle {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
/* Glow */
@keyframes glow {
  0% {
    background-color: #fcfcfd;
  }
  30% {
    background-color: #fff6cd;
  }
  100% {
    background-color: #fcfcfd;
  }
}
/*******************************
         Site Overrides
*******************************/


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9ycy1ub2RlX21vZHVsZXNfc3ltZm9ueV9zdGltdWx1cy1icmlkZ2VfZGlzdF9pbmRleF9qcy1ub2RlX21vZHVsZXNfZm9tYW50aWMtdWktbGVzc19zZW1hLWI4ZDg3OS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Q0FVQztBQUNELFdBQVc7QUFDWDs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFDL0I7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7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bEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QU5xbEZSO0FNbGxGSTtFQUNJO0VBQ0E7QU5vbEZSO0FNamxGSTtFQUNJO0VBQ0E7QU5tbEZSO0FBQ0E7OzBCQUUwQjtBTTdrRnRCOztFQUVJO0FOK2tGUjtBTTVrRkk7RUFDSTtBTjhrRlI7QU0xa0ZJO0VBQ0k7QU40a0ZSO0FNemtGSTtFQUNJO0FOMmtGUjtBTXhrRkk7RUFDSTtBTjBrRlI7QU12a0ZJO0VBQ0k7QU55a0ZSO0FNdGtGSTtFQUNJO0FOd2tGUjtBTXJrRkk7RUFDSTtBTnVrRlI7QU1wa0ZJO0VBQ0k7QU5za0ZSO0FNbmtGSTtFQUNJO0FOcWtGUjtBTWxrRkk7RUFDSTtBTm9rRlI7QU1qa0ZJO0VBQ0k7QU5ta0ZSO0FNaGtGSTtFQUNJO0FOa2tGUjtBTS9qRkk7RUFDSTtBTmlrRlI7QU05akZJO0VBQ0k7QU5na0ZSO0FNN2pGSTtFQUNJO0FOK2pGUjtBTTVqRkk7RUFDSTtBTjhqRlI7QU0zakZJO0VBQ0k7QU42akZSO0FNMWpGSTtFQUNJO0FONGpGUjtBTXpqRkk7RUFDSTtBTjJqRlI7QU14akZJO0VBQ0k7QU4wakZSO0FNdmpGSTtFQUNJO0FOeWpGUjtBTXRqRkk7RUFDSTtBTndqRlI7QU1yakZJO0VBQ0k7QU51akZSO0FBQ0EsMkJBQTJCO0FNampGbkI7O0VBRUk7RUFDQTtFQUNBO0FObWpGWjtBTTlpRlE7RUFDSTtBTmdqRlo7QU03aUZRO0VBQ0k7QU4raUZaO0FNNWlGUTtFQUNJO0FOOGlGWjtBTTNpRlE7RUFDSTtBTjZpRlo7QU0xaUZRO0VBQ0k7QU40aUZaO0FNemlGUTtFQUNJO0FOMmlGWjtBTXhpRlE7RUFDSTtBTjBpRlo7QU12aUZRO0VBQ0k7QU55aUZaO0FNdGlGUTtFQUNJO0FOd2lGWjtBTXJpRlE7RUFDSTtBTnVpRlo7QU1waUZRO0VBQ0k7QU5zaUZaO0FBQ0E7O3NCQUVzQjtBTXhnRmI7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7QU4wZ0ZaO0FNeGdGUztFQUNHO0FOMGdGWjtBTXhnRlM7O0VBRUc7RUFDQTtFQUNBO0FOMGdGWjtBTXhnRlM7O0VBRUc7RUFDQTtFQUNBO0FOMGdGWjtBTXhnRlM7O0VBRUc7RUFDQTtFQUNBO0FOMGdGWjtBTXhnRlM7Ozs7RUFJRztFQUNBO0VBQ0E7QU4wZ0ZaO0FBQ0EsVUFBVTtBTXRnRkc7O0VBRUc7RUFDQTtFQUNBO0FOd2dGaEI7QU10Z0ZhOztFQUVHO0VBQ0E7RUFDQTtBTndnRmhCO0FNdGdGYTs7RUFFRztFQUNBO0VBQ0E7QU53Z0ZoQjtBTXRnRmE7O0VBRUc7RUFDQTtFQUNBO0FOd2dGaEI7QU10Z0ZhOztFQUVHO0VBQ0E7QU53Z0ZoQjtBQUNBLGFBQWE7QU1wZ0ZBOztFQUVHO0VBUUk7RUFDQTtBTisvRXBCO0FNNS9FYTs7Ozs7Ozs7RUFRRztFQUNBO0FOOC9FaEI7QU01L0VhOztFQUVHO0FOOC9FaEI7QU01L0VhOztFQUVHO0FOOC9FaEI7QU01L0VhOztFQUVHO0FOOC9FaEI7QU01L0VhOztFQUVHO0FOOC9FaEI7QUFDQSxtQkFBbUI7QU0zL0VOOzs7RUFHRztFQUNBO0VBQ0E7QU42L0VoQjtBTTMvRWE7OztFQUdHO0VBT0k7QU51L0VwQjtBTXAvRWE7OztFQUdHO0VBQ0E7QU5zL0VoQjtBTXAvRWE7OztFQUdHO0VBT0k7QU5nL0VwQjtBTTUrRWlCOzs7RUFHRztFQU9JO0FOdytFeEI7QUFDQSxhQUFhO0FNaCtFQTs7O0VBR0c7RUFXSTtFQUdKO0FOczlFaEI7QU1uOUVhOzs7RUFLTztFQVdKO0FOeThFaEI7QU10OEVhOzs7RUFLTztFQVdKO0FONDdFaEI7QU16N0VhOzs7Ozs7RUFRTztFQVdKO0FOKzZFaEI7QU16cUZTOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FOMnFGWjtBTXpxRlM7RUFDRztBTjJxRlo7QU16cUZTOztFQUVHO0VBQ0E7RUFDQTtBTjJxRlo7QU16cUZTOztFQUVHO0VBQ0E7RUFDQTtBTjJxRlo7QU16cUZTOztFQUVHO0VBQ0E7RUFDQTtBTjJxRlo7QU16cUZTOzs7O0VBSUc7RUFDQTtFQUNBO0FOMnFGWjtBQUNBLFVBQVU7QU12cUZHOztFQUVHO0VBQ0E7RUFDQTtBTnlxRmhCO0FNdnFGYTs7RUFFRztFQUNBO0VBQ0E7QU55cUZoQjtBTXZxRmE7O0VBRUc7RUFDQTtFQUNBO0FOeXFGaEI7QU12cUZhOztFQUVHO0VBQ0E7RUFDQTtBTnlxRmhCO0FNdnFGYTs7RUFFRztFQUNBO0FOeXFGaEI7QUFDQSxhQUFhO0FNcnFGQTs7RUFFRztFQVFJO0VBQ0E7QU5ncUZwQjtBTTdwRmE7Ozs7Ozs7O0VBUUc7RUFDQTtBTitwRmhCO0FNN3BGYTs7RUFFRztBTitwRmhCO0FNN3BGYTs7RUFFRztBTitwRmhCO0FNN3BGYTs7RUFFRztBTitwRmhCO0FNN3BGYTs7RUFFRztBTitwRmhCO0FBQ0EsbUJBQW1CO0FNNXBGTjs7O0VBR0c7RUFDQTtFQUNBO0FOOHBGaEI7QU01cEZhOzs7RUFHRztFQU9JO0FOd3BGcEI7QU1ycEZhOzs7RUFHRztFQUNBO0FOdXBGaEI7QU1ycEZhOzs7RUFHRztFQU9JO0FOaXBGcEI7QU03b0ZpQjs7O0VBR0c7RUFPSTtBTnlvRnhCO0FBQ0EsYUFBYTtBTWpvRkE7OztFQUdHO0VBV0k7RUFHSjtBTnVuRmhCO0FNcG5GYTs7O0VBS087RUFXSjtBTjBtRmhCO0FNdm1GYTs7O0VBS087RUFXSjtBTjZsRmhCO0FNMWxGYTs7Ozs7O0VBUU87RUFXSjtBTmdsRmhCO0FNMTBGUzs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTjQwRlo7QU0xMEZTO0VBQ0c7QU40MEZaO0FNMTBGUzs7RUFFRztFQUNBO0VBQ0E7QU40MEZaO0FNMTBGUzs7RUFFRztFQUNBO0VBQ0E7QU40MEZaO0FNMTBGUzs7RUFFRztFQUNBO0VBQ0E7QU40MEZaO0FNMTBGUzs7OztFQUlHO0VBQ0E7RUFDQTtBTjQwRlo7QUFDQSxVQUFVO0FNeDBGRzs7RUFFRztFQUNBO0VBQ0E7QU4wMEZoQjtBTXgwRmE7O0VBRUc7RUFDQTtFQUNBO0FOMDBGaEI7QU14MEZhOztFQUVHO0VBQ0E7RUFDQTtBTjAwRmhCO0FNeDBGYTs7RUFFRztFQUNBO0VBQ0E7QU4wMEZoQjtBTXgwRmE7O0VBRUc7RUFDQTtBTjAwRmhCO0FBQ0EsYUFBYTtBTXQwRkE7O0VBRUc7RUFRSTtFQUNBO0FOaTBGcEI7QU05ekZhOzs7Ozs7OztFQVFHO0VBQ0E7QU5nMEZoQjtBTTl6RmE7O0VBRUc7QU5nMEZoQjtBTTl6RmE7O0VBRUc7QU5nMEZoQjtBTTl6RmE7O0VBRUc7QU5nMEZoQjtBTTl6RmE7O0VBRUc7QU5nMEZoQjtBQUNBLG1CQUFtQjtBTTd6Rk47OztFQUdHO0VBQ0E7RUFDQTtBTit6RmhCO0FNN3pGYTs7O0VBR0c7RUFPSTtBTnl6RnBCO0FNdHpGYTs7O0VBR0c7RUFDQTtBTnd6RmhCO0FNdHpGYTs7O0VBR0c7RUFPSTtBTmt6RnBCO0FNOXlGaUI7OztFQUdHO0VBT0k7QU4weUZ4QjtBQUNBLGFBQWE7QU1seUZBOzs7RUFHRztFQVdJO0VBR0o7QU53eEZoQjtBTXJ4RmE7OztFQUtPO0VBV0o7QU4yd0ZoQjtBTXh3RmE7OztFQUtPO0VBV0o7QU44dkZoQjtBTTN2RmE7Ozs7OztFQVFPO0VBV0o7QU5pdkZoQjtBTTMrRlM7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7QU42K0ZaO0FNMytGUztFQUNHO0FONitGWjtBTTMrRlM7O0VBRUc7RUFDQTtFQUNBO0FONitGWjtBTTMrRlM7O0VBRUc7RUFDQTtFQUNBO0FONitGWjtBTTMrRlM7O0VBRUc7RUFDQTtFQUNBO0FONitGWjtBTTMrRlM7Ozs7RUFJRztFQUNBO0VBQ0E7QU42K0ZaO0FBQ0EsVUFBVTtBTXorRkc7O0VBRUc7RUFDQTtFQUNBO0FOMitGaEI7QU16K0ZhOztFQUVHO0VBQ0E7RUFDQTtBTjIrRmhCO0FNeitGYTs7RUFFRztFQUNBO0VBQ0E7QU4yK0ZoQjtBTXorRmE7O0VBRUc7RUFDQTtFQUNBO0FOMitGaEI7QU16K0ZhOztFQUVHO0VBQ0E7QU4yK0ZoQjtBQUNBLGFBQWE7QU12K0ZBOztFQUVHO0VBUUk7RUFDQTtBTmsrRnBCO0FNLzlGYTs7Ozs7Ozs7RUFRRztFQUNBO0FOaStGaEI7QU0vOUZhOztFQUVHO0FOaStGaEI7QU0vOUZhOztFQUVHO0FOaStGaEI7QU0vOUZhOztFQUVHO0FOaStGaEI7QU0vOUZhOztFQUVHO0FOaStGaEI7QUFDQSxtQkFBbUI7QU05OUZOOzs7RUFHRztFQUNBO0VBQ0E7QU5nK0ZoQjtBTTk5RmE7OztFQUdHO0VBT0k7QU4wOUZwQjtBTXY5RmE7OztFQUdHO0VBQ0E7QU55OUZoQjtBTXY5RmE7OztFQUdHO0VBT0k7QU5tOUZwQjtBTS84RmlCOzs7RUFHRztFQU9JO0FOMjhGeEI7QUFDQSxhQUFhO0FNbjhGQTs7O0VBR0c7RUFXSTtFQUdKO0FOeTdGaEI7QU10N0ZhOzs7RUFLTztFQVdKO0FONDZGaEI7QU16NkZhOzs7RUFLTztFQVdKO0FOKzVGaEI7QU01NUZhOzs7Ozs7RUFRTztFQVdKO0FOazVGaEI7QU01b0dTOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FOOG9HWjtBTTVvR1M7RUFDRztBTjhvR1o7QU01b0dTOztFQUVHO0VBQ0E7RUFDQTtBTjhvR1o7QU01b0dTOztFQUVHO0VBQ0E7RUFDQTtBTjhvR1o7QU01b0dTOztFQUVHO0VBQ0E7RUFDQTtBTjhvR1o7QU01b0dTOzs7O0VBSUc7RUFDQTtFQUNBO0FOOG9HWjtBQUNBLFVBQVU7QU0xb0dHOztFQUVHO0VBQ0E7RUFDQTtBTjRvR2hCO0FNMW9HYTs7RUFFRztFQUNBO0VBQ0E7QU40b0doQjtBTTFvR2E7O0VBRUc7RUFDQTtFQUNBO0FONG9HaEI7QU0xb0dhOztFQUVHO0VBQ0E7RUFDQTtBTjRvR2hCO0FNMW9HYTs7RUFFRztFQUNBO0FONG9HaEI7QUFDQSxhQUFhO0FNeG9HQTs7RUFFRztFQVFJO0VBQ0E7QU5tb0dwQjtBTWhvR2E7Ozs7Ozs7O0VBUUc7RUFDQTtBTmtvR2hCO0FNaG9HYTs7RUFFRztBTmtvR2hCO0FNaG9HYTs7RUFFRztBTmtvR2hCO0FNaG9HYTs7RUFFRztBTmtvR2hCO0FNaG9HYTs7RUFFRztBTmtvR2hCO0FBQ0EsbUJBQW1CO0FNL25HTjs7O0VBR0c7RUFDQTtFQUNBO0FOaW9HaEI7QU0vbkdhOzs7RUFHRztFQU9JO0FOMm5HcEI7QU14bkdhOzs7RUFHRztFQUNBO0FOMG5HaEI7QU14bkdhOzs7RUFHRztFQU9JO0FOb25HcEI7QU1obkdpQjs7O0VBR0c7RUFPSTtBTjRtR3hCO0FBQ0EsYUFBYTtBTXBtR0E7OztFQUdHO0VBV0k7RUFHSjtBTjBsR2hCO0FNdmxHYTs7O0VBS087RUFXSjtBTjZrR2hCO0FNMWtHYTs7O0VBS087RUFXSjtBTmdrR2hCO0FNN2pHYTs7Ozs7O0VBUU87RUFXSjtBTm1qR2hCO0FNN3lHUzs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTit5R1o7QU03eUdTO0VBQ0c7QU4reUdaO0FNN3lHUzs7RUFFRztFQUNBO0VBQ0E7QU4reUdaO0FNN3lHUzs7RUFFRztFQUNBO0VBQ0E7QU4reUdaO0FNN3lHUzs7RUFFRztFQUNBO0VBQ0E7QU4reUdaO0FNN3lHUzs7OztFQUlHO0VBQ0E7RUFDQTtBTit5R1o7QUFDQSxVQUFVO0FNM3lHRzs7RUFFRztFQUNBO0VBQ0E7QU42eUdoQjtBTTN5R2E7O0VBRUc7RUFDQTtFQUNBO0FONnlHaEI7QU0zeUdhOztFQUVHO0VBQ0E7RUFDQTtBTjZ5R2hCO0FNM3lHYTs7RUFFRztFQUNBO0VBQ0E7QU42eUdoQjtBTTN5R2E7O0VBRUc7RUFDQTtBTjZ5R2hCO0FBQ0EsYUFBYTtBTXp5R0E7O0VBRUc7RUFRSTtFQUNBO0FOb3lHcEI7QU1qeUdhOzs7Ozs7OztFQVFHO0VBQ0E7QU5teUdoQjtBTWp5R2E7O0VBRUc7QU5teUdoQjtBTWp5R2E7O0VBRUc7QU5teUdoQjtBTWp5R2E7O0VBRUc7QU5teUdoQjtBTWp5R2E7O0VBRUc7QU5teUdoQjtBQUNBLG1CQUFtQjtBTWh5R047OztFQUdHO0VBQ0E7RUFDQTtBTmt5R2hCO0FNaHlHYTs7O0VBR0c7RUFPSTtBTjR4R3BCO0FNenhHYTs7O0VBR0c7RUFDQTtBTjJ4R2hCO0FNenhHYTs7O0VBR0c7RUFPSTtBTnF4R3BCO0FNanhHaUI7OztFQUdHO0VBT0k7QU42d0d4QjtBQUNBLGFBQWE7QU1yd0dBOzs7RUFHRztFQVdJO0VBR0o7QU4ydkdoQjtBTXh2R2E7OztFQUtPO0VBV0o7QU44dUdoQjtBTTN1R2E7OztFQUtPO0VBV0o7QU5pdUdoQjtBTTl0R2E7Ozs7OztFQVFPO0VBV0o7QU5vdEdoQjtBTTk4R1M7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7QU5nOUdaO0FNOThHUztFQUNHO0FOZzlHWjtBTTk4R1M7O0VBRUc7RUFDQTtFQUNBO0FOZzlHWjtBTTk4R1M7O0VBRUc7RUFDQTtFQUNBO0FOZzlHWjtBTTk4R1M7O0VBRUc7RUFDQTtFQUNBO0FOZzlHWjtBTTk4R1M7Ozs7RUFJRztFQUNBO0VBQ0E7QU5nOUdaO0FBQ0EsVUFBVTtBTTU4R0c7O0VBRUc7RUFDQTtFQUNBO0FOODhHaEI7QU01OEdhOztFQUVHO0VBQ0E7RUFDQTtBTjg4R2hCO0FNNThHYTs7RUFFRztFQUNBO0VBQ0E7QU44OEdoQjtBTTU4R2E7O0VBRUc7RUFDQTtFQUNBO0FOODhHaEI7QU01OEdhOztFQUVHO0VBQ0E7QU44OEdoQjtBQUNBLGFBQWE7QU0xOEdBOztFQUVHO0VBUUk7RUFDQTtBTnE4R3BCO0FNbDhHYTs7Ozs7Ozs7RUFRRztFQUNBO0FObzhHaEI7QU1sOEdhOztFQUVHO0FObzhHaEI7QU1sOEdhOztFQUVHO0FObzhHaEI7QU1sOEdhOztFQUVHO0FObzhHaEI7QU1sOEdhOztFQUVHO0FObzhHaEI7QUFDQSxtQkFBbUI7QU1qOEdOOzs7RUFHRztFQUNBO0VBQ0E7QU5tOEdoQjtBTWo4R2E7OztFQUdHO0VBT0k7QU42N0dwQjtBTTE3R2E7OztFQUdHO0VBQ0E7QU40N0doQjtBTTE3R2E7OztFQUdHO0VBT0k7QU5zN0dwQjtBTWw3R2lCOzs7RUFHRztFQU9JO0FOODZHeEI7QUFDQSxhQUFhO0FNdDZHQTs7O0VBR0c7RUFXSTtFQUdKO0FONDVHaEI7QU16NUdhOzs7RUFLTztFQVdKO0FOKzRHaEI7QU01NEdhOzs7RUFLTztFQVdKO0FOazRHaEI7QU0vM0dhOzs7Ozs7RUFRTztFQVdKO0FOcTNHaEI7QU0vbUhTOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FOaW5IWjtBTS9tSFM7RUFDRztBTmluSFo7QU0vbUhTOztFQUVHO0VBQ0E7RUFDQTtBTmluSFo7QU0vbUhTOztFQUVHO0VBQ0E7RUFDQTtBTmluSFo7QU0vbUhTOztFQUVHO0VBQ0E7RUFDQTtBTmluSFo7QU0vbUhTOzs7O0VBSUc7RUFDQTtFQUNBO0FOaW5IWjtBQUNBLFVBQVU7QU03bUhHOztFQUVHO0VBQ0E7RUFDQTtBTittSGhCO0FNN21IYTs7RUFFRztFQUNBO0VBQ0E7QU4rbUhoQjtBTTdtSGE7O0VBRUc7RUFDQTtFQUNBO0FOK21IaEI7QU03bUhhOztFQUVHO0VBQ0E7RUFDQTtBTittSGhCO0FNN21IYTs7RUFFRztFQUNBO0FOK21IaEI7QUFDQSxhQUFhO0FNM21IQTs7RUFFRztFQVFJO0VBQ0E7QU5zbUhwQjtBTW5tSGE7Ozs7Ozs7O0VBUUc7RUFDQTtBTnFtSGhCO0FNbm1IYTs7RUFFRztBTnFtSGhCO0FNbm1IYTs7RUFFRztBTnFtSGhCO0FNbm1IYTs7RUFFRztBTnFtSGhCO0FNbm1IYTs7RUFFRztBTnFtSGhCO0FBQ0EsbUJBQW1CO0FNbG1ITjs7O0VBR0c7RUFDQTtFQUNBO0FOb21IaEI7QU1sbUhhOzs7RUFHRztFQU9JO0FOOGxIcEI7QU0zbEhhOzs7RUFHRztFQUNBO0FONmxIaEI7QU0zbEhhOzs7RUFHRztFQU9JO0FOdWxIcEI7QU1ubEhpQjs7O0VBR0c7RUFPSTtBTitrSHhCO0FBQ0EsYUFBYTtBTXZrSEE7OztFQUdHO0VBV0k7RUFHSjtBTjZqSGhCO0FNMWpIYTs7O0VBS087RUFXSjtBTmdqSGhCO0FNN2lIYTs7O0VBS087RUFXSjtBTm1pSGhCO0FNaGlIYTs7Ozs7O0VBUU87RUFXSjtBTnNoSGhCO0FNaHhIUzs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTmt4SFo7QU1oeEhTO0VBQ0c7QU5reEhaO0FNaHhIUzs7RUFFRztFQUNBO0VBQ0E7QU5reEhaO0FNaHhIUzs7RUFFRztFQUNBO0VBQ0E7QU5reEhaO0FNaHhIUzs7RUFFRztFQUNBO0VBQ0E7QU5reEhaO0FNaHhIUzs7OztFQUlHO0VBQ0E7RUFDQTtBTmt4SFo7QUFDQSxVQUFVO0FNOXdIRzs7RUFFRztFQUNBO0VBQ0E7QU5neEhoQjtBTTl3SGE7O0VBRUc7RUFDQTtFQUNBO0FOZ3hIaEI7QU05d0hhOztFQUVHO0VBQ0E7RUFDQTtBTmd4SGhCO0FNOXdIYTs7RUFFRztFQUNBO0VBQ0E7QU5neEhoQjtBTTl3SGE7O0VBRUc7RUFDQTtBTmd4SGhCO0FBQ0EsYUFBYTtBTTV3SEE7O0VBRUc7RUFRSTtFQUNBO0FOdXdIcEI7QU1wd0hhOzs7Ozs7OztFQVFHO0VBQ0E7QU5zd0hoQjtBTXB3SGE7O0VBRUc7QU5zd0hoQjtBTXB3SGE7O0VBRUc7QU5zd0hoQjtBTXB3SGE7O0VBRUc7QU5zd0hoQjtBTXB3SGE7O0VBRUc7QU5zd0hoQjtBQUNBLG1CQUFtQjtBTW53SE47OztFQUdHO0VBQ0E7RUFDQTtBTnF3SGhCO0FNbndIYTs7O0VBR0c7RUFPSTtBTit2SHBCO0FNNXZIYTs7O0VBR0c7RUFDQTtBTjh2SGhCO0FNNXZIYTs7O0VBR0c7RUFPSTtBTnd2SHBCO0FNcHZIaUI7OztFQUdHO0VBT0k7QU5ndkh4QjtBQUNBLGFBQWE7QU14dUhBOzs7RUFHRztFQVdJO0VBR0o7QU44dEhoQjtBTTN0SGE7OztFQUtPO0VBV0o7QU5pdEhoQjtBTTlzSGE7OztFQUtPO0VBV0o7QU5vc0hoQjtBTWpzSGE7Ozs7OztFQVFPO0VBV0o7QU51ckhoQjtBTWo3SFM7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7QU5tN0haO0FNajdIUztFQUNHO0FObTdIWjtBTWo3SFM7O0VBRUc7RUFDQTtFQUNBO0FObTdIWjtBTWo3SFM7O0VBRUc7RUFDQTtFQUNBO0FObTdIWjtBTWo3SFM7O0VBRUc7RUFDQTtFQUNBO0FObTdIWjtBTWo3SFM7Ozs7RUFJRztFQUNBO0VBQ0E7QU5tN0haO0FBQ0EsVUFBVTtBTS82SEc7O0VBRUc7RUFDQTtFQUNBO0FOaTdIaEI7QU0vNkhhOztFQUVHO0VBQ0E7RUFDQTtBTmk3SGhCO0FNLzZIYTs7RUFFRztFQUNBO0VBQ0E7QU5pN0hoQjtBTS82SGE7O0VBRUc7RUFDQTtFQUNBO0FOaTdIaEI7QU0vNkhhOztFQUVHO0VBQ0E7QU5pN0hoQjtBQUNBLGFBQWE7QU03NkhBOztFQUVHO0VBUUk7RUFDQTtBTnc2SHBCO0FNcjZIYTs7Ozs7Ozs7RUFRRztFQUNBO0FOdTZIaEI7QU1yNkhhOztFQUVHO0FOdTZIaEI7QU1yNkhhOztFQUVHO0FOdTZIaEI7QU1yNkhhOztFQUVHO0FOdTZIaEI7QU1yNkhhOztFQUVHO0FOdTZIaEI7QUFDQSxtQkFBbUI7QU1wNkhOOzs7RUFHRztFQUNBO0VBQ0E7QU5zNkhoQjtBTXA2SGE7OztFQUdHO0VBT0k7QU5nNkhwQjtBTTc1SGE7OztFQUdHO0VBQ0E7QU4rNUhoQjtBTTc1SGE7OztFQUdHO0VBT0k7QU55NUhwQjtBTXI1SGlCOzs7RUFHRztFQU9JO0FOaTVIeEI7QUFDQSxhQUFhO0FNejRIQTs7O0VBR0c7RUFXSTtFQUdKO0FOKzNIaEI7QU01M0hhOzs7RUFLTztFQVdKO0FOazNIaEI7QU0vMkhhOzs7RUFLTztFQVdKO0FOcTJIaEI7QU1sMkhhOzs7Ozs7RUFRTztFQVdKO0FOdzFIaEI7QU1sbElTOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FOb2xJWjtBTWxsSVM7RUFDRztBTm9sSVo7QU1sbElTOztFQUVHO0VBQ0E7RUFDQTtBTm9sSVo7QU1sbElTOztFQUVHO0VBQ0E7RUFDQTtBTm9sSVo7QU1sbElTOztFQUVHO0VBQ0E7RUFDQTtBTm9sSVo7QU1sbElTOzs7O0VBSUc7RUFDQTtFQUNBO0FOb2xJWjtBQUNBLFVBQVU7QU1obElHOztFQUVHO0VBQ0E7RUFDQTtBTmtsSWhCO0FNaGxJYTs7RUFFRztFQUNBO0VBQ0E7QU5rbEloQjtBTWhsSWE7O0VBRUc7RUFDQTtFQUNBO0FOa2xJaEI7QU1obElhOztFQUVHO0VBQ0E7RUFDQTtBTmtsSWhCO0FNaGxJYTs7RUFFRztFQUNBO0FOa2xJaEI7QUFDQSxhQUFhO0FNOWtJQTs7RUFFRztFQVFJO0VBQ0E7QU55a0lwQjtBTXRrSWE7Ozs7Ozs7O0VBUUc7RUFDQTtBTndrSWhCO0FNdGtJYTs7RUFFRztBTndrSWhCO0FNdGtJYTs7RUFFRztBTndrSWhCO0FNdGtJYTs7RUFFRztBTndrSWhCO0FNdGtJYTs7RUFFRztBTndrSWhCO0FBQ0EsbUJBQW1CO0FNcmtJTjs7O0VBR0c7RUFDQTtFQUNBO0FOdWtJaEI7QU1ya0lhOzs7RUFHRztFQU9JO0FOaWtJcEI7QU05aklhOzs7RUFHRztFQUNBO0FOZ2tJaEI7QU05aklhOzs7RUFHRztFQU9JO0FOMGpJcEI7QU10aklpQjs7O0VBR0c7RUFPSTtBTmtqSXhCO0FBQ0EsYUFBYTtBTTFpSUE7OztFQUdHO0VBV0k7RUFHSjtBTmdpSWhCO0FNN2hJYTs7O0VBS087RUFXSjtBTm1oSWhCO0FNaGhJYTs7O0VBS087RUFXSjtBTnNnSWhCO0FNbmdJYTs7Ozs7O0VBUU87RUFXSjtBTnkvSGhCO0FNbnZJUzs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTnF2SVo7QU1udklTO0VBQ0c7QU5xdklaO0FNbnZJUzs7RUFFRztFQUNBO0VBQ0E7QU5xdklaO0FNbnZJUzs7RUFFRztFQUNBO0VBQ0E7QU5xdklaO0FNbnZJUzs7RUFFRztFQUNBO0VBQ0E7QU5xdklaO0FNbnZJUzs7OztFQUlHO0VBQ0E7RUFDQTtBTnF2SVo7QUFDQSxVQUFVO0FNanZJRzs7RUFFRztFQUNBO0VBQ0E7QU5tdkloQjtBTWp2SWE7O0VBRUc7RUFDQTtFQUNBO0FObXZJaEI7QU1qdklhOztFQUVHO0VBQ0E7RUFDQTtBTm12SWhCO0FNanZJYTs7RUFFRztFQUNBO0VBQ0E7QU5tdkloQjtBTWp2SWE7O0VBRUc7RUFDQTtBTm12SWhCO0FBQ0EsYUFBYTtBTS91SUE7O0VBRUc7RUFRSTtFQUNBO0FOMHVJcEI7QU12dUlhOzs7Ozs7OztFQVFHO0VBQ0E7QU55dUloQjtBTXZ1SWE7O0VBRUc7QU55dUloQjtBTXZ1SWE7O0VBRUc7QU55dUloQjtBTXZ1SWE7O0VBRUc7QU55dUloQjtBTXZ1SWE7O0VBRUc7QU55dUloQjtBQUNBLG1CQUFtQjtBTXR1SU47OztFQUdHO0VBQ0E7RUFDQTtBTnd1SWhCO0FNdHVJYTs7O0VBR0c7RUFPSTtBTmt1SXBCO0FNL3RJYTs7O0VBR0c7RUFDQTtBTml1SWhCO0FNL3RJYTs7O0VBR0c7RUFPSTtBTjJ0SXBCO0FNdnRJaUI7OztFQUdHO0VBT0k7QU5tdEl4QjtBQUNBLGFBQWE7QU0zc0lBOzs7RUFHRztFQVdJO0VBR0o7QU5pc0loQjtBTTlySWE7OztFQUtPO0VBV0o7QU5vckloQjtBTWpySWE7OztFQUtPO0VBV0o7QU51cUloQjtBTXBxSWE7Ozs7OztFQVFPO0VBV0o7QU4wcEloQjtBTXA1SVM7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7QU5zNUlaO0FNcDVJUztFQUNHO0FOczVJWjtBTXA1SVM7O0VBRUc7RUFDQTtFQUNBO0FOczVJWjtBTXA1SVM7O0VBRUc7RUFDQTtFQUNBO0FOczVJWjtBTXA1SVM7O0VBRUc7RUFDQTtFQUNBO0FOczVJWjtBTXA1SVM7Ozs7RUFJRztFQUNBO0VBQ0E7QU5zNUlaO0FBQ0EsVUFBVTtBTWw1SUc7O0VBRUc7RUFDQTtFQUNBO0FObzVJaEI7QU1sNUlhOztFQUVHO0VBQ0E7RUFDQTtBTm81SWhCO0FNbDVJYTs7RUFFRztFQUNBO0VBQ0E7QU5vNUloQjtBTWw1SWE7O0VBRUc7RUFDQTtFQUNBO0FObzVJaEI7QU1sNUlhOztFQUVHO0VBQ0E7QU5vNUloQjtBQUNBLGFBQWE7QU1oNUlBOztFQUVHO0VBUUk7RUFDQTtBTjI0SXBCO0FNeDRJYTs7Ozs7Ozs7RUFRRztFQUNBO0FOMDRJaEI7QU14NElhOztFQUVHO0FOMDRJaEI7QU14NElhOztFQUVHO0FOMDRJaEI7QU14NElhOztFQUVHO0FOMDRJaEI7QU14NElhOztFQUVHO0FOMDRJaEI7QUFDQSxtQkFBbUI7QU12NElOOzs7RUFHRztFQUNBO0VBQ0E7QU55NEloQjtBTXY0SWE7OztFQUdHO0VBT0k7QU5tNElwQjtBTWg0SWE7OztFQUdHO0VBQ0E7QU5rNEloQjtBTWg0SWE7OztFQUdHO0VBT0k7QU40M0lwQjtBTXgzSWlCOzs7RUFHRztFQU9JO0FObzNJeEI7QUFDQSxhQUFhO0FNNTJJQTs7O0VBR0c7RUFXSTtFQUdKO0FOazJJaEI7QU0vMUlhOzs7RUFLTztFQVdKO0FOcTFJaEI7QU1sMUlhOzs7RUFLTztFQVdKO0FOdzBJaEI7QU1yMElhOzs7Ozs7RUFRTztFQVdKO0FOMnpJaEI7QU1yakpTOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FOdWpKWjtBTXJqSlM7RUFDRztBTnVqSlo7QU1yakpTOztFQUVHO0VBQ0E7RUFDQTtBTnVqSlo7QU1yakpTOztFQUVHO0VBQ0E7RUFDQTtBTnVqSlo7QU1yakpTOztFQUVHO0VBQ0E7RUFDQTtBTnVqSlo7QU1yakpTOzs7O0VBSUc7RUFDQTtFQUNBO0FOdWpKWjtBQUNBLFVBQVU7QU1uakpHOztFQUVHO0VBQ0E7RUFDQTtBTnFqSmhCO0FNbmpKYTs7RUFFRztFQUNBO0VBQ0E7QU5xakpoQjtBTW5qSmE7O0VBRUc7RUFDQTtFQUNBO0FOcWpKaEI7QU1uakphOztFQUVHO0VBQ0E7RUFDQTtBTnFqSmhCO0FNbmpKYTs7RUFFRztFQUNBO0FOcWpKaEI7QUFDQSxhQUFhO0FNampKQTs7RUFFRztFQUdJO0VBQ0E7QU5pakpwQjtBTXppSmE7Ozs7Ozs7O0VBUUc7RUFDQTtBTjJpSmhCO0FNemlKYTs7RUFFRztBTjJpSmhCO0FNemlKYTs7RUFFRztBTjJpSmhCO0FNemlKYTs7RUFFRztBTjJpSmhCO0FNemlKYTs7RUFFRztBTjJpSmhCO0FBQ0EsbUJBQW1CO0FNeGlKTjs7O0VBR0c7RUFDQTtFQUNBO0FOMGlKaEI7QU14aUphOzs7RUFHRztFQUdJO0FOd2lKcEI7QU1qaUphOzs7RUFHRztFQUNBO0FObWlKaEI7QU1qaUphOzs7RUFHRztFQUdJO0FOaWlKcEI7QU16aEppQjs7O0VBR0c7RUFHSTtBTnloSnhCO0FBQ0EsYUFBYTtBTTdnSkE7OztFQUdHO0VBV0k7RUFHSjtBTm1nSmhCO0FNaGdKYTs7O0VBS087RUFXSjtBTnMvSWhCO0FNbi9JYTs7O0VBS087RUFXSjtBTnkrSWhCO0FNdCtJYTs7Ozs7O0VBUU87RUFXSjtBTjQ5SWhCO0FNdHRKUzs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTnd0Slo7QU10dEpTO0VBQ0c7QU53dEpaO0FNdHRKUzs7RUFFRztFQUNBO0VBQ0E7QU53dEpaO0FNdHRKUzs7RUFFRztFQUNBO0VBQ0E7QU53dEpaO0FNdHRKUzs7RUFFRztFQUNBO0VBQ0E7QU53dEpaO0FNdHRKUzs7OztFQUlHO0VBQ0E7RUFDQTtBTnd0Slo7QUFDQSxVQUFVO0FNcHRKRzs7RUFFRztFQUNBO0VBQ0E7QU5zdEpoQjtBTXB0SmE7O0VBRUc7RUFDQTtFQUNBO0FOc3RKaEI7QU1wdEphOztFQUVHO0VBQ0E7RUFDQTtBTnN0SmhCO0FNcHRKYTs7RUFFRztFQUNBO0VBQ0E7QU5zdEpoQjtBTXB0SmE7O0VBRUc7RUFDQTtBTnN0SmhCO0FBQ0EsYUFBYTtBTWx0SkE7O0VBRUc7RUFHSTtFQUNBO0FOa3RKcEI7QU0xc0phOzs7Ozs7OztFQVFHO0VBQ0E7QU40c0poQjtBTTFzSmE7O0VBRUc7QU40c0poQjtBTTFzSmE7O0VBRUc7QU40c0poQjtBTTFzSmE7O0VBRUc7QU40c0poQjtBTTFzSmE7O0VBRUc7QU40c0poQjtBQUNBLG1CQUFtQjtBTXpzSk47OztFQUdHO0VBQ0E7RUFDQTtBTjJzSmhCO0FNenNKYTs7O0VBR0c7RUFHSTtBTnlzSnBCO0FNbHNKYTs7O0VBR0c7RUFDQTtBTm9zSmhCO0FNbHNKYTs7O0VBR0c7RUFHSTtBTmtzSnBCO0FNMXJKaUI7OztFQUdHO0VBR0k7QU4wckp4QjtBQUNBLGFBQWE7QU05cUpBOzs7RUFHRztFQVdJO0VBR0o7QU5vcUpoQjtBTWpxSmE7OztFQUtPO0VBV0o7QU51cEpoQjtBTXBwSmE7OztFQUtPO0VBV0o7QU4wb0poQjtBTXZvSmE7Ozs7OztFQVFPO0VBV0o7QU42bkpoQjtBQUNBLGFBQWE7QU0zbUpKOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FONm1KWjtBTTNtSlM7RUFDRztBTjZtSlo7QU0zbUpTOztFQUVHO0VBQ0E7RUFDQTtBTjZtSlo7QU0zbUpTOztFQUVHO0VBQ0E7RUFDQTtBTjZtSlo7QU0zbUpTOztFQUVHO0VBQ0E7RUFDQTtBTjZtSlo7QU0zbUpTOzs7O0VBSUc7RUFDQTtFQUNBO0FONm1KWjtBQUNBLFVBQVU7QU0xbUpHOztFQUVHO0VBQ0E7RUFDQTtBTjRtSmhCO0FNMW1KYTs7RUFFRztFQUNBO0VBQ0E7QU40bUpoQjtBTTFtSmE7O0VBRUc7RUFDQTtFQUNBO0FONG1KaEI7QU0xbUphOztFQUVHO0VBQ0E7RUFDQTtBTjRtSmhCO0FNMW1KYTs7RUFFRztFQUNBO0FONG1KaEI7QU0xbUphO0VBQ0c7QU40bUpoQjtBQUNBLGFBQWE7QU1qckpKOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0FObXJKWjtBTWpySlM7RUFDRztBTm1ySlo7QU1qckpTOztFQUVHO0VBQ0E7RUFDQTtBTm1ySlo7QU1qckpTOztFQUVHO0VBQ0E7RUFDQTtBTm1ySlo7QU1qckpTOztFQUVHO0VBQ0E7RUFDQTtBTm1ySlo7QU1qckpTOzs7O0VBSUc7RUFDQTtFQUNBO0FObXJKWjtBQUNBLFVBQVU7QU1ockpHOztFQUVHO0VBQ0E7RUFDQTtBTmtySmhCO0FNaHJKYTs7RUFFRztFQUNBO0VBQ0E7QU5rckpoQjtBTWhySmE7O0VBRUc7RUFDQTtFQUNBO0FOa3JKaEI7QU1ockphOztFQUVHO0VBQ0E7RUFDQTtBTmtySmhCO0FNaHJKYTs7RUFFRztFQUNBO0FOa3JKaEI7QU1ockphO0VBQ0c7QU5rckpoQjtBQUNBOzttQ0FFbUM7QU0xcUovQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40cUpSO0FNenFKSztFQUNHO0FOMnFKUjtBQUNBLGFBQWE7QU14cUpUO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjBxSlI7QUFDQSxtQkFBbUI7QU12cUpmO0VBQ0k7RUFDQTtFQUNBO0FOeXFKUjtBTXRxSks7RUFDRztBTndxSlI7QU1ycUpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QU51cUpSO0FNcHFKSTtFQUNJO0VBQ0E7QU5zcUpSO0FBQ0EsbUJBQW1CO0FNbnFKWDtFQUNJO0VBQ0E7QU5xcUpaO0FNbHFKUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5vcUpaO0FNbnFKYTtFQUNHO0FOcXFKaEI7QU1qcUpRO0VBQ0k7RUFDQTtBTm1xSlo7QU1ocUpRO0VBQ0k7RUFDQTtFQUNBO0FOa3FKWjtBTS9wSlE7RUFDSTtBTmlxSlo7QU05cEpZO0VBQ0k7QU5ncUpoQjtBTTFwSlE7RUFDSTtBTjRwSlo7QU16cEpZO0VBQ0k7QU4ycEpoQjtBTTFwSmdCO0VBQ0k7QU40cEpwQjtBTTNwSm9CO0VBQ0k7QU42cEp4QjtBTXZwSlk7RUFDSTtBTnlwSmhCO0FNcHBKUztFQUNHO0FOc3BKWjtBTXBwSmdCO0VBQ0k7QU5zcEpwQjtBTXBwSmdCO0VBQ0k7QU5zcEpwQjtBTWpwSlk7RUFDSTtBTm1wSmhCO0FNbHBKZ0I7RUFDSTtBTm9wSnBCO0FNanBKWTtFQUNJO0FObXBKaEI7QU1scEpnQjtFQUNJO0FOb3BKcEI7QU05b0pRO0VBQ0k7RUFDQTtFQUNBO0FOZ3BKWjtBTTdvSlk7RUFDSTtBTitvSmhCO0FNOW9KZ0I7RUFDSTtBTmdwSnBCO0FNL29Kb0I7RUFDSTtBTmlwSnhCO0FNNW9KZ0I7RUFDSTtBTjhvSnBCO0FNMW9KaUI7RUFDRztFQUNBO0FONG9KcEI7QU0zb0pvQjtFQUNJO0FONm9KeEI7QU14b0pnQjtFQUNJO0VBQ0E7QU4wb0pwQjtBTW5vSlM7O0VBRUc7RUFDQTtBTnFvSlo7QU1ub0pTO0VBQ0c7RUFDQTtBTnFvSlo7QU1sb0phOztFQUVHO0FOb29KaEI7QU1qb0pTO0VBQ0c7QU5tb0paO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qix1RkFBdUY7QUFDdkYsWUFBWTtBQUNaLHFEQUFxRDtBQUNyRDs7c0JBRXNCO0FBQ3RCLFNBQVM7QUFDVCxjQUFjO0FBQ2QsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COzsyQkFFMkI7QUFDM0IsWUFBWTtBQUNaOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCx5QkFBeUI7QUFDekI7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0IsY0FBYztBTzN2T2Q7RUFDSTtFQUNBO0FQNnZPSjtBQUNBLFdBQVc7QU8xdk9YO0VBQ0s7SUFDRztJQUNBO0lBQ0E7RVA0dk9OO0VPenZPTTtJQUNJO0VQMnZPVjtFT3h2T1U7SUFDSTtFUDB2T2Q7RU92dk9jO0lBQ0k7RVB5dk9sQjtBQUNGO0FBQ0EsV0FBVztBT252T1g7RUFDSztJQUNHO0lBQ0E7SUFDQTtFUHF2T047RU9sdk9NO0lBQ0k7RVBvdk9WO0VPanZPVTtJQUNJO0VQbXZPZDtFT2h2T2M7SUFDSTtFUGt2T2xCO0FBQ0Y7QUFDQSxrQkFBa0I7QU81dU9sQjtFQUNLO0lBQ0c7SUFDQTtJQUNBO0VQOHVPTjtFTzN1T007SUFDSTtFUDZ1T1Y7RU8xdU9VO0lBQ0k7RVA0dU9kO0VPenVPYztJQUNJO0VQMnVPbEI7QUFDRjtBQUNBLGtCQUFrQjtBT3J1T2xCO0VBQ0s7SUFDRztJQUNBO0lBQ0E7RVB1dU9OO0VPcHVPTTtJQUNJO0VQc3VPVjtFT251T1U7SUFDSTtFUHF1T2Q7RU9sdU9jO0lBQ0k7RVBvdU9sQjtBQUNGO0FBQ0E7OytCQUUrQjtBQUMvQixtQkFBbUI7QU81dE9mO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVA4dE9SO0FBQ0EsbUJBQW1CO0FPenRPZjtFQUNJO0lBQ0k7RVAydE9WO0FBQ0Y7QU96dE9JO0VBQ0k7SUFDSTtFUDJ0T1Y7QUFDRjtBT3p0T0k7RUFDSTtJQUNJO0VQMnRPVjtBQUNGO0FBQ0EsVUFBVTtBT3R0T047RUFDSTtBUHd0T1I7QUFDQTs7K0JBRStCO0FPbnRPM0I7RUFDSTtBUHF0T1I7QU9udE9JO0VBQ0k7QVBxdE9SO0FPbnRPSTtFQUNJO0FQcXRPUjtBT2p0T0k7RUFDSTtFQUNBO1VBQUE7QVBtdE9SO0FBQ0E7O3FCQUVxQjtBTy9zT2pCO0VBQ0k7RUFDQTtBUGl0T1I7QU8vc09JO0VBRVE7SUFDSTtFUGd0T2Q7RU8vc09jO0lBQ0k7RVBpdE9sQjtFTzVzT1U7SUFDSTtFUDhzT2Q7RU83c09jO0lBQ0k7RVArc09sQjtFTzNzT007SUFDSTtFUDZzT1Y7RU8xc09VO0lBQ0k7RVA0c09kO0VPM3NPYztJQUNJO0VQNnNPbEI7RU94c09VO0lBQ0k7RVAwc09kO0VPenNPYztJQUNJO0VQMnNPbEI7QUFDRjtBT3RzT0k7RUFFUTtJQUNJO0VQdXNPZDtFT3RzT2M7SUFDSTtFUHdzT2xCO0VPbnNPVTtJQUNJO0VQcXNPZDtFT3BzT2M7SUFDSTtFUHNzT2xCO0VPbHNPTTtJQUNJO0VQb3NPVjtFT25zT1U7SUFDSTtFUHFzT2Q7RU9qc09VO0lBQ0k7RVBtc09kO0VPbHNPYztJQUNJO0VQb3NPbEI7RU8vck9VO0lBQ0k7RVBpc09kO0VPaHNPYztJQUNJO0VQa3NPbEI7QUFDRjtBTzlyT0k7RUFFUTtJQUNJO0VQK3JPZDtFTzlyT2M7SUFDSTtFUGdzT2xCO0VPM3JPVTtJQUNJO0VQNnJPZDtFTzVyT2M7SUFDSTtFUDhyT2xCO0VPMXJPTTtJQUNJO0VQNHJPVjtFTzNyT1U7SUFDSTtFUDZyT2Q7RU96ck9VO0lBQ0k7RVAyck9kO0VPMXJPYztJQUNJO0VQNHJPbEI7RU92ck9VO0lBQ0k7RVB5ck9kO0VPeHJPYztJQUNJO0VQMHJPbEI7QUFDRjtBT3RyT0k7RUFFUTtJQUNJO0VQdXJPZDtFT3RyT2M7SUFDSTtFUHdyT2xCO0VPbnJPVTtJQUNJO0VQcXJPZDtFT3ByT2M7SUFDSTtFUHNyT2xCO0VPbHJPTTtJQUNJO0VQb3JPVjtFT25yT1U7SUFDSTtFUHFyT2Q7RU9qck9VO0lBQ0k7RVBtck9kO0VPbHJPYztJQUNJO0VQb3JPbEI7RU8vcU9VO0lBQ0k7RVBpck9kO0VPaHJPYztJQUNJO0VQa3JPbEI7QUFDRjtBTzdxT1E7RUFDSTtFQUNBO0FQK3FPWjtBQUNBOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFDL0I7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsNEJBQTRCO0FBQzVCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5Qjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsU0FBUztBQUNUOztzQkFFc0I7QUFDdEIsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsMEJBQTBCO0FBQzFCLGFBQWE7QUFDYixZQUFZO0FBQ1osVUFBVTtBQUNWLG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FRdnBRL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0FSeXBRSjtBQUNBOztpQkFFaUI7QVFycFFoQjtFQUNHO0VBQ0E7QVJ1cFFKO0FBQ0E7O2lCQUVpQjtBQUNqQiwwQ0FBMEM7QVFucFF6Qzs7RUFFRztBUnFwUUo7QUFDQTs7cUJBRXFCO0FRaHBRakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJrcFFSO0FRL29RSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJpcFFSO0FROW9RSTtFQUNJO0FSZ3BRUjtBUTlvUUk7RUFDSTtBUmdwUVI7QUFDQTs7cUJBRXFCO0FRMW9RakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNG9RUjtBUXpvUUk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjJvUVI7QVF4b1FJO0VBQ0k7QVIwb1FSO0FReG9RSTtFQUNJO0VBQ0E7QVIwb1FSO0FBQ0EsZ0JBQWdCO0FRdG9RUjs7RUFFSTtBUndvUVo7QVF0b1FRO0VBQ0k7O0lBRUk7RVJ3b1FkO0VRdG9RVTs7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VSd29RZDtFUXJvUVU7Ozs7SUFJSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVJ1b1FkO0VRcG9RVTs7SUFFSTtFUnNvUWQ7RVFwb1FVOztJQUVJO0VSc29RZDtBQUNGO0FBQ0E7O3FCQUVxQjtBUS9uUWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVJpb1FSO0FBQ0E7O3FCQUVxQjtBUTNuUWI7RUFDSTtBUjZuUVo7QVEzblFRO0VBQ0k7QVI2blFaO0FRem5RUTtFQUNJO0FSMm5RWjtBUXpuUVE7RUFDSTtBUjJuUVo7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QVFublFqQjtFQUNJO0FScW5RUjtBUWxuUUk7O0VBRUk7QVJvblFSO0FBQ0E7O2lCQUVpQjtBUS9tUWI7OztFQUdJO0FSaW5RUjtBUS9tUUk7OztFQUdJO0FSaW5RUjtBQUNBOztpQkFFaUI7QVE1bVFiO0VBQ0k7QVI4bVFSO0FBQ0E7O3FCQUVxQjtBUXhtUWpCO0VBQ0k7QVIwbVFSO0FBQ0E7O3FCQUVxQjtBUXBtUWpCO0VBQ0k7RUFDQTtBUnNtUVI7QUFDQTs7aUJBRWlCO0FRam1RakI7RUFDSTtBUm1tUUo7QVE5bFFTO0VBQ0c7QVJnbVFaO0FRam1RUztFQUNHO0FSbW1RWjtBUXBtUVM7RUFDRztBUnNtUVo7QVF2bVFTO0VBQ0c7QVJ5bVFaO0FRMW1RUztFQUNHO0FSNG1RWjtBUTdtUVM7RUFDRztBUittUVo7QVFoblFTO0VBQ0c7QVJrblFaO0FBQ0E7OytCQUUrQjtBU3I1US9COztFQUVJO0FUdTVRSjtBU3A1UUE7RUFDSTs7OztJQUlJO0VUczVRTjtBQUNGO0FBQ0E7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFDL0I7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsNEJBQTRCO0FBQzVCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5Qjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLFlBQVk7QUFDWjs7O0NBR0M7QUFDRDs7K0JBRStCO0FBQy9COztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQixvQkFBb0I7QUFDcEIsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FVaGlTL0I7RUFDSTtFQUNBO0VBQ0E7QVZraVNKO0FVL2hTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpaVNKO0FBQ0E7OytCQUUrQjtBVXpoUzNCO0VBQ0k7QVYyaFNSO0FBQ0E7OytCQUUrQjtBVXJoUzNCO0VBQ0k7QVZ1aFNSO0FBQ0E7OzBCQUUwQjtBVWpoU3JCO0VBQ0c7QVZtaFNSO0FBQ0EscUJBQXFCO0FVN2dTaEI7RUFDRztFQUNBO0FWK2dTUjtBVWpoU0s7RUFDRztFQUNBO0FWbWhTUjtBVXJoU0s7RUFDRztFQUNBO0FWdWhTUjtBVXpoU0s7RUFDRztFQUNBO0FWMmhTUjtBVXJoU1E7O0VBQ0k7QVZ3aFNaO0FVemhTUTs7RUFDSTtBVjRoU1o7QVU3aFNROztFQUNJO0FWZ2lTWjtBVWppU1E7O0VBQ0k7QVZvaVNaO0FVcmlTUTs7RUFDSTtBVndpU1o7QVV6aVNROztFQUNJO0FWNGlTWjtBVTdpU1E7O0VBQ0k7QVZnalNaO0FVampTUTs7RUFDSTtBVm9qU1o7QVVyalNROztFQUNJO0FWd2pTWjtBVXpqU1E7O0VBQ0k7QVY0alNaO0FVN2pTUTs7RUFDSTtBVmdrU1o7QVVqa1NROztFQUNJO0FWb2tTWjtBVXJrU1E7O0VBQ0k7QVZ3a1NaO0FVemtTUTs7RUFDSTtBVjRrU1o7QVU3a1NROztFQUNJO0FWZ2xTWjtBVWpsU1E7O0VBQ0k7QVZvbFNaO0FVcmxTUTs7RUFDSTtBVndsU1o7QVV6bFNROztFQUNJO0FWNGxTWjtBVTdsU1E7O0VBQ0k7QVZnbVNaO0FVam1TUTs7RUFDSTtBVm9tU1o7QVVybVNROztFQUNJO0FWd21TWjtBVXptU1E7O0VBQ0k7QVY0bVNaO0FVN21TUTs7RUFDSTtBVmduU1o7QVVqblNROztFQUNJO0FWb25TWjtBVXJuU1E7O0VBQ0k7QVZ3blNaO0FVem5TUTs7RUFDSTtBVjRuU1o7QVU3blNROztFQUNJO0FWZ29TWjtBVWpvU1E7O0VBQ0k7QVZvb1NaO0FVcm9TUTs7RUFDSTtBVndvU1o7QVV6b1NROztFQUNJO0FWNG9TWjtBVTdvU1E7O0VBQ0k7QVZncFNaO0FVanBTUTs7RUFDSTtBVm9wU1o7QVVycFNROztFQUNJO0FWd3BTWjtBVXpwU1E7O0VBQ0k7QVY0cFNaO0FVN3BTUTs7RUFDSTtBVmdxU1o7QVVqcVNROztFQUNJO0FWb3FTWjtBVXJxU1E7O0VBQ0k7QVZ3cVNaO0FVenFTUTs7RUFDSTtBVjRxU1o7QVU3cVNROztFQUNJO0FWZ3JTWjtBVWpyU1E7O0VBQ0k7QVZvclNaO0FVcnJTUTs7RUFDSTtBVndyU1o7QVV6clNROztFQUNJO0FWNHJTWjtBVTdyU1E7O0VBQ0k7QVZnc1NaO0FVanNTUTs7RUFDSTtBVm9zU1o7QVVyc1NROztFQUNJO0FWd3NTWjtBVXpzU1E7O0VBQ0k7QVY0c1NaO0FVN3NTUTs7RUFDSTtBVmd0U1o7QVVqdFNROztFQUNJO0FWb3RTWjtBVXJ0U1E7O0VBQ0k7QVZ3dFNaO0FVenRTUTs7RUFDSTtBVjR0U1o7QVU3dFNROztFQUNJO0FWZ3VTWjtBVWp1U1E7O0VBQ0k7QVZvdVNaO0FVcnVTUTs7RUFDSTtBVnd1U1o7QVV6dVNROztFQUNJO0FWNHVTWjtBVTd1U1E7O0VBQ0k7QVZndlNaO0FVanZTUTs7RUFDSTtBVm92U1o7QVVydlNROztFQUNJO0FWd3ZTWjtBVXp2U1E7O0VBQ0k7QVY0dlNaO0FVN3ZTUTs7RUFDSTtBVmd3U1o7QVVqd1NROztFQUNJO0FWb3dTWjtBVXJ3U1E7O0VBQ0k7QVZ3d1NaO0FVendTUTs7RUFDSTtBVjR3U1o7QVU3d1NROztFQUNJO0FWZ3hTWjtBVWp4U1E7O0VBQ0k7QVZveFNaO0FVcnhTUTs7RUFDSTtBVnd4U1o7QVV6eFNROztFQUNJO0FWNHhTWjtBVTd4U1E7O0VBQ0k7QVZneVNaO0FVanlTUTs7RUFDSTtBVm95U1o7QVVyeVNROztFQUNJO0FWd3lTWjtBVXp5U1E7O0VBQ0k7QVY0eVNaO0FVN3lTUTs7RUFDSTtBVmd6U1o7QVVqelNROztFQUNJO0FWb3pTWjtBVXJ6U1E7O0VBQ0k7QVZ3elNaO0FVenpTUTs7RUFDSTtBVjR6U1o7QVU3elNROztFQUNJO0FWZzBTWjtBVWowU1E7O0VBQ0k7QVZvMFNaO0FVcjBTUTs7RUFDSTtBVncwU1o7QVV6MFNROztFQUNJO0FWNDBTWjtBVTcwU1E7O0VBQ0k7QVZnMVNaO0FVajFTUTs7RUFDSTtBVm8xU1o7QVVyMVNROztFQUNJO0FWdzFTWjtBVXoxU1E7O0VBQ0k7QVY0MVNaO0FVNzFTUTs7RUFDSTtBVmcyU1o7QVVqMlNROztFQUNJO0FWbzJTWjtBVXIyU1E7O0VBQ0k7QVZ3MlNaO0FVejJTUTs7RUFDSTtBVjQyU1o7QVU3MlNROztFQUNJO0FWZzNTWjtBVWozU1E7O0VBQ0k7QVZvM1NaO0FVcjNTUTs7RUFDSTtBVnczU1o7QVV6M1NROztFQUNJO0FWNDNTWjtBVTczU1E7O0VBQ0k7QVZnNFNaO0FVajRTUTs7RUFDSTtBVm80U1o7QVVyNFNROztFQUNJO0FWdzRTWjtBVXo0U1E7O0VBQ0k7QVY0NFNaO0FVNzRTUTs7RUFDSTtBVmc1U1o7QVVqNVNROztFQUNJO0FWbzVTWjtBVXI1U1E7O0VBQ0k7QVZ3NVNaO0FVejVTUTs7RUFDSTtBVjQ1U1o7QVU3NVNROztFQUNJO0FWZzZTWjtBVWo2U1E7O0VBQ0k7QVZvNlNaO0FVcjZTUTs7RUFDSTtBVnc2U1o7QVV6NlNROztFQUNJO0FWNDZTWjtBVTc2U1E7O0VBQ0k7QVZnN1NaO0FVajdTUTs7RUFDSTtBVm83U1o7QVVyN1NROztFQUNJO0FWdzdTWjtBVXo3U1E7O0VBQ0k7QVY0N1NaO0FVNzdTUTs7RUFDSTtBVmc4U1o7QVVqOFNROztFQUNJO0FWbzhTWjtBVXI4U1E7O0VBQ0k7QVZ3OFNaO0FVejhTUTs7RUFDSTtBVjQ4U1o7QVU3OFNROztFQUNJO0FWZzlTWjtBVWo5U1E7O0VBQ0k7QVZvOVNaO0FVcjlTUTs7RUFDSTtBVnc5U1o7QVV6OVNROztFQUNJO0FWNDlTWjtBVTc5U1E7O0VBQ0k7QVZnK1NaO0FVaitTUTs7RUFDSTtBVm8rU1o7QVVyK1NROztFQUNJO0FWdytTWjtBVXorU1E7O0VBQ0k7QVY0K1NaO0FVNytTUTs7RUFDSTtBVmcvU1o7QVVqL1NROztFQUNJO0FWby9TWjtBVXIvU1E7O0VBQ0k7QVZ3L1NaO0FVei9TUTs7RUFDSTtBVjQvU1o7QVU3L1NROztFQUNJO0FWZ2dUWjtBVWpnVFE7O0VBQ0k7QVZvZ1RaO0FVcmdUUTs7RUFDSTtBVndnVFo7QVV6Z1RROztFQUNJO0FWNGdUWjtBVTdnVFE7O0VBQ0k7QVZnaFRaO0FVamhUUTs7RUFDSTtBVm9oVFo7QVVyaFRROztFQUNJO0FWd2hUWjtBVXpoVFE7O0VBQ0k7QVY0aFRaO0FVN2hUUTs7RUFDSTtBVmdpVFo7QVVqaVRROztFQUNJO0FWb2lUWjtBVXJpVFE7O0VBQ0k7QVZ3aVRaO0FVemlUUTs7RUFDSTtBVjRpVFo7QVU3aVRROztFQUNJO0FWZ2pUWjtBVWpqVFE7O0VBQ0k7QVZvalRaO0FVcmpUUTs7RUFDSTtBVndqVFo7QVV6alRROztFQUNJO0FWNGpUWjtBVTdqVFE7O0VBQ0k7QVZna1RaO0FVamtUUTs7RUFDSTtBVm9rVFo7QVVya1RROztFQUNJO0FWd2tUWjtBVXprVFE7O0VBQ0k7QVY0a1RaO0FVN2tUUTs7RUFDSTtBVmdsVFo7QVVqbFRROztFQUNJO0FWb2xUWjtBVXJsVFE7O0VBQ0k7QVZ3bFRaO0FVemxUUTs7RUFDSTtBVjRsVFo7QVU3bFRROztFQUNJO0FWZ21UWjtBVWptVFE7O0VBQ0k7QVZvbVRaO0FVcm1UUTs7RUFDSTtBVndtVFo7QVV6bVRROztFQUNJO0FWNG1UWjtBVTdtVFE7O0VBQ0k7QVZnblRaO0FVam5UUTs7RUFDSTtBVm9uVFo7QVVyblRROztFQUNJO0FWd25UWjtBVXpuVFE7O0VBQ0k7QVY0blRaO0FVN25UUTs7RUFDSTtBVmdvVFo7QVVqb1RROztFQUNJO0FWb29UWjtBVXJvVFE7O0VBQ0k7QVZ3b1RaO0FVem9UUTs7RUFDSTtBVjRvVFo7QVU3b1RROztFQUNJO0FWZ3BUWjtBVWpwVFE7O0VBQ0k7QVZvcFRaO0FVcnBUUTs7RUFDSTtBVndwVFo7QVV6cFRROztFQUNJO0FWNHBUWjtBVTdwVFE7O0VBQ0k7QVZncVRaO0FVanFUUTs7RUFDSTtBVm9xVFo7QVVycVRROztFQUNJO0FWd3FUWjtBVXpxVFE7O0VBQ0k7QVY0cVRaO0FVN3FUUTs7RUFDSTtBVmdyVFo7QVVqclRROztFQUNJO0FWb3JUWjtBVXJyVFE7O0VBQ0k7QVZ3clRaO0FVenJUUTs7RUFDSTtBVjRyVFo7QVU3clRROztFQUNJO0FWZ3NUWjtBVWpzVFE7O0VBQ0k7QVZvc1RaO0FVcnNUUTs7RUFDSTtBVndzVFo7QVV6c1RROztFQUNJO0FWNHNUWjtBVTdzVFE7O0VBQ0k7QVZndFRaO0FVanRUUTs7RUFDSTtBVm90VFo7QVVydFRROztFQUNJO0FWd3RUWjtBVXp0VFE7O0VBQ0k7QVY0dFRaO0FVN3RUUTs7RUFDSTtBVmd1VFo7QVVqdVRROztFQUNJO0FWb3VUWjtBVXJ1VFE7O0VBQ0k7QVZ3dVRaO0FVenVUUTs7RUFDSTtBVjR1VFo7QVU3dVRROztFQUNJO0FWZ3ZUWjtBVWp2VFE7O0VBQ0k7QVZvdlRaO0FVcnZUUTs7RUFDSTtBVnd2VFo7QVV6dlRROztFQUNJO0FWNHZUWjtBVTd2VFE7O0VBQ0k7QVZnd1RaO0FVandUUTs7RUFDSTtBVm93VFo7QVVyd1RROztFQUNJO0FWd3dUWjtBVXp3VFE7O0VBQ0k7QVY0d1RaO0FVN3dUUTs7RUFDSTtBVmd4VFo7QVVqeFRROztFQUNJO0FWb3hUWjtBVXJ4VFE7O0VBQ0k7QVZ3eFRaO0FVenhUUTs7RUFDSTtBVjR4VFo7QVU3eFRROztFQUNJO0FWZ3lUWjtBVWp5VFE7O0VBQ0k7QVZveVRaO0FVcnlUUTs7RUFDSTtBVnd5VFo7QVV6eVRROztFQUNJO0FWNHlUWjtBVTd5VFE7O0VBQ0k7QVZnelRaO0FVanpUUTs7RUFDSTtBVm96VFo7QVVyelRROztFQUNJO0FWd3pUWjtBVXp6VFE7O0VBQ0k7QVY0elRaO0FVN3pUUTs7RUFDSTtBVmcwVFo7QVVqMFRROztFQUNJO0FWbzBUWjtBVXIwVFE7O0VBQ0k7QVZ3MFRaO0FVejBUUTs7RUFDSTtBVjQwVFo7QVU3MFRROztFQUNJO0FWZzFUWjtBVWoxVFE7O0VBQ0k7QVZvMVRaO0FVcjFUUTs7RUFDSTtBVncxVFo7QVV6MVRROztFQUNJO0FWNDFUWjtBVTcxVFE7O0VBQ0k7QVZnMlRaO0FVajJUUTs7RUFDSTtBVm8yVFo7QVVyMlRROztFQUNJO0FWdzJUWjtBVXoyVFE7O0VBQ0k7QVY0MlRaO0FVNzJUUTs7RUFDSTtBVmczVFo7QVVqM1RROztFQUNJO0FWbzNUWjtBVXIzVFE7O0VBQ0k7QVZ3M1RaO0FVejNUUTs7RUFDSTtBVjQzVFo7QVU3M1RROztFQUNJO0FWZzRUWjtBVWo0VFE7O0VBQ0k7QVZvNFRaO0FVcjRUUTs7RUFDSTtBVnc0VFo7QVV6NFRROztFQUNJO0FWNDRUWjtBVTc0VFE7O0VBQ0k7QVZnNVRaO0FVajVUUTs7RUFDSTtBVm81VFo7QVVyNVRROztFQUNJO0FWdzVUWjtBVXo1VFE7O0VBQ0k7QVY0NVRaO0FVNzVUUTs7RUFDSTtBVmc2VFo7QVVqNlRROztFQUNJO0FWbzZUWjtBVXI2VFE7O0VBQ0k7QVZ3NlRaO0FVejZUUTs7RUFDSTtBVjQ2VFo7QVU3NlRROztFQUNJO0FWZzdUWjtBVWo3VFE7O0VBQ0k7QVZvN1RaO0FVcjdUUTs7RUFDSTtBVnc3VFo7QVV6N1RROztFQUNJO0FWNDdUWjtBVTc3VFE7O0VBQ0k7QVZnOFRaO0FVajhUUTs7RUFDSTtBVm84VFo7QVVyOFRROztFQUNJO0FWdzhUWjtBVXo4VFE7O0VBQ0k7QVY0OFRaO0FVNzhUUTs7RUFDSTtBVmc5VFo7QVVqOVRROztFQUNJO0FWbzlUWjtBVXI5VFE7O0VBQ0k7QVZ3OVRaO0FVejlUUTs7RUFDSTtBVjQ5VFo7QVU3OVRROztFQUNJO0FWZytUWjtBVWorVFE7O0VBQ0k7QVZvK1RaO0FVcitUUTs7RUFDSTtBVncrVFo7QVV6K1RROztFQUNJO0FWNCtUWjtBVTcrVFE7O0VBQ0k7QVZnL1RaO0FVai9UUTs7RUFDSTtBVm8vVFo7QVVyL1RROztFQUNJO0FWdy9UWjtBVXovVFE7O0VBQ0k7QVY0L1RaO0FVNy9UUTs7RUFDSTtBVmdnVVo7QVVqZ1VROztFQUNJO0FWb2dVWjtBVXJnVVE7O0VBQ0k7QVZ3Z1VaO0FVemdVUTs7RUFDSTtBVjRnVVo7QVU3Z1VROztFQUNJO0FWZ2hVWjtBVWpoVVE7O0VBQ0k7QVZvaFVaO0FVcmhVUTs7RUFDSTtBVndoVVo7QVV6aFVROztFQUNJO0FWNGhVWjtBVTdoVVE7O0VBQ0k7QVZnaVVaO0FVamlVUTs7RUFDSTtBVm9pVVo7QVVyaVVROztFQUNJO0FWd2lVWjtBVXppVVE7O0VBQ0k7QVY0aVVaO0FVN2lVUTs7RUFDSTtBVmdqVVo7QVVqalVROztFQUNJO0FWb2pVWjtBVXJqVVE7O0VBQ0k7QVZ3alVaO0FVempVUTs7RUFDSTtBVjRqVVo7QVU3alVROztFQUNJO0FWZ2tVWjtBVWprVVE7O0VBQ0k7QVZva1VaO0FVcmtVUTs7RUFDSTtBVndrVVo7QVV6a1VROztFQUNJO0FWNGtVWjtBVTdrVVE7O0VBQ0k7QVZnbFVaO0FVamxVUTs7RUFDSTtBVm9sVVo7QVVybFVROztFQUNJO0FWd2xVWjtBVXpsVVE7O0VBQ0k7QVY0bFVaO0FVN2xVUTs7RUFDSTtBVmdtVVo7QVVqbVVROztFQUNJO0FWb21VWjtBVXJtVVE7O0VBQ0k7QVZ3bVVaO0FVem1VUTs7RUFDSTtBVjRtVVo7QVU3bVVROztFQUNJO0FWZ25VWjtBVWpuVVE7O0VBQ0k7QVZvblVaO0FVcm5VUTs7RUFDSTtBVnduVVo7QVV6blVROztFQUNJO0FWNG5VWjtBVTduVVE7O0VBQ0k7QVZnb1VaO0FVam9VUTs7RUFDSTtBVm9vVVo7QVVyb1VROztFQUNJO0FWd29VWjtBVXpvVVE7O0VBQ0k7QVY0b1VaO0FVN29VUTs7RUFDSTtBVmdwVVo7QVVqcFVROztFQUNJO0FWb3BVWjtBVXJwVVE7O0VBQ0k7QVZ3cFVaO0FVenBVUTs7RUFDSTtBVjRwVVo7QVU3cFVROztFQUNJO0FWZ3FVWjtBVWpxVVE7O0VBQ0k7QVZvcVVaO0FVcnFVUTs7RUFDSTtBVndxVVo7QVV6cVVROztFQUNJO0FWNHFVWjtBVTdxVVE7O0VBQ0k7QVZnclVaO0FVanJVUTs7RUFDSTtBVm9yVVo7QVVyclVROztFQUNJO0FWd3JVWjtBVXpyVVE7O0VBQ0k7QVY0clVaO0FVN3JVUTs7RUFDSTtBVmdzVVo7QVVqc1VROztFQUNJO0FWb3NVWjtBVXJzVVE7O0VBQ0k7QVZ3c1VaO0FVenNVUTs7RUFDSTtBVjRzVVo7QVU3c1VROztFQUNJO0FWZ3RVWjtBVWp0VVE7O0VBQ0k7QVZvdFVaO0FVcnRVUTs7RUFDSTtBVnd0VVo7QVV6dFVROztFQUNJO0FWNHRVWjtBVTd0VVE7O0VBQ0k7QVZndVVaO0FVanVVUTs7RUFDSTtBVm91VVo7QVVydVVROztFQUNJO0FWd3VVWjtBVXp1VVE7O0VBQ0k7QVY0dVVaO0FVN3VVUTs7RUFDSTtBVmd2VVo7QVVqdlVROztFQUNJO0FWb3ZVWjtBVXJ2VVE7O0VBQ0k7QVZ3dlVaO0FVenZVUTs7RUFDSTtBVjR2VVo7QVU3dlVROztFQUNJO0FWZ3dVWjtBVWp3VVE7O0VBQ0k7QVZvd1VaO0FVcndVUTs7RUFDSTtBVnd3VVo7QVV6d1VROztFQUNJO0FWNHdVWjtBVTd3VVE7O0VBQ0k7QVZneFVaO0FVanhVUTs7RUFDSTtBVm94VVo7QVVyeFVROztFQUNJO0FWd3hVWjtBVXp4VVE7O0VBQ0k7QVY0eFVaO0FVN3hVUTs7RUFDSTtBVmd5VVo7QVVqeVVROztFQUNJO0FWb3lVWjtBVXJ5VVE7O0VBQ0k7QVZ3eVVaO0FVenlVUTs7RUFDSTtBVjR5VVo7QVU3eVVROztFQUNJO0FWZ3pVWjtBVWp6VVE7O0VBQ0k7QVZvelVaO0FVcnpVUTs7RUFDSTtBVnd6VVo7QVV6elVROztFQUNJO0FWNHpVWjtBVTd6VVE7O0VBQ0k7QVZnMFVaO0FVajBVUTs7RUFDSTtBVm8wVVo7QVVyMFVROztFQUNJO0FWdzBVWjtBVXowVVE7O0VBQ0k7QVY0MFVaO0FVNzBVUTs7RUFDSTtBVmcxVVo7QVVqMVVROztFQUNJO0FWbzFVWjtBVXIxVVE7O0VBQ0k7QVZ3MVVaO0FVejFVUTs7RUFDSTtBVjQxVVo7QVU3MVVROztFQUNJO0FWZzJVWjtBVWoyVVE7O0VBQ0k7QVZvMlVaO0FVcjJVUTs7RUFDSTtBVncyVVo7QVV6MlVROztFQUNJO0FWNDJVWjtBVTcyVVE7O0VBQ0k7QVZnM1VaO0FVajNVUTs7RUFDSTtBVm8zVVo7QVVyM1VROztFQUNJO0FWdzNVWjtBVXozVVE7O0VBQ0k7QVY0M1VaO0FVNzNVUTs7RUFDSTtBVmc0VVo7QVVqNFVROztFQUNJO0FWbzRVWjtBVXI0VVE7O0VBQ0k7QVZ3NFVaO0FVejRVUTs7RUFDSTtBVjQ0VVo7QVU3NFVROztFQUNJO0FWZzVVWjtBVWo1VVE7O0VBQ0k7QVZvNVVaO0FVcjVVUTs7RUFDSTtBVnc1VVo7QVV6NVVROztFQUNJO0FWNDVVWjtBVTc1VVE7O0VBQ0k7QVZnNlVaO0FVajZVUTs7RUFDSTtBVm82VVo7QVVyNlVROztFQUNJO0FWdzZVWjtBVXo2VVE7O0VBQ0k7QVY0NlVaO0FVNzZVUTs7RUFDSTtBVmc3VVo7QVVqN1VROztFQUNJO0FWbzdVWjtBVXI3VVE7O0VBQ0k7QVZ3N1VaO0FVejdVUTs7RUFDSTtBVjQ3VVo7QVU3N1VROztFQUNJO0FWZzhVWjtBVWo4VVE7O0VBQ0k7QVZvOFVaO0FVcjhVUTs7RUFDSTtBVnc4VVo7QVV6OFVROztFQUNJO0FWNDhVWjtBVTc4VVE7O0VBQ0k7QVZnOVVaO0FVajlVUTs7RUFDSTtBVm85VVo7QVVyOVVROztFQUNJO0FWdzlVWjtBVXo5VVE7O0VBQ0k7QVY0OVVaO0FVNzlVUTs7RUFDSTtBVmcrVVo7QVVqK1VROztFQUNJO0FWbytVWjtBVXIrVVE7O0VBQ0k7QVZ3K1VaO0FVeitVUTs7RUFDSTtBVjQrVVo7QVU3K1VROztFQUNJO0FWZy9VWjtBVWovVVE7O0VBQ0k7QVZvL1VaO0FVci9VUTs7RUFDSTtBVncvVVo7QVV6L1VROztFQUNJO0FWNC9VWjtBVTcvVVE7O0VBQ0k7QVZnZ1ZaO0FVamdWUTs7RUFDSTtBVm9nVlo7QVVyZ1ZROztFQUNJO0FWd2dWWjtBVXpnVlE7O0VBQ0k7QVY0Z1ZaO0FVN2dWUTs7RUFDSTtBVmdoVlo7QVVqaFZROztFQUNJO0FWb2hWWjtBVXJoVlE7O0VBQ0k7QVZ3aFZaO0FVemhWUTs7RUFDSTtBVjRoVlo7QVU3aFZROztFQUNJO0FWZ2lWWjtBVWppVlE7O0VBQ0k7QVZvaVZaO0FVcmlWUTs7RUFDSTtBVndpVlo7QVV6aVZROztFQUNJO0FWNGlWWjtBVTdpVlE7O0VBQ0k7QVZnalZaO0FVampWUTs7RUFDSTtBVm9qVlo7QVVyalZROztFQUNJO0FWd2pWWjtBVXpqVlE7O0VBQ0k7QVY0alZaO0FVN2pWUTs7RUFDSTtBVmdrVlo7QVVqa1ZROztFQUNJO0FWb2tWWjtBVXJrVlE7O0VBQ0k7QVZ3a1ZaO0FVemtWUTs7RUFDSTtBVjRrVlo7QVU3a1ZROztFQUNJO0FWZ2xWWjtBVWpsVlE7O0VBQ0k7QVZvbFZaO0FVcmxWUTs7RUFDSTtBVndsVlo7QVV6bFZROztFQUNJO0FWNGxWWjtBVTdsVlE7O0VBQ0k7QVZnbVZaO0FVam1WUTs7RUFDSTtBVm9tVlo7QVVybVZROztFQUNJO0FWd21WWjtBVXptVlE7O0VBQ0k7QVY0bVZaO0FVN21WUTs7RUFDSTtBVmduVlo7QVVqblZROztFQUNJO0FWb25WWjtBVXJuVlE7O0VBQ0k7QVZ3blZaO0FVem5WUTs7RUFDSTtBVjRuVlo7QVU3blZROztFQUNJO0FWZ29WWjtBVWpvVlE7O0VBQ0k7QVZvb1ZaO0FVcm9WUTs7RUFDSTtBVndvVlo7QVV6b1ZROztFQUNJO0FWNG9WWjtBVTdvVlE7O0VBQ0k7QVZncFZaO0FVanBWUTs7RUFDSTtBVm9wVlo7QVVycFZROztFQUNJO0FWd3BWWjtBVXpwVlE7O0VBQ0k7QVY0cFZaO0FVN3BWUTs7RUFDSTtBVmdxVlo7QVVqcVZROztFQUNJO0FWb3FWWjtBVXJxVlE7O0VBQ0k7QVZ3cVZaO0FVenFWUTs7RUFDSTtBVjRxVlo7QVU3cVZROztFQUNJO0FWZ3JWWjtBVWpyVlE7O0VBQ0k7QVZvclZaO0FVcnJWUTs7RUFDSTtBVndyVlo7QVV6clZROztFQUNJO0FWNHJWWjtBVTdyVlE7O0VBQ0k7QVZnc1ZaO0FVanNWUTs7RUFDSTtBVm9zVlo7QVVyc1ZROztFQUNJO0FWd3NWWjtBVXpzVlE7O0VBQ0k7QVY0c1ZaO0FVN3NWUTs7RUFDSTtBVmd0Vlo7QVVqdFZROztFQUNJO0FWb3RWWjtBVXJ0VlE7O0VBQ0k7QVZ3dFZaO0FVenRWUTs7RUFDSTtBVjR0Vlo7QVU3dFZROztFQUNJO0FWZ3VWWjtBVWp1VlE7O0VBQ0k7QVZvdVZaO0FVcnVWUTs7RUFDSTtBVnd1Vlo7QVV6dVZROztFQUNJO0FWNHVWWjtBVTd1VlE7O0VBQ0k7QVZndlZaO0FVanZWUTs7RUFDSTtBVm92Vlo7QVVydlZROztFQUNJO0FWd3ZWWjtBVXp2VlE7O0VBQ0k7QVY0dlZaO0FVN3ZWUTs7RUFDSTtBVmd3Vlo7QVVqd1ZROztFQUNJO0FWb3dWWjtBVXJ3VlE7O0VBQ0k7QVZ3d1ZaO0FVendWUTs7RUFDSTtBVjR3Vlo7QVU3d1ZROztFQUNJO0FWZ3hWWjtBVWp4VlE7O0VBQ0k7QVZveFZaO0FVcnhWUTs7RUFDSTtBVnd4Vlo7QVV6eFZROztFQUNJO0FWNHhWWjtBVTd4VlE7O0VBQ0k7QVZneVZaO0FVanlWUTs7RUFDSTtBVm95Vlo7QVVyeVZROztFQUNJO0FWd3lWWjtBVXp5VlE7O0VBQ0k7QVY0eVZaO0FVN3lWUTs7RUFDSTtBVmd6Vlo7QVVqelZROztFQUNJO0FWb3pWWjtBVXJ6VlE7O0VBQ0k7QVZ3elZaO0FVenpWUTs7RUFDSTtBVjR6Vlo7QVU3elZROztFQUNJO0FWZzBWWjtBVWowVlE7O0VBQ0k7QVZvMFZaO0FVcjBWUTs7RUFDSTtBVncwVlo7QVV6MFZROztFQUNJO0FWNDBWWjtBVTcwVlE7O0VBQ0k7QVZnMVZaO0FVajFWUTs7RUFDSTtBVm8xVlo7QVVyMVZROztFQUNJO0FWdzFWWjtBVXoxVlE7O0VBQ0k7QVY0MVZaO0FVNzFWUTs7RUFDSTtBVmcyVlo7QVVqMlZROztFQUNJO0FWbzJWWjtBVXIyVlE7O0VBQ0k7QVZ3MlZaO0FVejJWUTs7RUFDSTtBVjQyVlo7QVU3MlZROztFQUNJO0FWZzNWWjtBVWozVlE7O0VBQ0k7QVZvM1ZaO0FVcjNWUTs7RUFDSTtBVnczVlo7QVV6M1ZROztFQUNJO0FWNDNWWjtBVTczVlE7O0VBQ0k7QVZnNFZaO0FVajRWUTs7RUFDSTtBVm80Vlo7QVVyNFZROztFQUNJO0FWdzRWWjtBVXo0VlE7O0VBQ0k7QVY0NFZaO0FVNzRWUTs7RUFDSTtBVmc1Vlo7QVVqNVZROztFQUNJO0FWbzVWWjtBVXI1VlE7O0VBQ0k7QVZ3NVZaO0FVejVWUTs7RUFDSTtBVjQ1Vlo7QVU3NVZROztFQUNJO0FWZzZWWjtBVWo2VlE7O0VBQ0k7QVZvNlZaO0FVcjZWUTs7RUFDSTtBVnc2Vlo7QVV6NlZROztFQUNJO0FWNDZWWjtBVTc2VlE7O0VBQ0k7QVZnN1ZaO0FVajdWUTs7RUFDSTtBVm83Vlo7QVVyN1ZROztFQUNJO0FWdzdWWjtBVXo3VlE7O0VBQ0k7QVY0N1ZaO0FVNzdWUTs7RUFDSTtBVmc4Vlo7QVVqOFZROztFQUNJO0FWbzhWWjtBVXI4VlE7O0VBQ0k7QVZ3OFZaO0FVejhWUTs7RUFDSTtBVjQ4Vlo7QVU3OFZROztFQUNJO0FWZzlWWjtBVWo5VlE7O0VBQ0k7QVZvOVZaO0FVcjlWUTs7RUFDSTtBVnc5Vlo7QVV6OVZROztFQUNJO0FWNDlWWjtBVTc5VlE7O0VBQ0k7QVZnK1ZaO0FVaitWUTs7RUFDSTtBVm8rVlo7QVVyK1ZROztFQUNJO0FWdytWWjtBVXorVlE7O0VBQ0k7QVY0K1ZaO0FVNytWUTs7RUFDSTtBVmcvVlo7QVVqL1ZROztFQUNJO0FWby9WWjtBVXIvVlE7O0VBQ0k7QVZ3L1ZaO0FVei9WUTs7RUFDSTtBVjQvVlo7QVU3L1ZROztFQUNJO0FWZ2dXWjtBVWpnV1E7O0VBQ0k7QVZvZ1daO0FVcmdXUTs7RUFDSTtBVndnV1o7QVV6Z1dROztFQUNJO0FWNGdXWjtBVTdnV1E7O0VBQ0k7QVZnaFdaO0FVamhXUTs7RUFDSTtBVm9oV1o7QVVyaFdROztFQUNJO0FWd2hXWjtBVXpoV1E7O0VBQ0k7QVY0aFdaO0FVN2hXUTs7RUFDSTtBVmdpV1o7QVVqaVdROztFQUNJO0FWb2lXWjtBVXJpV1E7O0VBQ0k7QVZ3aVdaO0FVemlXUTs7RUFDSTtBVjRpV1o7QVU3aVdROztFQUNJO0FWZ2pXWjtBVWpqV1E7O0VBQ0k7QVZvaldaO0FVcmpXUTs7RUFDSTtBVndqV1o7QVV6aldROztFQUNJO0FWNGpXWjtBVTdqV1E7O0VBQ0k7QVZna1daO0FVamtXUTs7RUFDSTtBVm9rV1o7QVVya1dROztFQUNJO0FWd2tXWjtBVXprV1E7O0VBQ0k7QVY0a1daO0FVN2tXUTs7RUFDSTtBVmdsV1o7QVVqbFdROztFQUNJO0FWb2xXWjtBVXJsV1E7O0VBQ0k7QVZ3bFdaO0FVemxXUTs7RUFDSTtBVjRsV1o7QVU3bFdROztFQUNJO0FWZ21XWjtBVWptV1E7O0VBQ0k7QVZvbVdaO0FVcm1XUTs7RUFDSTtBVndtV1o7QVV6bVdROztFQUNJO0FWNG1XWjtBVTdtV1E7O0VBQ0k7QVZnbldaO0FVam5XUTs7RUFDSTtBVm9uV1o7QVVybldROztFQUNJO0FWd25XWjtBVXpuV1E7O0VBQ0k7QVY0bldaO0FVN25XUTs7RUFDSTtBVmdvV1o7QVVqb1dROztFQUNJO0FWb29XWjtBVXJvV1E7O0VBQ0k7QVZ3b1daO0FVem9XUTs7RUFDSTtBVjRvV1o7QVU3b1dROztFQUNJO0FWZ3BXWjtBVWpwV1E7O0VBQ0k7QVZvcFdaO0FVcnBXUTs7RUFDSTtBVndwV1o7QVV6cFdROztFQUNJO0FWNHBXWjtBVTdwV1E7O0VBQ0k7QVZncVdaO0FVanFXUTs7RUFDSTtBVm9xV1o7QVVycVdROztFQUNJO0FWd3FXWjtBVXpxV1E7O0VBQ0k7QVY0cVdaO0FVN3FXUTs7RUFDSTtBVmdyV1o7QVVqcldROztFQUNJO0FWb3JXWjtBVXJyV1E7O0VBQ0k7QVZ3cldaO0FVenJXUTs7RUFDSTtBVjRyV1o7QVU3cldROztFQUNJO0FWZ3NXWjtBVWpzV1E7O0VBQ0k7QVZvc1daO0FVcnNXUTs7RUFDSTtBVndzV1o7QVV6c1dROztFQUNJO0FWNHNXWjtBVTdzV1E7O0VBQ0k7QVZndFdaO0FVanRXUTs7RUFDSTtBVm90V1o7QVVydFdROztFQUNJO0FWd3RXWjtBVXp0V1E7O0VBQ0k7QVY0dFdaO0FVN3RXUTs7RUFDSTtBVmd1V1o7QVVqdVdROztFQUNJO0FWb3VXWjtBVXJ1V1E7O0VBQ0k7QVZ3dVdaO0FVenVXUTs7RUFDSTtBVjR1V1o7QVU3dVdROztFQUNJO0FWZ3ZXWjtBVWp2V1E7O0VBQ0k7QVZvdldaO0FVcnZXUTs7RUFDSTtBVnd2V1o7QVV6dldROztFQUNJO0FWNHZXWjtBVTd2V1E7O0VBQ0k7QVZnd1daO0FVandXUTs7RUFDSTtBVm93V1o7QVVyd1dROztFQUNJO0FWd3dXWjtBVXp3V1E7O0VBQ0k7QVY0d1daO0FVN3dXUTs7RUFDSTtBVmd4V1o7QVVqeFdROztFQUNJO0FWb3hXWjtBVXJ4V1E7O0VBQ0k7QVZ3eFdaO0FVenhXUTs7RUFDSTtBVjR4V1o7QVU3eFdROztFQUNJO0FWZ3lXWjtBVWp5V1E7O0VBQ0k7QVZveVdaO0FVcnlXUTs7RUFDSTtBVnd5V1o7QVV6eVdROztFQUNJO0FWNHlXWjtBVTd5V1E7O0VBQ0k7QVZneldaO0FVanpXUTs7RUFDSTtBVm96V1o7QVVyeldROztFQUNJO0FWd3pXWjtBVXp6V1E7O0VBQ0k7QVY0eldaO0FVN3pXUTs7RUFDSTtBVmcwV1o7QVVqMFdROztFQUNJO0FWbzBXWjtBVXIwV1E7O0VBQ0k7QVZ3MFdaO0FVejBXUTs7RUFDSTtBVjQwV1o7QVU3MFdROztFQUNJO0FWZzFXWjtBVWoxV1E7O0VBQ0k7QVZvMVdaO0FVcjFXUTs7RUFDSTtBVncxV1o7QVV6MVdROztFQUNJO0FWNDFXWjtBVTcxV1E7O0VBQ0k7QVZnMldaO0FVajJXUTs7RUFDSTtBVm8yV1o7QVVyMldROztFQUNJO0FWdzJXWjtBVXoyV1E7O0VBQ0k7QVY0MldaO0FVNzJXUTs7RUFDSTtBVmczV1o7QVVqM1dROztFQUNJO0FWbzNXWjtBVXIzV1E7O0VBQ0k7QVZ3M1daO0FVejNXUTs7RUFDSTtBVjQzV1o7QVU3M1dROztFQUNJO0FWZzRXWjtBVWo0V1E7O0VBQ0k7QVZvNFdaO0FVcjRXUTs7RUFDSTtBVnc0V1o7QVV6NFdROztFQUNJO0FWNDRXWjtBVTc0V1E7O0VBQ0k7QVZnNVdaO0FVajVXUTs7RUFDSTtBVm81V1o7QVVyNVdROztFQUNJO0FWdzVXWjtBVXo1V1E7O0VBQ0k7QVY0NVdaO0FVNzVXUTs7RUFDSTtBVmc2V1o7QVVqNldROztFQUNJO0FWbzZXWjtBVXI2V1E7O0VBQ0k7QVZ3NldaO0FVejZXUTs7RUFDSTtBVjQ2V1o7QVU3NldROztFQUNJO0FWZzdXWjtBVWo3V1E7O0VBQ0k7QVZvN1daO0FVcjdXUTs7RUFDSTtBVnc3V1o7QVV6N1dROztFQUNJO0FWNDdXWjtBVTc3V1E7O0VBQ0k7QVZnOFdaO0FVajhXUTs7RUFDSTtBVm84V1o7QVVyOFdROztFQUNJO0FWdzhXWjtBVXo4V1E7O0VBQ0k7QVY0OFdaO0FVNzhXUTs7RUFDSTtBVmc5V1o7QVVqOVdROztFQUNJO0FWbzlXWjtBVXI5V1E7O0VBQ0k7QVZ3OVdaO0FVejlXUTs7RUFDSTtBVjQ5V1o7QVU3OVdROztFQUNJO0FWZytXWjtBVWorV1E7O0VBQ0k7QVZvK1daO0FVcitXUTs7RUFDSTtBVncrV1o7QVV6K1dROztFQUNJO0FWNCtXWjtBVTcrV1E7O0VBQ0k7QVZnL1daO0FVai9XUTs7RUFDSTtBVm8vV1o7QVVyL1dROztFQUNJO0FWdy9XWjtBVXovV1E7O0VBQ0k7QVY0L1daO0FVNy9XUTs7RUFDSTtBVmdnWFo7QVVqZ1hROztFQUNJO0FWb2dYWjtBVXJnWFE7O0VBQ0k7QVZ3Z1haO0FVemdYUTs7RUFDSTtBVjRnWFo7QVU3Z1hROztFQUNJO0FWZ2hYWjtBVWpoWFE7O0VBQ0k7QVZvaFhaO0FVcmhYUTs7RUFDSTtBVndoWFo7QVV6aFhROztFQUNJO0FWNGhYWjtBVTdoWFE7O0VBQ0k7QVZnaVhaO0FVamlYUTs7RUFDSTtBVm9pWFo7QVVyaVhROztFQUNJO0FWd2lYWjtBVXppWFE7O0VBQ0k7QVY0aVhaO0FVN2lYUTs7RUFDSTtBVmdqWFo7QVVqalhROztFQUNJO0FWb2pYWjtBVXJqWFE7O0VBQ0k7QVZ3alhaO0FVempYUTs7RUFDSTtBVjRqWFo7QVU3alhROztFQUNJO0FWZ2tYWjtBVWprWFE7O0VBQ0k7QVZva1haO0FVcmtYUTs7RUFDSTtBVndrWFo7QVV6a1hROztFQUNJO0FWNGtYWjtBVTdrWFE7O0VBQ0k7QVZnbFhaO0FVamxYUTs7RUFDSTtBVm9sWFo7QVVybFhROztFQUNJO0FWd2xYWjtBVXpsWFE7O0VBQ0k7QVY0bFhaO0FVN2xYUTs7RUFDSTtBVmdtWFo7QVVqbVhROztFQUNJO0FWb21YWjtBVXJtWFE7O0VBQ0k7QVZ3bVhaO0FVem1YUTs7RUFDSTtBVjRtWFo7QVU3bVhROztFQUNJO0FWZ25YWjtBVWpuWFE7O0VBQ0k7QVZvblhaO0FVcm5YUTs7RUFDSTtBVnduWFo7QVV6blhROztFQUNJO0FWNG5YWjtBVTduWFE7O0VBQ0k7QVZnb1haO0FVam9YUTs7RUFDSTtBVm9vWFo7QVVyb1hROztFQUNJO0FWd29YWjtBVXpvWFE7O0VBQ0k7QVY0b1haO0FVN29YUTs7RUFDSTtBVmdwWFo7QVVqcFhROztFQUNJO0FWb3BYWjtBVXJwWFE7O0VBQ0k7QVZ3cFhaO0FVenBYUTs7RUFDSTtBVjRwWFo7QVU3cFhROztFQUNJO0FWZ3FYWjtBVWpxWFE7O0VBQ0k7QVZvcVhaO0FVcnFYUTs7RUFDSTtBVndxWFo7QVV6cVhROztFQUNJO0FWNHFYWjtBVTdxWFE7O0VBQ0k7QVZnclhaO0FVanJYUTs7RUFDSTtBVm9yWFo7QVVyclhROztFQUNJO0FWd3JYWjtBVXpyWFE7O0VBQ0k7QVY0clhaO0FVN3JYUTs7RUFDSTtBVmdzWFo7QVVqc1hROztFQUNJO0FWb3NYWjtBVXJzWFE7O0VBQ0k7QVZ3c1haO0FVenNYUTs7RUFDSTtBVjRzWFo7QVU3c1hROztFQUNJO0FWZ3RYWjtBVWp0WFE7O0VBQ0k7QVZvdFhaO0FVcnRYUTs7RUFDSTtBVnd0WFo7QVV6dFhROztFQUNJO0FWNHRYWjtBVTd0WFE7O0VBQ0k7QVZndVhaO0FVanVYUTs7RUFDSTtBVm91WFo7QVVydVhROztFQUNJO0FWd3VYWjtBVXp1WFE7O0VBQ0k7QVY0dVhaO0FVN3VYUTs7RUFDSTtBVmd2WFo7QVVqdlhROztFQUNJO0FWb3ZYWjtBVXJ2WFE7O0VBQ0k7QVZ3dlhaO0FVenZYUTs7RUFDSTtBVjR2WFo7QVU3dlhROztFQUNJO0FWZ3dYWjtBVWp3WFE7O0VBQ0k7QVZvd1haO0FVcndYUTs7RUFDSTtBVnd3WFo7QVV6d1hROztFQUNJO0FWNHdYWjtBVTd3WFE7O0VBQ0k7QVZneFhaO0FVanhYUTs7RUFDSTtBVm94WFo7QVVyeFhROztFQUNJO0FWd3hYWjtBVXp4WFE7O0VBQ0k7QVY0eFhaO0FVN3hYUTs7RUFDSTtBVmd5WFo7QVVqeVhROztFQUNJO0FWb3lYWjtBVXJ5WFE7O0VBQ0k7QVZ3eVhaO0FVenlYUTs7RUFDSTtBVjR5WFo7QVU3eVhROztFQUNJO0FWZ3pYWjtBVWp6WFE7O0VBQ0k7QVZvelhaO0FVcnpYUTs7RUFDSTtBVnd6WFo7QVV6elhROztFQUNJO0FWNHpYWjtBVTd6WFE7O0VBQ0k7QVZnMFhaO0FVajBYUTs7RUFDSTtBVm8wWFo7QVVyMFhROztFQUNJO0FWdzBYWjtBVXowWFE7O0VBQ0k7QVY0MFhaO0FVNzBYUTs7RUFDSTtBVmcxWFo7QVVqMVhROztFQUNJO0FWbzFYWjtBVXIxWFE7O0VBQ0k7QVZ3MVhaO0FVejFYUTs7RUFDSTtBVjQxWFo7QVU3MVhROztFQUNJO0FWZzJYWjtBVWoyWFE7O0VBQ0k7QVZvMlhaO0FVcjJYUTs7RUFDSTtBVncyWFo7QVV6MlhROztFQUNJO0FWNDJYWjtBVTcyWFE7O0VBQ0k7QVZnM1haO0FVajNYUTs7RUFDSTtBVm8zWFo7QVVyM1hROztFQUNJO0FWdzNYWjtBVXozWFE7O0VBQ0k7QVY0M1haO0FVNzNYUTs7RUFDSTtBVmc0WFo7QVVqNFhROztFQUNJO0FWbzRYWjtBVXI0WFE7O0VBQ0k7QVZ3NFhaO0FVejRYUTs7RUFDSTtBVjQ0WFo7QVU3NFhROztFQUNJO0FWZzVYWjtBVWo1WFE7O0VBQ0k7QVZvNVhaO0FVcjVYUTs7RUFDSTtBVnc1WFo7QVV6NVhROztFQUNJO0FWNDVYWjtBVTc1WFE7O0VBQ0k7QVZnNlhaO0FVajZYUTs7RUFDSTtBVm82WFo7QVVyNlhROztFQUNJO0FWdzZYWjtBVXo2WFE7O0VBQ0k7QVY0NlhaO0FVNzZYUTs7RUFDSTtBVmc3WFo7QVVqN1hROztFQUNJO0FWbzdYWjtBVXI3WFE7O0VBQ0k7QVZ3N1haO0FVejdYUTs7RUFDSTtBVjQ3WFo7QVU3N1hROztFQUNJO0FWZzhYWjtBVWo4WFE7O0VBQ0k7QVZvOFhaO0FVcjhYUTs7RUFDSTtBVnc4WFo7QVV6OFhROztFQUNJO0FWNDhYWjtBVTc4WFE7O0VBQ0k7QVZnOVhaO0FVajlYUTs7RUFDSTtBVm85WFo7QVVyOVhROztFQUNJO0FWdzlYWjtBVXo5WFE7O0VBQ0k7QVY0OVhaO0FVNzlYUTs7RUFDSTtBVmcrWFo7QVVqK1hROztFQUNJO0FWbytYWjtBVXIrWFE7O0VBQ0k7QVZ3K1haO0FVeitYUTs7RUFDSTtBVjQrWFo7QVU3K1hROztFQUNJO0FWZy9YWjtBVWovWFE7O0VBQ0k7QVZvL1haO0FVci9YUTs7RUFDSTtBVncvWFo7QVV6L1hROztFQUNJO0FWNC9YWjtBVTcvWFE7O0VBQ0k7QVZnZ1laO0FVamdZUTs7RUFDSTtBVm9nWVo7QVVyZ1lROztFQUNJO0FWd2dZWjtBVXpnWVE7O0VBQ0k7QVY0Z1laO0FVN2dZUTs7RUFDSTtBVmdoWVo7QVVqaFlROztFQUNJO0FWb2hZWjtBVXJoWVE7O0VBQ0k7QVZ3aFlaO0FVemhZUTs7RUFDSTtBVjRoWVo7QVU3aFlROztFQUNJO0FWZ2lZWjtBVWppWVE7O0VBQ0k7QVZvaVlaO0FVcmlZUTs7RUFDSTtBVndpWVo7QVV6aVlROztFQUNJO0FWNGlZWjtBVTdpWVE7O0VBQ0k7QVZnallaO0FVampZUTs7RUFDSTtBVm9qWVo7QVVyallROztFQUNJO0FWd2pZWjtBVXpqWVE7O0VBQ0k7QVY0allaO0FVN2pZUTs7RUFDSTtBVmdrWVo7QVVqa1lROztFQUNJO0FWb2tZWjtBVXJrWVE7O0VBQ0k7QVZ3a1laO0FVemtZUTs7RUFDSTtBVjRrWVo7QVU3a1lROztFQUNJO0FWZ2xZWjtBVWpsWVE7O0VBQ0k7QVZvbFlaO0FVcmxZUTs7RUFDSTtBVndsWVo7QVV6bFlROztFQUNJO0FWNGxZWjtBVTdsWVE7O0VBQ0k7QVZnbVlaO0FVam1ZUTs7RUFDSTtBVm9tWVo7QVVybVlROztFQUNJO0FWd21ZWjtBVXptWVE7O0VBQ0k7QVY0bVlaO0FVN21ZUTs7RUFDSTtBVmduWVo7QVVqbllROztFQUNJO0FWb25ZWjtBVXJuWVE7O0VBQ0k7QVZ3bllaO0FVem5ZUTs7RUFDSTtBVjRuWVo7QVU3bllROztFQUNJO0FWZ29ZWjtBVWpvWVE7O0VBQ0k7QVZvb1laO0FVcm9ZUTs7RUFDSTtBVndvWVo7QVV6b1lROztFQUNJO0FWNG9ZWjtBVTdvWVE7O0VBQ0k7QVZncFlaO0FVanBZUTs7RUFDSTtBVm9wWVo7QVVycFlROztFQUNJO0FWd3BZWjtBVXpwWVE7O0VBQ0k7QVY0cFlaO0FVN3BZUTs7RUFDSTtBVmdxWVo7QVVqcVlROztFQUNJO0FWb3FZWjtBVXJxWVE7O0VBQ0k7QVZ3cVlaO0FVenFZUTs7RUFDSTtBVjRxWVo7QVU3cVlROztFQUNJO0FWZ3JZWjtBVWpyWVE7O0VBQ0k7QVZvcllaO0FVcnJZUTs7RUFDSTtBVndyWVo7QVV6cllROztFQUNJO0FWNHJZWjtBVTdyWVE7O0VBQ0k7QVZnc1laO0FVanNZUTs7RUFDSTtBVm9zWVo7QVVyc1lROztFQUNJO0FWd3NZWjtBVXpzWVE7O0VBQ0k7QVY0c1laO0FVN3NZUTs7RUFDSTtBVmd0WVo7QVVqdFlROztFQUNJO0FWb3RZWjtBVXJ0WVE7O0VBQ0k7QVZ3dFlaO0FVenRZUTs7RUFDSTtBVjR0WVo7QVU3dFlROztFQUNJO0FWZ3VZWjtBVWp1WVE7O0VBQ0k7QVZvdVlaO0FVcnVZUTs7RUFDSTtBVnd1WVo7QVV6dVlROztFQUNJO0FWNHVZWjtBVTd1WVE7O0VBQ0k7QVZndllaO0FVanZZUTs7RUFDSTtBVm92WVo7QVVydllROztFQUNJO0FWd3ZZWjtBVXp2WVE7O0VBQ0k7QVY0dllaO0FVN3ZZUTs7RUFDSTtBVmd3WVo7QVVqd1lROztFQUNJO0FWb3dZWjtBVXJ3WVE7O0VBQ0k7QVZ3d1laO0FVendZUTs7RUFDSTtBVjR3WVo7QVU3d1lROztFQUNJO0FWZ3hZWjtBVWp4WVE7O0VBQ0k7QVZveFlaO0FVcnhZUTs7RUFDSTtBVnd4WVo7QVV6eFlROztFQUNJO0FWNHhZWjtBVTd4WVE7O0VBQ0k7QVZneVlaO0FVanlZUTs7RUFDSTtBVm95WVo7QVVyeVlROztFQUNJO0FWd3lZWjtBVXp5WVE7O0VBQ0k7QVY0eVlaO0FVN3lZUTs7RUFDSTtBVmd6WVo7QVVqellROztFQUNJO0FWb3pZWjtBVXJ6WVE7O0VBQ0k7QVZ3ellaO0FVenpZUTs7RUFDSTtBVjR6WVo7QVU3ellROztFQUNJO0FWZzBZWjtBVWowWVE7O0VBQ0k7QVZvMFlaO0FVcjBZUTs7RUFDSTtBVncwWVo7QVV6MFlROztFQUNJO0FWNDBZWjtBVTcwWVE7O0VBQ0k7QVZnMVlaO0FVajFZUTs7RUFDSTtBVm8xWVo7QVVyMVlROztFQUNJO0FWdzFZWjtBVXoxWVE7O0VBQ0k7QVY0MVlaO0FVNzFZUTs7RUFDSTtBVmcyWVo7QVVqMllROztFQUNJO0FWbzJZWjtBVXIyWVE7O0VBQ0k7QVZ3MllaO0FVejJZUTs7RUFDSTtBVjQyWVo7QVU3MllROztFQUNJO0FWZzNZWjtBVWozWVE7O0VBQ0k7QVZvM1laO0FVcjNZUTs7RUFDSTtBVnczWVo7QVV6M1lROztFQUNJO0FWNDNZWjtBVTczWVE7O0VBQ0k7QVZnNFlaO0FVajRZUTs7RUFDSTtBVm80WVo7QVVyNFlROztFQUNJO0FWdzRZWjtBVXo0WVE7O0VBQ0k7QVY0NFlaO0FVNzRZUTs7RUFDSTtBVmc1WVo7QVVqNVlROztFQUNJO0FWbzVZWjtBVXI1WVE7O0VBQ0k7QVZ3NVlaO0FVejVZUTs7RUFDSTtBVjQ1WVo7QVU3NVlROztFQUNJO0FWZzZZWjtBVWo2WVE7O0VBQ0k7QVZvNllaO0FVcjZZUTs7RUFDSTtBVnc2WVo7QVV6NllROztFQUNJO0FWNDZZWjtBVTc2WVE7O0VBQ0k7QVZnN1laO0FVajdZUTs7RUFDSTtBVm83WVo7QVVyN1lROztFQUNJO0FWdzdZWjtBVXo3WVE7O0VBQ0k7QVY0N1laO0FVNzdZUTs7RUFDSTtBVmc4WVo7QVVqOFlROztFQUNJO0FWbzhZWjtBVXI4WVE7O0VBQ0k7QVZ3OFlaO0FVejhZUTs7RUFDSTtBVjQ4WVo7QVU3OFlROztFQUNJO0FWZzlZWjtBVWo5WVE7O0VBQ0k7QVZvOVlaO0FVcjlZUTs7RUFDSTtBVnc5WVo7QVV6OVlROztFQUNJO0FWNDlZWjtBVTc5WVE7O0VBQ0k7QVZnK1laO0FVaitZUTs7RUFDSTtBVm8rWVo7QVVyK1lROztFQUNJO0FWdytZWjtBVXorWVE7O0VBQ0k7QVY0K1laO0FVNytZUTs7RUFDSTtBVmcvWVo7QVVqL1lROztFQUNJO0FWby9ZWjtBVXIvWVE7O0VBQ0k7QVZ3L1laO0FVei9ZUTs7RUFDSTtBVjQvWVo7QVU3L1lROztFQUNJO0FWZ2daWjtBVWpnWlE7O0VBQ0k7QVZvZ1paO0FVcmdaUTs7RUFDSTtBVndnWlo7QVV6Z1pROztFQUNJO0FWNGdaWjtBVTdnWlE7O0VBQ0k7QVZnaFpaO0FVamhaUTs7RUFDSTtBVm9oWlo7QVVyaFpROztFQUNJO0FWd2haWjtBVXpoWlE7O0VBQ0k7QVY0aFpaO0FVN2haUTs7RUFDSTtBVmdpWlo7QVVqaVpROztFQUNJO0FWb2laWjtBVXJpWlE7O0VBQ0k7QVZ3aVpaO0FVemlaUTs7RUFDSTtBVjRpWlo7QVU3aVpROztFQUNJO0FWZ2paWjtBVWpqWlE7O0VBQ0k7QVZvalpaO0FVcmpaUTs7RUFDSTtBVndqWlo7QVV6alpROztFQUNJO0FWNGpaWjtBVTdqWlE7O0VBQ0k7QVZna1paO0FVamtaUTs7RUFDSTtBVm9rWlo7QVVya1pROztFQUNJO0FWd2taWjtBVXprWlE7O0VBQ0k7QVY0a1paO0FVN2taUTs7RUFDSTtBVmdsWlo7QVVqbFpROztFQUNJO0FWb2xaWjtBVXJsWlE7O0VBQ0k7QVZ3bFpaO0FVemxaUTs7RUFDSTtBVjRsWlo7QVU3bFpROztFQUNJO0FWZ21aWjtBVWptWlE7O0VBQ0k7QVZvbVpaO0FVcm1aUTs7RUFDSTtBVndtWlo7QVV6bVpROztFQUNJO0FWNG1aWjtBVTdtWlE7O0VBQ0k7QVZnblpaO0FVam5aUTs7RUFDSTtBVm9uWlo7QVVyblpROztFQUNJO0FWd25aWjtBVXpuWlE7O0VBQ0k7QVY0blpaO0FVN25aUTs7RUFDSTtBVmdvWlo7QVVqb1pROztFQUNJO0FWb29aWjtBVXJvWlE7O0VBQ0k7QVZ3b1paO0FVem9aUTs7RUFDSTtBVjRvWlo7QVU3b1pROztFQUNJO0FWZ3BaWjtBVWpwWlE7O0VBQ0k7QVZvcFpaO0FVcnBaUTs7RUFDSTtBVndwWlo7QVV6cFpROztFQUNJO0FWNHBaWjtBVTdwWlE7O0VBQ0k7QVZncVpaO0FVanFaUTs7RUFDSTtBVm9xWlo7QVVycVpROztFQUNJO0FWd3FaWjtBVXpxWlE7O0VBQ0k7QVY0cVpaO0FVN3FaUTs7RUFDSTtBVmdyWlo7QVVqclpROztFQUNJO0FWb3JaWjtBVXJyWlE7O0VBQ0k7QVZ3clpaO0FVenJaUTs7RUFDSTtBVjRyWlo7QVU3clpROztFQUNJO0FWZ3NaWjtBVWpzWlE7O0VBQ0k7QVZvc1paO0FVcnNaUTs7RUFDSTtBVndzWlo7QVV6c1pROztFQUNJO0FWNHNaWjtBVTdzWlE7O0VBQ0k7QVZndFpaO0FVanRaUTs7RUFDSTtBVm90Wlo7QVVydFpROztFQUNJO0FWd3RaWjtBVXp0WlE7O0VBQ0k7QVY0dFpaO0FVN3RaUTs7RUFDSTtBVmd1Wlo7QVVqdVpROztFQUNJO0FWb3VaWjtBVXJ1WlE7O0VBQ0k7QVZ3dVpaO0FVenVaUTs7RUFDSTtBVjR1Wlo7QVU3dVpROztFQUNJO0FWZ3ZaWjtBVWp2WlE7O0VBQ0k7QVZvdlpaO0FVcnZaUTs7RUFDSTtBVnd2Wlo7QVV6dlpROztFQUNJO0FWNHZaWjtBVTd2WlE7O0VBQ0k7QVZnd1paO0FVandaUTs7RUFDSTtBVm93Wlo7QVVyd1pROztFQUNJO0FWd3daWjtBVXp3WlE7O0VBQ0k7QVY0d1paO0FVN3daUTs7RUFDSTtBVmd4Wlo7QVVqeFpROztFQUNJO0FWb3haWjtBVXJ4WlE7O0VBQ0k7QVZ3eFpaO0FVenhaUTs7RUFDSTtBVjR4Wlo7QVU3eFpROztFQUNJO0FWZ3laWjtBVWp5WlE7O0VBQ0k7QVZveVpaO0FVcnlaUTs7RUFDSTtBVnd5Wlo7QVV6eVpROztFQUNJO0FWNHlaWjtBVTd5WlE7O0VBQ0k7QVZnelpaO0FVanpaUTs7RUFDSTtBVm96Wlo7QVVyelpROztFQUNJO0FWd3paWjtBVXp6WlE7O0VBQ0k7QVY0elpaO0FVN3paUTs7RUFDSTtBVmcwWlo7QVVqMFpROztFQUNJO0FWbzBaWjtBVXIwWlE7O0VBQ0k7QVZ3MFpaO0FVejBaUTs7RUFDSTtBVjQwWlo7QVU3MFpROztFQUNJO0FWZzFaWjtBVWoxWlE7O0VBQ0k7QVZvMVpaO0FVcjFaUTs7RUFDSTtBVncxWlo7QVV6MVpROztFQUNJO0FWNDFaWjtBVTcxWlE7O0VBQ0k7QVZnMlpaO0FVajJaUTs7RUFDSTtBVm8yWlo7QVVyMlpROztFQUNJO0FWdzJaWjtBVXoyWlE7O0VBQ0k7QVY0MlpaO0FVNzJaUTs7RUFDSTtBVmczWlo7QVVqM1pROztFQUNJO0FWbzNaWjtBVXIzWlE7O0VBQ0k7QVZ3M1paO0FVejNaUTs7RUFDSTtBVjQzWlo7QVU3M1pROztFQUNJO0FWZzRaWjtBVWo0WlE7O0VBQ0k7QVZvNFpaO0FVcjRaUTs7RUFDSTtBVnc0Wlo7QVV6NFpROztFQUNJO0FWNDRaWjtBVTc0WlE7O0VBQ0k7QVZnNVpaO0FVajVaUTs7RUFDSTtBVm81Wlo7QVVyNVpROztFQUNJO0FWdzVaWjtBVXo1WlE7O0VBQ0k7QVY0NVpaO0FVNzVaUTs7RUFDSTtBVmc2Wlo7QVVqNlpROztFQUNJO0FWbzZaWjtBVXI2WlE7O0VBQ0k7QVZ3NlpaO0FVejZaUTs7RUFDSTtBVjQ2Wlo7QVU3NlpROztFQUNJO0FWZzdaWjtBVWo3WlE7O0VBQ0k7QVZvN1paO0FVcjdaUTs7RUFDSTtBVnc3Wlo7QVV6N1pROztFQUNJO0FWNDdaWjtBVTc3WlE7O0VBQ0k7QVZnOFpaO0FVajhaUTs7RUFDSTtBVm84Wlo7QVVyOFpROztFQUNJO0FWdzhaWjtBVXo4WlE7O0VBQ0k7QVY0OFpaO0FVNzhaUTs7RUFDSTtBVmc5Wlo7QVVqOVpROztFQUNJO0FWbzlaWjtBVXI5WlE7O0VBQ0k7QVZ3OVpaO0FVejlaUTs7RUFDSTtBVjQ5Wlo7QVU3OVpROztFQUNJO0FWZytaWjtBVWorWlE7O0VBQ0k7QVZvK1paO0FVcitaUTs7RUFDSTtBVncrWlo7QVV6K1pROztFQUNJO0FWNCtaWjtBVTcrWlE7O0VBQ0k7QVZnL1paO0FVai9aUTs7RUFDSTtBVm8vWlo7QVVyL1pROztFQUNJO0FWdy9aWjtBVXovWlE7O0VBQ0k7QVY0L1paO0FVNy9aUTs7RUFDSTtBVmdnYVo7QVVqZ2FROztFQUNJO0FWb2dhWjtBVXJnYVE7O0VBQ0k7QVZ3Z2FaO0FVemdhUTs7RUFDSTtBVjRnYVo7QVU3Z2FROztFQUNJO0FWZ2hhWjtBVWpoYVE7O0VBQ0k7QVZvaGFaO0FVcmhhUTs7RUFDSTtBVndoYVo7QVV6aGFROztFQUNJO0FWNGhhWjtBVTdoYVE7O0VBQ0k7QVZnaWFaO0FVamlhUTs7RUFDSTtBVm9pYVo7QVVyaWFROztFQUNJO0FWd2lhWjtBVXppYVE7O0VBQ0k7QVY0aWFaO0FVN2lhUTs7RUFDSTtBVmdqYVo7QVVqamFROztFQUNJO0FWb2phWjtBVXJqYVE7O0VBQ0k7QVZ3amFaO0FVemphUTs7RUFDSTtBVjRqYVo7QVU3amFROztFQUNJO0FWZ2thWjtBVWprYVE7O0VBQ0k7QVZva2FaO0FVcmthUTs7RUFDSTtBVndrYVo7QVV6a2FROztFQUNJO0FWNGthWjtBVTdrYVE7O0VBQ0k7QVZnbGFaO0FVamxhUTs7RUFDSTtBVm9sYVo7QVVybGFROztFQUNJO0FWd2xhWjtBVXpsYVE7O0VBQ0k7QVY0bGFaO0FVN2xhUTs7RUFDSTtBVmdtYVo7QVVqbWFROztFQUNJO0FWb21hWjtBVXJtYVE7O0VBQ0k7QVZ3bWFaO0FVem1hUTs7RUFDSTtBVjRtYVo7QVU3bWFROztFQUNJO0FWZ25hWjtBVWpuYVE7O0VBQ0k7QVZvbmFaO0FVcm5hUTs7RUFDSTtBVnduYVo7QVV6bmFROztFQUNJO0FWNG5hWjtBVTduYVE7O0VBQ0k7QVZnb2FaO0FVam9hUTs7RUFDSTtBVm9vYVo7QVVyb2FROztFQUNJO0FWd29hWjtBVXpvYVE7O0VBQ0k7QVY0b2FaO0FVN29hUTs7RUFDSTtBVmdwYVo7QVVqcGFROztFQUNJO0FWb3BhWjtBVXJwYVE7O0VBQ0k7QVZ3cGFaO0FVenBhUTs7RUFDSTtBVjRwYVo7QVU3cGFROztFQUNJO0FWZ3FhWjtBVWpxYVE7O0VBQ0k7QVZvcWFaO0FVcnFhUTs7RUFDSTtBVndxYVo7QVV6cWFROztFQUNJO0FWNHFhWjtBVTdxYVE7O0VBQ0k7QVZncmFaO0FVanJhUTs7RUFDSTtBVm9yYVo7QVVycmFROztFQUNJO0FWd3JhWjtBVXpyYVE7O0VBQ0k7QVY0cmFaO0FVN3JhUTs7RUFDSTtBVmdzYVo7QVVqc2FROztFQUNJO0FWb3NhWjtBVXJzYVE7O0VBQ0k7QVZ3c2FaO0FVenNhUTs7RUFDSTtBVjRzYVo7QVU3c2FROztFQUNJO0FWZ3RhWjtBVWp0YVE7O0VBQ0k7QVZvdGFaO0FVcnRhUTs7RUFDSTtBVnd0YVo7QVV6dGFROztFQUNJO0FWNHRhWjtBVTd0YVE7O0VBQ0k7QVZndWFaO0FVanVhUTs7RUFDSTtBVm91YVo7QVVydWFROztFQUNJO0FWd3VhWjtBVXp1YVE7O0VBQ0k7QVY0dWFaO0FVN3VhUTs7RUFDSTtBVmd2YVo7QVVqdmFROztFQUNJO0FWb3ZhWjtBVXJ2YVE7O0VBQ0k7QVZ3dmFaO0FVenZhUTs7RUFDSTtBVjR2YVo7QVU3dmFROztFQUNJO0FWZ3dhWjtBVWp3YVE7O0VBQ0k7QVZvd2FaO0FVcndhUTs7RUFDSTtBVnd3YVo7QVV6d2FROztFQUNJO0FWNHdhWjtBVTd3YVE7O0VBQ0k7QVZneGFaO0FVanhhUTs7RUFDSTtBVm94YVo7QVVyeGFROztFQUNJO0FWd3hhWjtBVXp4YVE7O0VBQ0k7QVY0eGFaO0FVN3hhUTs7RUFDSTtBVmd5YVo7QVVqeWFROztFQUNJO0FWb3lhWjtBVXJ5YVE7O0VBQ0k7QVZ3eWFaO0FVenlhUTs7RUFDSTtBVjR5YVo7QVU3eWFROztFQUNJO0FWZ3phWjtBVWp6YVE7O0VBQ0k7QVZvemFaO0FVcnphUTs7RUFDSTtBVnd6YVo7QVV6emFROztFQUNJO0FWNHphWjtBVTd6YVE7O0VBQ0k7QVZnMGFaO0FVajBhUTs7RUFDSTtBVm8wYVo7QVVyMGFROztFQUNJO0FWdzBhWjtBVXowYVE7O0VBQ0k7QVY0MGFaO0FVNzBhUTs7RUFDSTtBVmcxYVo7QVVqMWFROztFQUNJO0FWbzFhWjtBVXIxYVE7O0VBQ0k7QVZ3MWFaO0FVejFhUTs7RUFDSTtBVjQxYVo7QVU3MWFROztFQUNJO0FWZzJhWjtBVWoyYVE7O0VBQ0k7QVZvMmFaO0FVcjJhUTs7RUFDSTtBVncyYVo7QVV6MmFROztFQUNJO0FWNDJhWjtBVTcyYVE7O0VBQ0k7QVZnM2FaO0FVajNhUTs7RUFDSTtBVm8zYVo7QVVyM2FROztFQUNJO0FWdzNhWjtBVXozYVE7O0VBQ0k7QVY0M2FaO0FVNzNhUTs7RUFDSTtBVmc0YVo7QVVqNGFROztFQUNJO0FWbzRhWjtBVXI0YVE7O0VBQ0k7QVZ3NGFaO0FVejRhUTs7RUFDSTtBVjQ0YVo7QVU3NGFROztFQUNJO0FWZzVhWjtBVWo1YVE7O0VBQ0k7QVZvNWFaO0FVcjVhUTs7RUFDSTtBVnc1YVo7QVV6NWFROztFQUNJO0FWNDVhWjtBVTc1YVE7O0VBQ0k7QVZnNmFaO0FVajZhUTs7RUFDSTtBVm82YVo7QVVyNmFROztFQUNJO0FWdzZhWjtBVXo2YVE7O0VBQ0k7QVY0NmFaO0FVNzZhUTs7RUFDSTtBVmc3YVo7QVVqN2FROztFQUNJO0FWbzdhWjtBVXI3YVE7O0VBQ0k7QVZ3N2FaO0FVejdhUTs7RUFDSTtBVjQ3YVo7QVU3N2FROztFQUNJO0FWZzhhWjtBVWo4YVE7O0VBQ0k7QVZvOGFaO0FVcjhhUTs7RUFDSTtBVnc4YVo7QVV6OGFROztFQUNJO0FWNDhhWjtBVTc4YVE7O0VBQ0k7QVZnOWFaO0FVajlhUTs7RUFDSTtBVm85YVo7QVVyOWFROztFQUNJO0FWdzlhWjtBVXo5YVE7O0VBQ0k7QVY0OWFaO0FVNzlhUTs7RUFDSTtBVmcrYVo7QVVqK2FROztFQUNJO0FWbythWjtBVXIrYVE7O0VBQ0k7QVZ3K2FaO0FVeithUTs7RUFDSTtBVjQrYVo7QVU3K2FROztFQUNJO0FWZy9hWjtBVWovYVE7O0VBQ0k7QVZvL2FaO0FVci9hUTs7RUFDSTtBVncvYVo7QVV6L2FROztFQUNJO0FWNC9hWjtBVTcvYVE7O0VBQ0k7QVZnZ2JaO0FVamdiUTs7RUFDSTtBVm9nYlo7QVVyZ2JROztFQUNJO0FWd2diWjtBVXpnYlE7O0VBQ0k7QVY0Z2JaO0FVN2diUTs7RUFDSTtBVmdoYlo7QVVqaGJROztFQUNJO0FWb2hiWjtBVXJoYlE7O0VBQ0k7QVZ3aGJaO0FVemhiUTs7RUFDSTtBVjRoYlo7QVU3aGJROztFQUNJO0FWZ2liWjtBVWppYlE7O0VBQ0k7QVZvaWJaO0FVcmliUTs7RUFDSTtBVndpYlo7QVV6aWJROztFQUNJO0FWNGliWjtBVTdpYlE7O0VBQ0k7QVZnamJaO0FVampiUTs7RUFDSTtBVm9qYlo7QVVyamJROztFQUNJO0FWd2piWjtBVXpqYlE7O0VBQ0k7QVY0amJaO0FVN2piUTs7RUFDSTtBVmdrYlo7QVVqa2JROztFQUNJO0FWb2tiWjtBVXJrYlE7O0VBQ0k7QVZ3a2JaO0FVemtiUTs7RUFDSTtBVjRrYlo7QVU3a2JROztFQUNJO0FWZ2xiWjtBVWpsYlE7O0VBQ0k7QVZvbGJaO0FVcmxiUTs7RUFDSTtBVndsYlo7QVV6bGJROztFQUNJO0FWNGxiWjtBVTdsYlE7O0VBQ0k7QVZnbWJaO0FVam1iUTs7RUFDSTtBVm9tYlo7QVVybWJROztFQUNJO0FWd21iWjtBVXptYlE7O0VBQ0k7QVY0bWJaO0FVN21iUTs7RUFDSTtBVmduYlo7QVVqbmJROztFQUNJO0FWb25iWjtBVXJuYlE7O0VBQ0k7QVZ3bmJaO0FVem5iUTs7RUFDSTtBVjRuYlo7QVU3bmJROztFQUNJO0FWZ29iWjtBVWpvYlE7O0VBQ0k7QVZvb2JaO0FVcm9iUTs7RUFDSTtBVndvYlo7QVV6b2JROztFQUNJO0FWNG9iWjtBVTdvYlE7O0VBQ0k7QVZncGJaO0FVanBiUTs7RUFDSTtBVm9wYlo7QVVycGJROztFQUNJO0FWd3BiWjtBVXpwYlE7O0VBQ0k7QVY0cGJaO0FVN3BiUTs7RUFDSTtBVmdxYlo7QVVqcWJROztFQUNJO0FWb3FiWjtBVXJxYlE7O0VBQ0k7QVZ3cWJaO0FVenFiUTs7RUFDSTtBVjRxYlo7QVU3cWJROztFQUNJO0FWZ3JiWjtBVWpyYlE7O0VBQ0k7QVZvcmJaO0FVcnJiUTs7RUFDSTtBVndyYlo7QVV6cmJROztFQUNJO0FWNHJiWjtBVTdyYlE7O0VBQ0k7QVZnc2JaO0FVanNiUTs7RUFDSTtBVm9zYlo7QVVyc2JROztFQUNJO0FWd3NiWjtBVXpzYlE7O0VBQ0k7QVY0c2JaO0FVN3NiUTs7RUFDSTtBVmd0Ylo7QVVqdGJROztFQUNJO0FWb3RiWjtBVXJ0YlE7O0VBQ0k7QVZ3dGJaO0FVenRiUTs7RUFDSTtBVjR0Ylo7QVU3dGJROztFQUNJO0FWZ3ViWjtBVWp1YlE7O0VBQ0k7QVZvdWJaO0FVcnViUTs7RUFDSTtBVnd1Ylo7QVV6dWJROztFQUNJO0FWNHViWjtBVTd1YlE7O0VBQ0k7QVZndmJaO0FVanZiUTs7RUFDSTtBVm92Ylo7QVVydmJROztFQUNJO0FWd3ZiWjtBVXp2YlE7O0VBQ0k7QVY0dmJaO0FVN3ZiUTs7RUFDSTtBVmd3Ylo7QVVqd2JROztFQUNJO0FWb3diWjtBVXJ3YlE7O0VBQ0k7QVZ3d2JaO0FVendiUTs7RUFDSTtBVjR3Ylo7QVU3d2JROztFQUNJO0FWZ3hiWjtBVWp4YlE7O0VBQ0k7QVZveGJaO0FVcnhiUTs7RUFDSTtBVnd4Ylo7QVV6eGJROztFQUNJO0FWNHhiWjtBVTd4YlE7O0VBQ0k7QVZneWJaO0FVanliUTs7RUFDSTtBVm95Ylo7QVVyeWJROztFQUNJO0FWd3liWjtBVXp5YlE7O0VBQ0k7QVY0eWJaO0FVN3liUTs7RUFDSTtBVmd6Ylo7QVVqemJROztFQUNJO0FWb3piWjtBVXJ6YlE7O0VBQ0k7QVZ3emJaO0FVenpiUTs7RUFDSTtBVjR6Ylo7QVU3emJROztFQUNJO0FWZzBiWjtBVWowYlE7O0VBQ0k7QVZvMGJaO0FVcjBiUTs7RUFDSTtBVncwYlo7QVV6MGJROztFQUNJO0FWNDBiWjtBVTcwYlE7O0VBQ0k7QVZnMWJaO0FVajFiUTs7RUFDSTtBVm8xYlo7QVVyMWJROztFQUNJO0FWdzFiWjtBVXoxYlE7O0VBQ0k7QVY0MWJaO0FVNzFiUTs7RUFDSTtBVmcyYlo7QVVqMmJROztFQUNJO0FWbzJiWjtBVXIyYlE7O0VBQ0k7QVZ3MmJaO0FVejJiUTs7RUFDSTtBVjQyYlo7QVU3MmJROztFQUNJO0FWZzNiWjtBVWozYlE7O0VBQ0k7QVZvM2JaO0FVcjNiUTs7RUFDSTtBVnczYlo7QVV6M2JROztFQUNJO0FWNDNiWjtBVTczYlE7O0VBQ0k7QVZnNGJaO0FVajRiUTs7RUFDSTtBVm80Ylo7QVVyNGJROztFQUNJO0FWdzRiWjtBVXo0YlE7O0VBQ0k7QVY0NGJaO0FVNzRiUTs7RUFDSTtBVmc1Ylo7QVVqNWJROztFQUNJO0FWbzViWjtBVXI1YlE7O0VBQ0k7QVZ3NWJaO0FVejViUTs7RUFDSTtBVjQ1Ylo7QVU3NWJROztFQUNJO0FWZzZiWjtBVWo2YlE7O0VBQ0k7QVZvNmJaO0FVcjZiUTs7RUFDSTtBVnc2Ylo7QVV6NmJROztFQUNJO0FWNDZiWjtBVTc2YlE7O0VBQ0k7QVZnN2JaO0FVajdiUTs7RUFDSTtBVm83Ylo7QVVyN2JROztFQUNJO0FWdzdiWjtBVXo3YlE7O0VBQ0k7QVY0N2JaO0FVNzdiUTs7RUFDSTtBVmc4Ylo7QVVqOGJROztFQUNJO0FWbzhiWjtBVXI4YlE7O0VBQ0k7QVZ3OGJaO0FVejhiUTs7RUFDSTtBVjQ4Ylo7QVU3OGJROztFQUNJO0FWZzliWjtBVWo5YlE7O0VBQ0k7QVZvOWJaO0FVcjliUTs7RUFDSTtBVnc5Ylo7QVV6OWJROztFQUNJO0FWNDliWjtBVTc5YlE7O0VBQ0k7QVZnK2JaO0FVaitiUTs7RUFDSTtBVm8rYlo7QVVyK2JROztFQUNJO0FWdytiWjtBVXorYlE7O0VBQ0k7QVY0K2JaO0FVNytiUTs7RUFDSTtBVmcvYlo7QVVqL2JROztFQUNJO0FWby9iWjtBVXIvYlE7O0VBQ0k7QVZ3L2JaO0FVei9iUTs7RUFDSTtBVjQvYlo7QVU3L2JROztFQUNJO0FWZ2djWjtBVWpnY1E7O0VBQ0k7QVZvZ2NaO0FVcmdjUTs7RUFDSTtBVndnY1o7QVV6Z2NROztFQUNJO0FWNGdjWjtBVTdnY1E7O0VBQ0k7QVZnaGNaO0FVamhjUTs7RUFDSTtBVm9oY1o7QVVyaGNROztFQUNJO0FWd2hjWjtBVXpoY1E7O0VBQ0k7QVY0aGNaO0FVN2hjUTs7RUFDSTtBVmdpY1o7QVVqaWNROztFQUNJO0FWb2ljWjtBVXJpY1E7O0VBQ0k7QVZ3aWNaO0FVemljUTs7RUFDSTtBVjRpY1o7QVU3aWNROztFQUNJO0FWZ2pjWjtBVWpqY1E7O0VBQ0k7QVZvamNaO0FVcmpjUTs7RUFDSTtBVndqY1o7QVV6amNROztFQUNJO0FWNGpjWjtBVTdqY1E7O0VBQ0k7QVZna2NaO0FVamtjUTs7RUFDSTtBVm9rY1o7QVVya2NROztFQUNJO0FWd2tjWjtBVXprY1E7O0VBQ0k7QVY0a2NaO0FVN2tjUTs7RUFDSTtBVmdsY1o7QVVqbGNROztFQUNJO0FWb2xjWjtBVXJsY1E7O0VBQ0k7QVZ3bGNaO0FVemxjUTs7RUFDSTtBVjRsY1o7QVU3bGNROztFQUNJO0FWZ21jWjtBVWptY1E7O0VBQ0k7QVZvbWNaO0FVcm1jUTs7RUFDSTtBVndtY1o7QVV6bWNROztFQUNJO0FWNG1jWjtBVTdtY1E7O0VBQ0k7QVZnbmNaO0FVam5jUTs7RUFDSTtBVm9uY1o7QVVybmNROztFQUNJO0FWd25jWjtBVXpuY1E7O0VBQ0k7QVY0bmNaO0FVN25jUTs7RUFDSTtBVmdvY1o7QVVqb2NROztFQUNJO0FWb29jWjtBVXJvY1E7O0VBQ0k7QVZ3b2NaO0FVem9jUTs7RUFDSTtBVjRvY1o7QVU3b2NROztFQUNJO0FWZ3BjWjtBVWpwY1E7O0VBQ0k7QVZvcGNaO0FVcnBjUTs7RUFDSTtBVndwY1o7QVV6cGNROztFQUNJO0FWNHBjWjtBVTdwY1E7O0VBQ0k7QVZncWNaO0FVanFjUTs7RUFDSTtBVm9xY1o7QVVycWNROztFQUNJO0FWd3FjWjtBVXpxY1E7O0VBQ0k7QVY0cWNaO0FVN3FjUTs7RUFDSTtBVmdyY1o7QVVqcmNROztFQUNJO0FWb3JjWjtBVXJyY1E7O0VBQ0k7QVZ3cmNaO0FVenJjUTs7RUFDSTtBVjRyY1o7QVU3cmNROztFQUNJO0FWZ3NjWjtBVWpzY1E7O0VBQ0k7QVZvc2NaO0FVcnNjUTs7RUFDSTtBVndzY1o7QVV6c2NROztFQUNJO0FWNHNjWjtBVTdzY1E7O0VBQ0k7QVZndGNaO0FVanRjUTs7RUFDSTtBVm90Y1o7QVVydGNROztFQUNJO0FWd3RjWjtBVXp0Y1E7O0VBQ0k7QVY0dGNaO0FVN3RjUTs7RUFDSTtBVmd1Y1o7QVVqdWNROztFQUNJO0FWb3VjWjtBVXJ1Y1E7O0VBQ0k7QVZ3dWNaO0FVenVjUTs7RUFDSTtBVjR1Y1o7QVU3dWNROztFQUNJO0FWZ3ZjWjtBVWp2Y1E7O0VBQ0k7QVZvdmNaO0FVcnZjUTs7RUFDSTtBVnd2Y1o7QVV6dmNROztFQUNJO0FWNHZjWjtBVTd2Y1E7O0VBQ0k7QVZnd2NaO0FVandjUTs7RUFDSTtBVm93Y1o7QVVyd2NROztFQUNJO0FWd3djWjtBVXp3Y1E7O0VBQ0k7QVY0d2NaO0FVN3djUTs7RUFDSTtBVmd4Y1o7QVVqeGNROztFQUNJO0FWb3hjWjtBVXJ4Y1E7O0VBQ0k7QVZ3eGNaO0FVenhjUTs7RUFDSTtBVjR4Y1o7QVU3eGNROztFQUNJO0FWZ3ljWjtBVWp5Y1E7O0VBQ0k7QVZveWNaO0FVcnljUTs7RUFDSTtBVnd5Y1o7QVV6eWNROztFQUNJO0FWNHljWjtBVTd5Y1E7O0VBQ0k7QVZnemNaO0FVanpjUTs7RUFDSTtBVm96Y1o7QVVyemNROztFQUNJO0FWd3pjWjtBVXp6Y1E7O0VBQ0k7QVY0emNaO0FVN3pjUTs7RUFDSTtBVmcwY1o7QVVqMGNROztFQUNJO0FWbzBjWjtBVXIwY1E7O0VBQ0k7QVZ3MGNaO0FVejBjUTs7RUFDSTtBVjQwY1o7QVU3MGNROztFQUNJO0FWZzFjWjtBVWoxY1E7O0VBQ0k7QVZvMWNaO0FVcjFjUTs7RUFDSTtBVncxY1o7QVV6MWNROztFQUNJO0FWNDFjWjtBVTcxY1E7O0VBQ0k7QVZnMmNaO0FVajJjUTs7RUFDSTtBVm8yY1o7QVVyMmNROztFQUNJO0FWdzJjWjtBVXoyY1E7O0VBQ0k7QVY0MmNaO0FVNzJjUTs7RUFDSTtBVmczY1o7QVVqM2NROztFQUNJO0FWbzNjWjtBVXIzY1E7O0VBQ0k7QVZ3M2NaO0FVejNjUTs7RUFDSTtBVjQzY1o7QVU3M2NROztFQUNJO0FWZzRjWjtBVWo0Y1E7O0VBQ0k7QVZvNGNaO0FVcjRjUTs7RUFDSTtBVnc0Y1o7QVV6NGNROztFQUNJO0FWNDRjWjtBVTc0Y1E7O0VBQ0k7QVZnNWNaO0FVajVjUTs7RUFDSTtBVm81Y1o7QVVyNWNROztFQUNJO0FWdzVjWjtBVXo1Y1E7O0VBQ0k7QVY0NWNaO0FVNzVjUTs7RUFDSTtBVmc2Y1o7QVVqNmNROztFQUNJO0FWbzZjWjtBVXI2Y1E7O0VBQ0k7QVZ3NmNaO0FVejZjUTs7RUFDSTtBVjQ2Y1o7QVU3NmNROztFQUNJO0FWZzdjWjtBVWo3Y1E7O0VBQ0k7QVZvN2NaO0FVcjdjUTs7RUFDSTtBVnc3Y1o7QVV6N2NROztFQUNJO0FWNDdjWjtBVTc3Y1E7O0VBQ0k7QVZnOGNaO0FVajhjUTs7RUFDSTtBVm84Y1o7QVVyOGNROztFQUNJO0FWdzhjWjtBVXo4Y1E7O0VBQ0k7QVY0OGNaO0FVNzhjUTs7RUFDSTtBVmc5Y1o7QVVqOWNROztFQUNJO0FWbzljWjtBVXI5Y1E7O0VBQ0k7QVZ3OWNaO0FVejljUTs7RUFDSTtBVjQ5Y1o7QVU3OWNROztFQUNJO0FWZytjWjtBVWorY1E7O0VBQ0k7QVZvK2NaO0FVcitjUTs7RUFDSTtBVncrY1o7QVV6K2NROztFQUNJO0FWNCtjWjtBVTcrY1E7O0VBQ0k7QVZnL2NaO0FVai9jUTs7RUFDSTtBVm8vY1o7QVVyL2NROztFQUNJO0FWdy9jWjtBVXovY1E7O0VBQ0k7QVY0L2NaO0FVNy9jUTs7RUFDSTtBVmdnZFo7QVVqZ2RROztFQUNJO0FWb2dkWjtBVXJnZFE7O0VBQ0k7QVZ3Z2RaO0FVemdkUTs7RUFDSTtBVjRnZFo7QVU3Z2RROztFQUNJO0FWZ2hkWjtBVWpoZFE7O0VBQ0k7QVZvaGRaO0FVcmhkUTs7RUFDSTtBVndoZFo7QVV6aGRROztFQUNJO0FWNGhkWjtBVTdoZFE7O0VBQ0k7QVZnaWRaO0FVamlkUTs7RUFDSTtBVm9pZFo7QVVyaWRROztFQUNJO0FWd2lkWjtBVXppZFE7O0VBQ0k7QVY0aWRaO0FVN2lkUTs7RUFDSTtBVmdqZFo7QVVqamRROztFQUNJO0FWb2pkWjtBVXJqZFE7O0VBQ0k7QVZ3amRaO0FVempkUTs7RUFDSTtBVjRqZFo7QVU3amRROztFQUNJO0FWZ2tkWjtBVWprZFE7O0VBQ0k7QVZva2RaO0FVcmtkUTs7RUFDSTtBVndrZFo7QVV6a2RROztFQUNJO0FWNGtkWjtBVTdrZFE7O0VBQ0k7QVZnbGRaO0FVamxkUTs7RUFDSTtBVm9sZFo7QVVybGRROztFQUNJO0FWd2xkWjtBVXpsZFE7O0VBQ0k7QVY0bGRaO0FVN2xkUTs7RUFDSTtBVmdtZFo7QVVqbWRROztFQUNJO0FWb21kWjtBVXJtZFE7O0VBQ0k7QVZ3bWRaO0FVem1kUTs7RUFDSTtBVjRtZFo7QVU3bWRROztFQUNJO0FWZ25kWjtBVWpuZFE7O0VBQ0k7QVZvbmRaO0FVcm5kUTs7RUFDSTtBVnduZFo7QVV6bmRROztFQUNJO0FWNG5kWjtBVTduZFE7O0VBQ0k7QVZnb2RaO0FVam9kUTs7RUFDSTtBVm9vZFo7QVVyb2RROztFQUNJO0FWd29kWjtBVXpvZFE7O0VBQ0k7QVY0b2RaO0FVN29kUTs7RUFDSTtBVmdwZFo7QVVqcGRROztFQUNJO0FWb3BkWjtBVXJwZFE7O0VBQ0k7QVZ3cGRaO0FVenBkUTs7RUFDSTtBVjRwZFo7QVU3cGRROztFQUNJO0FWZ3FkWjtBVWpxZFE7O0VBQ0k7QVZvcWRaO0FVcnFkUTs7RUFDSTtBVndxZFo7QVV6cWRROztFQUNJO0FWNHFkWjtBVTdxZFE7O0VBQ0k7QVZncmRaO0FVanJkUTs7RUFDSTtBVm9yZFo7QVVycmRROztFQUNJO0FWd3JkWjtBVXpyZFE7O0VBQ0k7QVY0cmRaO0FVN3JkUTs7RUFDSTtBVmdzZFo7QVVqc2RROztFQUNJO0FWb3NkWjtBVXJzZFE7O0VBQ0k7QVZ3c2RaO0FVenNkUTs7RUFDSTtBVjRzZFo7QVU3c2RROztFQUNJO0FWZ3RkWjtBVWp0ZFE7O0VBQ0k7QVZvdGRaO0FVcnRkUTs7RUFDSTtBVnd0ZFo7QVV6dGRROztFQUNJO0FWNHRkWjtBVTd0ZFE7O0VBQ0k7QVZndWRaO0FVanVkUTs7RUFDSTtBVm91ZFo7QVVydWRROztFQUNJO0FWd3VkWjtBVXp1ZFE7O0VBQ0k7QVY0dWRaO0FVN3VkUTs7RUFDSTtBVmd2ZFo7QVVqdmRROztFQUNJO0FWb3ZkWjtBVXJ2ZFE7O0VBQ0k7QVZ3dmRaO0FVenZkUTs7RUFDSTtBVjR2ZFo7QVU3dmRROztFQUNJO0FWZ3dkWjtBVWp3ZFE7O0VBQ0k7QVZvd2RaO0FVcndkUTs7RUFDSTtBVnd3ZFo7QVV6d2RROztFQUNJO0FWNHdkWjtBVTd3ZFE7O0VBQ0k7QVZneGRaO0FVanhkUTs7RUFDSTtBVm94ZFo7QVVyeGRROztFQUNJO0FWd3hkWjtBVXp4ZFE7O0VBQ0k7QVY0eGRaO0FVN3hkUTs7RUFDSTtBVmd5ZFo7QVVqeWRROztFQUNJO0FWb3lkWjtBVXJ5ZFE7O0VBQ0k7QVZ3eWRaO0FVenlkUTs7RUFDSTtBVjR5ZFo7QVU3eWRROztFQUNJO0FWZ3pkWjtBVWp6ZFE7O0VBQ0k7QVZvemRaO0FVcnpkUTs7RUFDSTtBVnd6ZFo7QVV6emRROztFQUNJO0FWNHpkWjtBVTd6ZFE7O0VBQ0k7QVZnMGRaO0FVajBkUTs7RUFDSTtBVm8wZFo7QVVyMGRROztFQUNJO0FWdzBkWjtBVXowZFE7O0VBQ0k7QVY0MGRaO0FVNzBkUTs7RUFDSTtBVmcxZFo7QVVqMWRROztFQUNJO0FWbzFkWjtBVXIxZFE7O0VBQ0k7QVZ3MWRaO0FVejFkUTs7RUFDSTtBVjQxZFo7QVU3MWRROztFQUNJO0FWZzJkWjtBVWoyZFE7O0VBQ0k7QVZvMmRaO0FVcjJkUTs7RUFDSTtBVncyZFo7QVV6MmRROztFQUNJO0FWNDJkWjtBVTcyZFE7O0VBQ0k7QVZnM2RaO0FVajNkUTs7RUFDSTtBVm8zZFo7QVVyM2RROztFQUNJO0FWdzNkWjtBVXozZFE7O0VBQ0k7QVY0M2RaO0FVNzNkUTs7RUFDSTtBVmc0ZFo7QVVqNGRROztFQUNJO0FWbzRkWjtBVXI0ZFE7O0VBQ0k7QVZ3NGRaO0FVejRkUTs7RUFDSTtBVjQ0ZFo7QVU3NGRROztFQUNJO0FWZzVkWjtBVWo1ZFE7O0VBQ0k7QVZvNWRaO0FVcjVkUTs7RUFDSTtBVnc1ZFo7QVV6NWRROztFQUNJO0FWNDVkWjtBVTc1ZFE7O0VBQ0k7QVZnNmRaO0FVajZkUTs7RUFDSTtBVm82ZFo7QVVyNmRROztFQUNJO0FWdzZkWjtBVXo2ZFE7O0VBQ0k7QVY0NmRaO0FVNzZkUTs7RUFDSTtBVmc3ZFo7QVVqN2RROztFQUNJO0FWbzdkWjtBVXI3ZFE7O0VBQ0k7QVZ3N2RaO0FVejdkUTs7RUFDSTtBVjQ3ZFo7QVU3N2RROztFQUNJO0FWZzhkWjtBVWo4ZFE7O0VBQ0k7QVZvOGRaO0FVcjhkUTs7RUFDSTtBVnc4ZFo7QVV6OGRROztFQUNJO0FWNDhkWjtBVTc4ZFE7O0VBQ0k7QVZnOWRaO0FVajlkUTs7RUFDSTtBVm85ZFo7QVVyOWRROztFQUNJO0FWdzlkWjtBVXo5ZFE7O0VBQ0k7QVY0OWRaO0FVNzlkUTs7RUFDSTtBVmcrZFo7QVVqK2RROztFQUNJO0FWbytkWjtBVXIrZFE7O0VBQ0k7QVZ3K2RaO0FVeitkUTs7RUFDSTtBVjQrZFo7QVU3K2RROztFQUNJO0FWZy9kWjtBVWovZFE7O0VBQ0k7QVZvL2RaO0FVci9kUTs7RUFDSTtBVncvZFo7QVV6L2RROztFQUNJO0FWNC9kWjtBVTcvZFE7O0VBQ0k7QVZnZ2VaO0FVamdlUTs7RUFDSTtBVm9nZVo7QVVyZ2VROztFQUNJO0FWd2dlWjtBVXpnZVE7O0VBQ0k7QVY0Z2VaO0FVN2dlUTs7RUFDSTtBVmdoZVo7QVVqaGVROztFQUNJO0FWb2hlWjtBVXJoZVE7O0VBQ0k7QVZ3aGVaO0FVemhlUTs7RUFDSTtBVjRoZVo7QVU3aGVROztFQUNJO0FWZ2llWjtBVWppZVE7O0VBQ0k7QVZvaWVaO0FVcmllUTs7RUFDSTtBVndpZVo7QVV6aWVROztFQUNJO0FWNGllWjtBVTdpZVE7O0VBQ0k7QVZnamVaO0FVamplUTs7RUFDSTtBVm9qZVo7QVVyamVROztFQUNJO0FWd2plWjtBVXpqZVE7O0VBQ0k7QVY0amVaO0FVN2plUTs7RUFDSTtBVmdrZVo7QVVqa2VROztFQUNJO0FWb2tlWjtBVXJrZVE7O0VBQ0k7QVZ3a2VaO0FVemtlUTs7RUFDSTtBVjRrZVo7QVU3a2VROztFQUNJO0FWZ2xlWjtBVWpsZVE7O0VBQ0k7QVZvbGVaO0FVcmxlUTs7RUFDSTtBVndsZVo7QVV6bGVROztFQUNJO0FWNGxlWjtBVTdsZVE7O0VBQ0k7QVZnbWVaO0FVam1lUTs7RUFDSTtBVm9tZVo7QVVybWVROztFQUNJO0FWd21lWjtBVXptZVE7O0VBQ0k7QVY0bWVaO0FVN21lUTs7RUFDSTtBVmduZVo7QVVqbmVROztFQUNJO0FWb25lWjtBVXJuZVE7O0VBQ0k7QVZ3bmVaO0FVem5lUTs7RUFDSTtBVjRuZVo7QVU3bmVROztFQUNJO0FWZ29lWjtBVWpvZVE7O0VBQ0k7QVZvb2VaO0FVcm9lUTs7RUFDSTtBVndvZVo7QVV6b2VROztFQUNJO0FWNG9lWjtBVTdvZVE7O0VBQ0k7QVZncGVaO0FVanBlUTs7RUFDSTtBVm9wZVo7QVVycGVROztFQUNJO0FWd3BlWjtBVXpwZVE7O0VBQ0k7QVY0cGVaO0FVN3BlUTs7RUFDSTtBVmdxZVo7QVVqcWVROztFQUNJO0FWb3FlWjtBVXJxZVE7O0VBQ0k7QVZ3cWVaO0FVenFlUTs7RUFDSTtBVjRxZVo7QVU3cWVROztFQUNJO0FWZ3JlWjtBVWpyZVE7O0VBQ0k7QVZvcmVaO0FVcnJlUTs7RUFDSTtBVndyZVo7QVV6cmVROztFQUNJO0FWNHJlWjtBVTdyZVE7O0VBQ0k7QVZnc2VaO0FVanNlUTs7RUFDSTtBVm9zZVo7QVVyc2VROztFQUNJO0FWd3NlWjtBVXpzZVE7O0VBQ0k7QVY0c2VaO0FVN3NlUTs7RUFDSTtBVmd0ZVo7QVVqdGVROztFQUNJO0FWb3RlWjtBVXJ0ZVE7O0VBQ0k7QVZ3dGVaO0FVenRlUTs7RUFDSTtBVjR0ZVo7QVU3dGVROztFQUNJO0FWZ3VlWjtBVWp1ZVE7O0VBQ0k7QVZvdWVaO0FVcnVlUTs7RUFDSTtBVnd1ZVo7QVV6dWVROztFQUNJO0FWNHVlWjtBVTd1ZVE7O0VBQ0k7QVZndmVaO0FVanZlUTs7RUFDSTtBVm92ZVo7QVVydmVROztFQUNJO0FWd3ZlWjtBVXp2ZVE7O0VBQ0k7QVY0dmVaO0FVN3ZlUTs7RUFDSTtBVmd3ZVo7QVVqd2VROztFQUNJO0FWb3dlWjtBVXJ3ZVE7O0VBQ0k7QVZ3d2VaO0FVendlUTs7RUFDSTtBVjR3ZVo7QVU3d2VROztFQUNJO0FWZ3hlWjtBVWp4ZVE7O0VBQ0k7QVZveGVaO0FVcnhlUTs7RUFDSTtBVnd4ZVo7QVV6eGVROztFQUNJO0FWNHhlWjtBVTd4ZVE7O0VBQ0k7QVZneWVaO0FVanllUTs7RUFDSTtBVm95ZVo7QVVyeWVROztFQUNJO0FWd3llWjtBVXp5ZVE7O0VBQ0k7QVY0eWVaO0FVN3llUTs7RUFDSTtBVmd6ZVo7QVVqemVROztFQUNJO0FWb3plWjtBVXJ6ZVE7O0VBQ0k7QVZ3emVaO0FVenplUTs7RUFDSTtBVjR6ZVo7QVU3emVROztFQUNJO0FWZzBlWjtBVWowZVE7O0VBQ0k7QVZvMGVaO0FVcjBlUTs7RUFDSTtBVncwZVo7QVV6MGVROztFQUNJO0FWNDBlWjtBVTcwZVE7O0VBQ0k7QVZnMWVaO0FVajFlUTs7RUFDSTtBVm8xZVo7QVVyMWVROztFQUNJO0FWdzFlWjtBVXoxZVE7O0VBQ0k7QVY0MWVaO0FVNzFlUTs7RUFDSTtBVmcyZVo7QVVqMmVROztFQUNJO0FWbzJlWjtBVXIyZVE7O0VBQ0k7QVZ3MmVaO0FVejJlUTs7RUFDSTtBVjQyZVo7QVU3MmVROztFQUNJO0FWZzNlWjtBVWozZVE7O0VBQ0k7QVZvM2VaO0FVcjNlUTs7RUFDSTtBVnczZVo7QVV6M2VROztFQUNJO0FWNDNlWjtBVTczZVE7O0VBQ0k7QVZnNGVaO0FVajRlUTs7RUFDSTtBVm80ZVo7QVVyNGVROztFQUNJO0FWdzRlWjtBVXo0ZVE7O0VBQ0k7QVY0NGVaO0FVNzRlUTs7RUFDSTtBVmc1ZVo7QVVqNWVROztFQUNJO0FWbzVlWjtBVXI1ZVE7O0VBQ0k7QVZ3NWVaO0FVejVlUTs7RUFDSTtBVjQ1ZVo7QVU3NWVROztFQUNJO0FWZzZlWjtBVWo2ZVE7O0VBQ0k7QVZvNmVaO0FVcjZlUTs7RUFDSTtBVnc2ZVo7QVV6NmVROztFQUNJO0FWNDZlWjtBVTc2ZVE7O0VBQ0k7QVZnN2VaO0FVajdlUTs7RUFDSTtBVm83ZVo7QVVyN2VROztFQUNJO0FWdzdlWjtBVXo3ZVE7O0VBQ0k7QVY0N2VaO0FVNzdlUTs7RUFDSTtBVmc4ZVo7QVVqOGVROztFQUNJO0FWbzhlWjtBVXI4ZVE7O0VBQ0k7QVZ3OGVaO0FVejhlUTs7RUFDSTtBVjQ4ZVo7QVU3OGVROztFQUNJO0FWZzllWjtBVWo5ZVE7O0VBQ0k7QVZvOWVaO0FVcjllUTs7RUFDSTtBVnc5ZVo7QVV6OWVROztFQUNJO0FWNDllWjtBVTc5ZVE7O0VBQ0k7QVZnK2VaO0FVaitlUTs7RUFDSTtBVm8rZVo7QVVyK2VROztFQUNJO0FWdytlWjtBVXorZVE7O0VBQ0k7QVY0K2VaO0FVNytlUTs7RUFDSTtBVmcvZVo7QVVqL2VROztFQUNJO0FWby9lWjtBVXIvZVE7O0VBQ0k7QVZ3L2VaO0FVei9lUTs7RUFDSTtBVjQvZVo7QVU3L2VROztFQUNJO0FWZ2dmWjtBVWpnZlE7O0VBQ0k7QVZvZ2ZaO0FVcmdmUTs7RUFDSTtBVndnZlo7QVV6Z2ZROztFQUNJO0FWNGdmWjtBVTdnZlE7O0VBQ0k7QVZnaGZaO0FVamhmUTs7RUFDSTtBVm9oZlo7QVVyaGZROztFQUNJO0FWd2hmWjtBVXpoZlE7O0VBQ0k7QVY0aGZaO0FVN2hmUTs7RUFDSTtBVmdpZlo7QVVqaWZROztFQUNJO0FWb2lmWjtBVXJpZlE7O0VBQ0k7QVZ3aWZaO0FVemlmUTs7RUFDSTtBVjRpZlo7QVU3aWZROztFQUNJO0FWZ2pmWjtBVWpqZlE7O0VBQ0k7QVZvamZaO0FVcmpmUTs7RUFDSTtBVndqZlo7QVV6amZROztFQUNJO0FWNGpmWjtBVTdqZlE7O0VBQ0k7QVZna2ZaO0FVamtmUTs7RUFDSTtBVm9rZlo7QVVya2ZROztFQUNJO0FWd2tmWjtBVXprZlE7O0VBQ0k7QVY0a2ZaO0FVN2tmUTs7RUFDSTtBVmdsZlo7QVVqbGZROztFQUNJO0FWb2xmWjtBVXJsZlE7O0VBQ0k7QVZ3bGZaO0FVemxmUTs7RUFDSTtBVjRsZlo7QVU3bGZROztFQUNJO0FWZ21mWjtBVWptZlE7O0VBQ0k7QVZvbWZaO0FVcm1mUTs7RUFDSTtBVndtZlo7QVV6bWZROztFQUNJO0FWNG1mWjtBVTdtZlE7O0VBQ0k7QVZnbmZaO0FVam5mUTs7RUFDSTtBVm9uZlo7QVVybmZROztFQUNJO0FWd25mWjtBVXpuZlE7O0VBQ0k7QVY0bmZaO0FVN25mUTs7RUFDSTtBVmdvZlo7QVVqb2ZROztFQUNJO0FWb29mWjtBVXJvZlE7O0VBQ0k7QVZ3b2ZaO0FVem9mUTs7RUFDSTtBVjRvZlo7QVU3b2ZROztFQUNJO0FWZ3BmWjtBVWpwZlE7O0VBQ0k7QVZvcGZaO0FVcnBmUTs7RUFDSTtBVndwZlo7QVV6cGZROztFQUNJO0FWNHBmWjtBVTdwZlE7O0VBQ0k7QVZncWZaO0FVanFmUTs7RUFDSTtBVm9xZlo7QVVycWZROztFQUNJO0FWd3FmWjtBVXpxZlE7O0VBQ0k7QVY0cWZaO0FVN3FmUTs7RUFDSTtBVmdyZlo7QVVqcmZROztFQUNJO0FWb3JmWjtBVXJyZlE7O0VBQ0k7QVZ3cmZaO0FVenJmUTs7RUFDSTtBVjRyZlo7QVU3cmZROztFQUNJO0FWZ3NmWjtBVWpzZlE7O0VBQ0k7QVZvc2ZaO0FVcnNmUTs7RUFDSTtBVndzZlo7QVV6c2ZROztFQUNJO0FWNHNmWjtBVTdzZlE7O0VBQ0k7QVZndGZaO0FVanRmUTs7RUFDSTtBVm90Zlo7QVVydGZROztFQUNJO0FWd3RmWjtBVXp0ZlE7O0VBQ0k7QVY0dGZaO0FVN3RmUTs7RUFDSTtBVmd1Zlo7QVVqdWZROztFQUNJO0FWb3VmWjtBVXJ1ZlE7O0VBQ0k7QVZ3dWZaO0FVenVmUTs7RUFDSTtBVjR1Zlo7QVU3dWZROztFQUNJO0FWZ3ZmWjtBVWp2ZlE7O0VBQ0k7QVZvdmZaO0FVcnZmUTs7RUFDSTtBVnd2Zlo7QVV6dmZROztFQUNJO0FWNHZmWjtBVTd2ZlE7O0VBQ0k7QVZnd2ZaO0FVandmUTs7RUFDSTtBVm93Zlo7QVVyd2ZROztFQUNJO0FWd3dmWjtBVXp3ZlE7O0VBQ0k7QVY0d2ZaO0FVN3dmUTs7RUFDSTtBVmd4Zlo7QVVqeGZROztFQUNJO0FWb3hmWjtBVXJ4ZlE7O0VBQ0k7QVZ3eGZaO0FVenhmUTs7RUFDSTtBVjR4Zlo7QVU3eGZROztFQUNJO0FWZ3lmWjtBVWp5ZlE7O0VBQ0k7QVZveWZaO0FVcnlmUTs7RUFDSTtBVnd5Zlo7QVV6eWZROztFQUNJO0FWNHlmWjtBVTd5ZlE7O0VBQ0k7QVZnemZaO0FVanpmUTs7RUFDSTtBVm96Zlo7QVVyemZROztFQUNJO0FWd3pmWjtBVXp6ZlE7O0VBQ0k7QVY0emZaO0FVN3pmUTs7RUFDSTtBVmcwZlo7QVVqMGZROztFQUNJO0FWbzBmWjtBVXIwZlE7O0VBQ0k7QVZ3MGZaO0FVejBmUTs7RUFDSTtBVjQwZlo7QVU3MGZROztFQUNJO0FWZzFmWjtBVWoxZlE7O0VBQ0k7QVZvMWZaO0FVcjFmUTs7RUFDSTtBVncxZlo7QVV6MWZROztFQUNJO0FWNDFmWjtBVTcxZlE7O0VBQ0k7QVZnMmZaO0FVajJmUTs7RUFDSTtBVm8yZlo7QVVyMmZROztFQUNJO0FWdzJmWjtBVXoyZlE7O0VBQ0k7QVY0MmZaO0FVNzJmUTs7RUFDSTtBVmczZlo7QVVqM2ZROztFQUNJO0FWbzNmWjtBVXIzZlE7O0VBQ0k7QVZ3M2ZaO0FVejNmUTs7RUFDSTtBVjQzZlo7QVU3M2ZROztFQUNJO0FWZzRmWjtBVWo0ZlE7O0VBQ0k7QVZvNGZaO0FVcjRmUTs7RUFDSTtBVnc0Zlo7QVV6NGZROztFQUNJO0FWNDRmWjtBVTc0ZlE7O0VBQ0k7QVZnNWZaO0FVajVmUTs7RUFDSTtBVm81Zlo7QVVyNWZROztFQUNJO0FWdzVmWjtBVXo1ZlE7O0VBQ0k7QVY0NWZaO0FVNzVmUTs7RUFDSTtBVmc2Zlo7QVVqNmZROztFQUNJO0FWbzZmWjtBVXI2ZlE7O0VBQ0k7QVZ3NmZaO0FVejZmUTs7RUFDSTtBVjQ2Zlo7QVU3NmZROztFQUNJO0FWZzdmWjtBVWo3ZlE7O0VBQ0k7QVZvN2ZaO0FVcjdmUTs7RUFDSTtBVnc3Zlo7QVV6N2ZROztFQUNJO0FWNDdmWjtBVTc3ZlE7O0VBQ0k7QVZnOGZaO0FVajhmUTs7RUFDSTtBVm84Zlo7QVVyOGZROztFQUNJO0FWdzhmWjtBVXo4ZlE7O0VBQ0k7QVY0OGZaO0FVNzhmUTs7RUFDSTtBVmc5Zlo7QVVqOWZROztFQUNJO0FWbzlmWjtBVXI5ZlE7O0VBQ0k7QVZ3OWZaO0FVejlmUTs7RUFDSTtBVjQ5Zlo7QVU3OWZROztFQUNJO0FWZytmWjtBVWorZlE7O0VBQ0k7QVZvK2ZaO0FVcitmUTs7RUFDSTtBVncrZlo7QVV6K2ZROztFQUNJO0FWNCtmWjtBVTcrZlE7O0VBQ0k7QVZnL2ZaO0FVai9mUTs7RUFDSTtBVm8vZlo7QVVyL2ZROztFQUNJO0FWdy9mWjtBVXovZlE7O0VBQ0k7QVY0L2ZaO0FVNy9mUTs7RUFDSTtBVmdnZ0JaO0FVamdnQlE7O0VBQ0k7QVZvZ2dCWjtBVXJnZ0JROztFQUNJO0FWd2dnQlo7QVV6Z2dCUTs7RUFDSTtBVjRnZ0JaO0FVN2dnQlE7O0VBQ0k7QVZnaGdCWjtBVWpoZ0JROztFQUNJO0FWb2hnQlo7QVVyaGdCUTs7RUFDSTtBVndoZ0JaO0FVemhnQlE7O0VBQ0k7QVY0aGdCWjtBVTdoZ0JROztFQUNJO0FWZ2lnQlo7QVVqaWdCUTs7RUFDSTtBVm9pZ0JaO0FVcmlnQlE7O0VBQ0k7QVZ3aWdCWjtBVXppZ0JROztFQUNJO0FWNGlnQlo7QVU3aWdCUTs7RUFDSTtBVmdqZ0JaO0FVampnQlE7O0VBQ0k7QVZvamdCWjtBVXJqZ0JROztFQUNJO0FWd2pnQlo7QVV6amdCUTs7RUFDSTtBVjRqZ0JaO0FVN2pnQlE7O0VBQ0k7QVZna2dCWjtBVWprZ0JROztFQUNJO0FWb2tnQlo7QVVya2dCUTs7RUFDSTtBVndrZ0JaO0FVemtnQlE7O0VBQ0k7QVY0a2dCWjtBVTdrZ0JROztFQUNJO0FWZ2xnQlo7QVVqbGdCUTs7RUFDSTtBVm9sZ0JaO0FVcmxnQlE7O0VBQ0k7QVZ3bGdCWjtBVXpsZ0JROztFQUNJO0FWNGxnQlo7QVU3bGdCUTs7RUFDSTtBVmdtZ0JaO0FVam1nQlE7O0VBQ0k7QVZvbWdCWjtBVXJtZ0JROztFQUNJO0FWd21nQlo7QVV6bWdCUTs7RUFDSTtBVjRtZ0JaO0FVN21nQlE7O0VBQ0k7QVZnbmdCWjtBVWpuZ0JROztFQUNJO0FWb25nQlo7QVVybmdCUTs7RUFDSTtBVnduZ0JaO0FVem5nQlE7O0VBQ0k7QVY0bmdCWjtBVTduZ0JROztFQUNJO0FWZ29nQlo7QVVqb2dCUTs7RUFDSTtBVm9vZ0JaO0FVcm9nQlE7O0VBQ0k7QVZ3b2dCWjtBVXpvZ0JROztFQUNJO0FWNG9nQlo7QVU3b2dCUTs7RUFDSTtBVmdwZ0JaO0FVanBnQlE7O0VBQ0k7QVZvcGdCWjtBVXJwZ0JROztFQUNJO0FWd3BnQlo7QVV6cGdCUTs7RUFDSTtBVjRwZ0JaO0FVN3BnQlE7O0VBQ0k7QVZncWdCWjtBVWpxZ0JROztFQUNJO0FWb3FnQlo7QVVycWdCUTs7RUFDSTtBVndxZ0JaO0FVenFnQlE7O0VBQ0k7QVY0cWdCWjtBVTdxZ0JROztFQUNJO0FWZ3JnQlo7QVVqcmdCUTs7RUFDSTtBVm9yZ0JaO0FVcnJnQlE7O0VBQ0k7QVZ3cmdCWjtBVXpyZ0JROztFQUNJO0FWNHJnQlo7QVU3cmdCUTs7RUFDSTtBVmdzZ0JaO0FVanNnQlE7O0VBQ0k7QVZvc2dCWjtBVXJzZ0JROztFQUNJO0FWd3NnQlo7QVV6c2dCUTs7RUFDSTtBVjRzZ0JaO0FVN3NnQlE7O0VBQ0k7QVZndGdCWjtBVWp0Z0JROztFQUNJO0FWb3RnQlo7QVVydGdCUTs7RUFDSTtBVnd0Z0JaO0FVenRnQlE7O0VBQ0k7QVY0dGdCWjtBVTd0Z0JROztFQUNJO0FWZ3VnQlo7QVVqdWdCUTs7RUFDSTtBVm91Z0JaO0FVcnVnQlE7O0VBQ0k7QVZ3dWdCWjtBVXp1Z0JROztFQUNJO0FWNHVnQlo7QVU3dWdCUTs7RUFDSTtBVmd2Z0JaO0FVanZnQlE7O0VBQ0k7QVZvdmdCWjtBVXJ2Z0JROztFQUNJO0FWd3ZnQlo7QVV6dmdCUTs7RUFDSTtBVjR2Z0JaO0FVN3ZnQlE7O0VBQ0k7QVZnd2dCWjtBVWp3Z0JROztFQUNJO0FWb3dnQlo7QVVyd2dCUTs7RUFDSTtBVnd3Z0JaO0FVendnQlE7O0VBQ0k7QVY0d2dCWjtBVTd3Z0JROztFQUNJO0FWZ3hnQlo7QVVqeGdCUTs7RUFDSTtBVm94Z0JaO0FVcnhnQlE7O0VBQ0k7QVZ3eGdCWjtBVXp4Z0JROztFQUNJO0FWNHhnQlo7QVU3eGdCUTs7RUFDSTtBVmd5Z0JaO0FVanlnQlE7O0VBQ0k7QVZveWdCWjtBVXJ5Z0JROztFQUNJO0FWd3lnQlo7QVV6eWdCUTs7RUFDSTtBVjR5Z0JaO0FVN3lnQlE7O0VBQ0k7QVZnemdCWjtBVWp6Z0JROztFQUNJO0FWb3pnQlo7QVVyemdCUTs7RUFDSTtBVnd6Z0JaO0FVenpnQlE7O0VBQ0k7QVY0emdCWjtBVTd6Z0JROztFQUNJO0FWZzBnQlo7QVVqMGdCUTs7RUFDSTtBVm8wZ0JaO0FVcjBnQlE7O0VBQ0k7QVZ3MGdCWjtBVXowZ0JROztFQUNJO0FWNDBnQlo7QVU3MGdCUTs7RUFDSTtBVmcxZ0JaO0FVajFnQlE7O0VBQ0k7QVZvMWdCWjtBVXIxZ0JROztFQUNJO0FWdzFnQlo7QVV6MWdCUTs7RUFDSTtBVjQxZ0JaO0FVNzFnQlE7O0VBQ0k7QVZnMmdCWjtBVWoyZ0JROztFQUNJO0FWbzJnQlo7QVVyMmdCUTs7RUFDSTtBVncyZ0JaO0FVejJnQlE7O0VBQ0k7QVY0MmdCWjtBVTcyZ0JROztFQUNJO0FWZzNnQlo7QVVqM2dCUTs7RUFDSTtBVm8zZ0JaO0FVcjNnQlE7O0VBQ0k7QVZ3M2dCWjtBVXozZ0JROztFQUNJO0FWNDNnQlo7QVU3M2dCUTs7RUFDSTtBVmc0Z0JaO0FVajRnQlE7O0VBQ0k7QVZvNGdCWjtBVXI0Z0JROztFQUNJO0FWdzRnQlo7QVV6NGdCUTs7RUFDSTtBVjQ0Z0JaO0FVNzRnQlE7O0VBQ0k7QVZnNWdCWjtBVWo1Z0JROztFQUNJO0FWbzVnQlo7QVVyNWdCUTs7RUFDSTtBVnc1Z0JaO0FVejVnQlE7O0VBQ0k7QVY0NWdCWjtBVTc1Z0JROztFQUNJO0FWZzZnQlo7QVVqNmdCUTs7RUFDSTtBVm82Z0JaO0FVcjZnQlE7O0VBQ0k7QVZ3NmdCWjtBVXo2Z0JROztFQUNJO0FWNDZnQlo7QVU3NmdCUTs7RUFDSTtBVmc3Z0JaO0FVajdnQlE7O0VBQ0k7QVZvN2dCWjtBVXI3Z0JROztFQUNJO0FWdzdnQlo7QVV6N2dCUTs7RUFDSTtBVjQ3Z0JaO0FVNzdnQlE7O0VBQ0k7QVZnOGdCWjtBVWo4Z0JROztFQUNJO0FWbzhnQlo7QVVyOGdCUTs7RUFDSTtBVnc4Z0JaO0FVejhnQlE7O0VBQ0k7QVY0OGdCWjtBVTc4Z0JROztFQUNJO0FWZzlnQlo7QVVqOWdCUTs7RUFDSTtBVm85Z0JaO0FVcjlnQlE7O0VBQ0k7QVZ3OWdCWjtBVXo5Z0JROztFQUNJO0FWNDlnQlo7QVU3OWdCUTs7RUFDSTtBVmcrZ0JaO0FVaitnQlE7O0VBQ0k7QVZvK2dCWjtBVXIrZ0JROztFQUNJO0FWdytnQlo7QVV6K2dCUTs7RUFDSTtBVjQrZ0JaO0FVNytnQlE7O0VBQ0k7QVZnL2dCWjtBVWovZ0JROztFQUNJO0FWby9nQlo7QVVyL2dCUTs7RUFDSTtBVncvZ0JaO0FVei9nQlE7O0VBQ0k7QVY0L2dCWjtBVTcvZ0JROztFQUNJO0FWZ2doQlo7QVVqZ2hCUTs7RUFDSTtBVm9naEJaO0FVcmdoQlE7O0VBQ0k7QVZ3Z2hCWjtBVXpnaEJROztFQUNJO0FWNGdoQlo7QVU3Z2hCUTs7RUFDSTtBVmdoaEJaO0FVamhoQlE7O0VBQ0k7QVZvaGhCWjtBVXJoaEJROztFQUNJO0FWd2hoQlo7QVV6aGhCUTs7RUFDSTtBVjRoaEJaO0FVN2hoQlE7O0VBQ0k7QVZnaWhCWjtBVWppaEJROztFQUNJO0FWb2loQlo7QVVyaWhCUTs7RUFDSTtBVndpaEJaO0FVemloQlE7O0VBQ0k7QVY0aWhCWjtBVTdpaEJROztFQUNJO0FWZ2poQlo7QVVqamhCUTs7RUFDSTtBVm9qaEJaO0FVcmpoQlE7O0VBQ0k7QVZ3amhCWjtBVXpqaEJROztFQUNJO0FWNGpoQlo7QVU3amhCUTs7RUFDSTtBVmdraEJaO0FVamtoQlE7O0VBQ0k7QVZva2hCWjtBVXJraEJROztFQUNJO0FWd2toQlo7QVV6a2hCUTs7RUFDSTtBVjRraEJaO0FVN2toQlE7O0VBQ0k7QVZnbGhCWjtBVWpsaEJROztFQUNJO0FWb2xoQlo7QVVybGhCUTs7RUFDSTtBVndsaEJaO0FVemxoQlE7O0VBQ0k7QVY0bGhCWjtBVTdsaEJROztFQUNJO0FWZ21oQlo7QVVqbWhCUTs7RUFDSTtBVm9taEJaO0FVcm1oQlE7O0VBQ0k7QVZ3bWhCWjtBVXptaEJROztFQUNJO0FWNG1oQlo7QVU3bWhCUTs7RUFDSTtBVmduaEJaO0FVam5oQlE7O0VBQ0k7QVZvbmhCWjtBVXJuaEJROztFQUNJO0FWd25oQlo7QVV6bmhCUTs7RUFDSTtBVjRuaEJaO0FVN25oQlE7O0VBQ0k7QVZnb2hCWjtBVWpvaEJROztFQUNJO0FWb29oQlo7QVVyb2hCUTs7RUFDSTtBVndvaEJaO0FVem9oQlE7O0VBQ0k7QVY0b2hCWjtBVTdvaEJROztFQUNJO0FWZ3BoQlo7QVVqcGhCUTs7RUFDSTtBVm9waEJaO0FVcnBoQlE7O0VBQ0k7QVZ3cGhCWjtBVXpwaEJROztFQUNJO0FWNHBoQlo7QVU3cGhCUTs7RUFDSTtBVmdxaEJaO0FVanFoQlE7O0VBQ0k7QVZvcWhCWjtBVXJxaEJROztFQUNJO0FWd3FoQlo7QVV6cWhCUTs7RUFDSTtBVjRxaEJaO0FVN3FoQlE7O0VBQ0k7QVZncmhCWjtBVWpyaEJROztFQUNJO0FWb3JoQlo7QVVycmhCUTs7RUFDSTtBVndyaEJaO0FVenJoQlE7O0VBQ0k7QVY0cmhCWjtBVTdyaEJROztFQUNJO0FWZ3NoQlo7QVVqc2hCUTs7RUFDSTtBVm9zaEJaO0FVcnNoQlE7O0VBQ0k7QVZ3c2hCWjtBVXpzaEJROztFQUNJO0FWNHNoQlo7QVU3c2hCUTs7RUFDSTtBVmd0aEJaO0FVanRoQlE7O0VBQ0k7QVZvdGhCWjtBVXJ0aEJROztFQUNJO0FWd3RoQlo7QVV6dGhCUTs7RUFDSTtBVjR0aEJaO0FVN3RoQlE7O0VBQ0k7QVZndWhCWjtBVWp1aEJROztFQUNJO0FWb3VoQlo7QVVydWhCUTs7RUFDSTtBVnd1aEJaO0FVenVoQlE7O0VBQ0k7QVY0dWhCWjtBVTd1aEJROztFQUNJO0FWZ3ZoQlo7QVVqdmhCUTs7RUFDSTtBVm92aEJaO0FVcnZoQlE7O0VBQ0k7QVZ3dmhCWjtBVXp2aEJROztFQUNJO0FWNHZoQlo7QVU3dmhCUTs7RUFDSTtBVmd3aEJaO0FVandoQlE7O0VBQ0k7QVZvd2hCWjtBVXJ3aEJROztFQUNJO0FWd3doQlo7QVV6d2hCUTs7RUFDSTtBVjR3aEJaO0FVN3doQlE7O0VBQ0k7QVZneGhCWjtBVWp4aEJROztFQUNJO0FWb3hoQlo7QVVyeGhCUTs7RUFDSTtBVnd4aEJaO0FVenhoQlE7O0VBQ0k7QVY0eGhCWjtBVTd4aEJROztFQUNJO0FWZ3loQlo7QVVqeWhCUTs7RUFDSTtBVm95aEJaO0FVcnloQlE7O0VBQ0k7QVZ3eWhCWjtBVXp5aEJROztFQUNJO0FWNHloQlo7QVU3eWhCUTs7RUFDSTtBVmd6aEJaO0FVanpoQlE7O0VBQ0k7QVZvemhCWjtBVXJ6aEJROztFQUNJO0FWd3poQlo7QVV6emhCUTs7RUFDSTtBVjR6aEJaO0FVN3poQlE7O0VBQ0k7QVZnMGhCWjtBVWowaEJROztFQUNJO0FWbzBoQlo7QVVyMGhCUTs7RUFDSTtBVncwaEJaO0FVejBoQlE7O0VBQ0k7QVY0MGhCWjtBVTcwaEJROztFQUNJO0FWZzFoQlo7QVVqMWhCUTs7RUFDSTtBVm8xaEJaO0FVcjFoQlE7O0VBQ0k7QVZ3MWhCWjtBVXoxaEJROztFQUNJO0FWNDFoQlo7QVU3MWhCUTs7RUFDSTtBVmcyaEJaO0FVajJoQlE7O0VBQ0k7QVZvMmhCWjtBVXIyaEJROztFQUNJO0FWdzJoQlo7QVV6MmhCUTs7RUFDSTtBVjQyaEJaO0FVNzJoQlE7O0VBQ0k7QVZnM2hCWjtBVWozaEJROztFQUNJO0FWbzNoQlo7QVVyM2hCUTs7RUFDSTtBVnczaEJaO0FVejNoQlE7O0VBQ0k7QVY0M2hCWjtBVTczaEJROztFQUNJO0FWZzRoQlo7QVVqNGhCUTs7RUFDSTtBVm80aEJaO0FVcjRoQlE7O0VBQ0k7QVZ3NGhCWjtBVXo0aEJROztFQUNJO0FWNDRoQlo7QVU3NGhCUTs7RUFDSTtBVmc1aEJaO0FVajVoQlE7O0VBQ0k7QVZvNWhCWjtBVXI1aEJROztFQUNJO0FWdzVoQlo7QVV6NWhCUTs7RUFDSTtBVjQ1aEJaO0FVNzVoQlE7O0VBQ0k7QVZnNmhCWjtBVWo2aEJROztFQUNJO0FWbzZoQlo7QVVyNmhCUTs7RUFDSTtBVnc2aEJaO0FVejZoQlE7O0VBQ0k7QVY0NmhCWjtBVTc2aEJROztFQUNJO0FWZzdoQlo7QVVqN2hCUTs7RUFDSTtBVm83aEJaO0FVcjdoQlE7O0VBQ0k7QVZ3N2hCWjtBVXo3aEJROztFQUNJO0FWNDdoQlo7QVU3N2hCUTs7RUFDSTtBVmc4aEJaO0FVajhoQlE7O0VBQ0k7QVZvOGhCWjtBVXI4aEJROztFQUNJO0FWdzhoQlo7QVV6OGhCUTs7RUFDSTtBVjQ4aEJaO0FVNzhoQlE7O0VBQ0k7QVZnOWhCWjtBVWo5aEJROztFQUNJO0FWbzloQlo7QVVyOWhCUTs7RUFDSTtBVnc5aEJaO0FVejloQlE7O0VBQ0k7QVY0OWhCWjtBVTc5aEJROztFQUNJO0FWZytoQlo7QVVqK2hCUTs7RUFDSTtBVm8raEJaO0FVcitoQlE7O0VBQ0k7QVZ3K2hCWjtBVXoraEJROztFQUNJO0FWNCtoQlo7QVU3K2hCUTs7RUFDSTtBVmcvaEJaO0FVai9oQlE7O0VBQ0k7QVZvL2hCWjtBVXIvaEJROztFQUNJO0FWdy9oQlo7QVV6L2hCUTs7RUFDSTtBVjQvaEJaO0FVNy9oQlE7O0VBQ0k7QVZnZ2lCWjtBVWpnaUJROztFQUNJO0FWb2dpQlo7QVVyZ2lCUTs7RUFDSTtBVndnaUJaO0FVemdpQlE7O0VBQ0k7QVY0Z2lCWjtBVTdnaUJROztFQUNJO0FWZ2hpQlo7QVVqaGlCUTs7RUFDSTtBVm9oaUJaO0FVcmhpQlE7O0VBQ0k7QVZ3aGlCWjtBVXpoaUJROztFQUNJO0FWNGhpQlo7QVU3aGlCUTs7RUFDSTtBVmdpaUJaO0FVamlpQlE7O0VBQ0k7QVZvaWlCWjtBVXJpaUJROztFQUNJO0FWd2lpQlo7QVV6aWlCUTs7RUFDSTtBVjRpaUJaO0FVN2lpQlE7O0VBQ0k7QVZnamlCWjtBVWpqaUJROztFQUNJO0FWb2ppQlo7QVVyamlCUTs7RUFDSTtBVndqaUJaO0FVemppQlE7O0VBQ0k7QVY0amlCWjtBVTdqaUJROztFQUNJO0FWZ2tpQlo7QVVqa2lCUTs7RUFDSTtBVm9raUJaO0FVcmtpQlE7O0VBQ0k7QVZ3a2lCWjtBVXpraUJROztFQUNJO0FWNGtpQlo7QVU3a2lCUTs7RUFDSTtBVmdsaUJaO0FVamxpQlE7O0VBQ0k7QVZvbGlCWjtBVXJsaUJROztFQUNJO0FWd2xpQlo7QVV6bGlCUTs7RUFDSTtBVjRsaUJaO0FVN2xpQlE7O0VBQ0k7QVZnbWlCWjtBVWptaUJROztFQUNJO0FWb21pQlo7QVVybWlCUTs7RUFDSTtBVndtaUJaO0FVem1pQlE7O0VBQ0k7QVY0bWlCWjtBVTdtaUJROztFQUNJO0FWZ25pQlo7QVVqbmlCUTs7RUFDSTtBVm9uaUJaO0FVcm5pQlE7O0VBQ0k7QVZ3bmlCWjtBVXpuaUJROztFQUNJO0FWNG5pQlo7QVU3bmlCUTs7RUFDSTtBVmdvaUJaO0FVam9pQlE7O0VBQ0k7QVZvb2lCWjtBVXJvaUJROztFQUNJO0FWd29pQlo7QVV6b2lCUTs7RUFDSTtBVjRvaUJaO0FVN29pQlE7O0VBQ0k7QVZncGlCWjtBVWpwaUJROztFQUNJO0FWb3BpQlo7QVVycGlCUTs7RUFDSTtBVndwaUJaO0FVenBpQlE7O0VBQ0k7QVY0cGlCWjtBVTdwaUJROztFQUNJO0FWZ3FpQlo7QVVqcWlCUTs7RUFDSTtBVm9xaUJaO0FVcnFpQlE7O0VBQ0k7QVZ3cWlCWjtBVXpxaUJROztFQUNJO0FWNHFpQlo7QVU3cWlCUTs7RUFDSTtBVmdyaUJaO0FVanJpQlE7O0VBQ0k7QVZvcmlCWjtBVXJyaUJROztFQUNJO0FWd3JpQlo7QVV6cmlCUTs7RUFDSTtBVjRyaUJaO0FVN3JpQlE7O0VBQ0k7QVZnc2lCWjtBVWpzaUJROztFQUNJO0FWb3NpQlo7QVVyc2lCUTs7RUFDSTtBVndzaUJaO0FVenNpQlE7O0VBQ0k7QVY0c2lCWjtBVTdzaUJROztFQUNJO0FWZ3RpQlo7QVVqdGlCUTs7RUFDSTtBVm90aUJaO0FVcnRpQlE7O0VBQ0k7QVZ3dGlCWjtBVXp0aUJROztFQUNJO0FWNHRpQlo7QVU3dGlCUTs7RUFDSTtBVmd1aUJaO0FVanVpQlE7O0VBQ0k7QVZvdWlCWjtBVXJ1aUJROztFQUNJO0FWd3VpQlo7QVV6dWlCUTs7RUFDSTtBVjR1aUJaO0FVN3VpQlE7O0VBQ0k7QVZndmlCWjtBVWp2aUJROztFQUNJO0FWb3ZpQlo7QVVydmlCUTs7RUFDSTtBVnd2aUJaO0FVenZpQlE7O0VBQ0k7QVY0dmlCWjtBVTd2aUJROztFQUNJO0FWZ3dpQlo7QVVqd2lCUTs7RUFDSTtBVm93aUJaO0FVcndpQlE7O0VBQ0k7QVZ3d2lCWjtBVXp3aUJROztFQUNJO0FWNHdpQlo7QVU3d2lCUTs7RUFDSTtBVmd4aUJaO0FVanhpQlE7O0VBQ0k7QVZveGlCWjtBVXJ4aUJROztFQUNJO0FWd3hpQlo7QVV6eGlCUTs7RUFDSTtBVjR4aUJaO0FVN3hpQlE7O0VBQ0k7QVZneWlCWjtBVWp5aUJROztFQUNJO0FWb3lpQlo7QVVyeWlCUTs7RUFDSTtBVnd5aUJaO0FVenlpQlE7O0VBQ0k7QVY0eWlCWjtBVTd5aUJROztFQUNJO0FWZ3ppQlo7QVVqemlCUTs7RUFDSTtBVm96aUJaO0FVcnppQlE7O0VBQ0k7QVZ3emlCWjtBVXp6aUJROztFQUNJO0FWNHppQlo7QVU3emlCUTs7RUFDSTtBVmcwaUJaO0FVajBpQlE7O0VBQ0k7QVZvMGlCWjtBVXIwaUJROztFQUNJO0FWdzBpQlo7QVV6MGlCUTs7RUFDSTtBVjQwaUJaO0FVNzBpQlE7O0VBQ0k7QVZnMWlCWjtBVWoxaUJROztFQUNJO0FWbzFpQlo7QVVyMWlCUTs7RUFDSTtBVncxaUJaO0FVejFpQlE7O0VBQ0k7QVY0MWlCWjtBVTcxaUJROztFQUNJO0FWZzJpQlo7QVVqMmlCUTs7RUFDSTtBVm8yaUJaO0FVcjJpQlE7O0VBQ0k7QVZ3MmlCWjtBVXoyaUJROztFQUNJO0FWNDJpQlo7QVU3MmlCUTs7RUFDSTtBVmczaUJaO0FVajNpQlE7O0VBQ0k7QVZvM2lCWjtBVXIzaUJROztFQUNJO0FWdzNpQlo7QVV6M2lCUTs7RUFDSTtBVjQzaUJaO0FVNzNpQlE7O0VBQ0k7QVZnNGlCWjtBVWo0aUJROztFQUNJO0FWbzRpQlo7QVVyNGlCUTs7RUFDSTtBVnc0aUJaO0FVejRpQlE7O0VBQ0k7QVY0NGlCWjtBVTc0aUJROztFQUNJO0FWZzVpQlo7QVVqNWlCUTs7RUFDSTtBVm81aUJaO0FVcjVpQlE7O0VBQ0k7QVZ3NWlCWjtBVXo1aUJROztFQUNJO0FWNDVpQlo7QVU3NWlCUTs7RUFDSTtBVmc2aUJaO0FVajZpQlE7O0VBQ0k7QVZvNmlCWjtBVXI2aUJROztFQUNJO0FWdzZpQlo7QVV6NmlCUTs7RUFDSTtBVjQ2aUJaO0FVNzZpQlE7O0VBQ0k7QVZnN2lCWjtBVWo3aUJROztFQUNJO0FWbzdpQlo7QVVyN2lCUTs7RUFDSTtBVnc3aUJaO0FVejdpQlE7O0VBQ0k7QVY0N2lCWjtBVTc3aUJROztFQUNJO0FWZzhpQlo7QVVqOGlCUTs7RUFDSTtBVm84aUJaO0FVcjhpQlE7O0VBQ0k7QVZ3OGlCWjtBVXo4aUJROztFQUNJO0FWNDhpQlo7QVU3OGlCUTs7RUFDSTtBVmc5aUJaO0FVajlpQlE7O0VBQ0k7QVZvOWlCWjtBVXI5aUJROztFQUNJO0FWdzlpQlo7QVV6OWlCUTs7RUFDSTtBVjQ5aUJaO0FVNzlpQlE7O0VBQ0k7QVZnK2lCWjtBVWoraUJROztFQUNJO0FWbytpQlo7QVVyK2lCUTs7RUFDSTtBVncraUJaO0FVeitpQlE7O0VBQ0k7QVY0K2lCWjtBVTcraUJROztFQUNJO0FWZy9pQlo7QVVqL2lCUTs7RUFDSTtBVm8vaUJaO0FVci9pQlE7O0VBQ0k7QVZ3L2lCWjtBVXovaUJROztFQUNJO0FWNC9pQlo7QVU3L2lCUTs7RUFDSTtBVmdnakJaO0FVamdqQlE7O0VBQ0k7QVZvZ2pCWjtBVXJnakJROztFQUNJO0FWd2dqQlo7QVV6Z2pCUTs7RUFDSTtBVjRnakJaO0FVN2dqQlE7O0VBQ0k7QVZnaGpCWjtBVWpoakJROztFQUNJO0FWb2hqQlo7QVVyaGpCUTs7RUFDSTtBVndoakJaO0FVemhqQlE7O0VBQ0k7QVY0aGpCWjtBVTdoakJROztFQUNJO0FWZ2lqQlo7QVVqaWpCUTs7RUFDSTtBVm9pakJaO0FVcmlqQlE7O0VBQ0k7QVZ3aWpCWjtBVXppakJROztFQUNJO0FWNGlqQlo7QVU3aWpCUTs7RUFDSTtBVmdqakJaO0FVampqQlE7O0VBQ0k7QVZvampCWjtBVXJqakJROztFQUNJO0FWd2pqQlo7QVV6ampCUTs7RUFDSTtBVjRqakJaO0FVN2pqQlE7O0VBQ0k7QVZna2pCWjtBVWprakJROztFQUNJO0FWb2tqQlo7QVVya2pCUTs7RUFDSTtBVndrakJaO0FVemtqQlE7O0VBQ0k7QVY0a2pCWjtBVTdrakJROztFQUNJO0FWZ2xqQlo7QVVqbGpCUTs7RUFDSTtBVm9sakJaO0FVcmxqQlE7O0VBQ0k7QVZ3bGpCWjtBVXpsakJROztFQUNJO0FWNGxqQlo7QVU3bGpCUTs7RUFDSTtBVmdtakJaO0FVam1qQlE7O0VBQ0k7QVZvbWpCWjtBVXJtakJROztFQUNJO0FWd21qQlo7QVV6bWpCUTs7RUFDSTtBVjRtakJaO0FVN21qQlE7O0VBQ0k7QVZnbmpCWjtBVWpuakJROztFQUNJO0FWb25qQlo7QVVybmpCUTs7RUFDSTtBVnduakJaO0FVem5qQlE7O0VBQ0k7QVY0bmpCWjtBVTduakJROztFQUNJO0FWZ29qQlo7QVVqb2pCUTs7RUFDSTtBVm9vakJaO0FVcm9qQlE7O0VBQ0k7QVZ3b2pCWjtBVXpvakJROztFQUNJO0FWNG9qQlo7QVU3b2pCUTs7RUFDSTtBVmdwakJaO0FVanBqQlE7O0VBQ0k7QVZvcGpCWjtBVXJwakJROztFQUNJO0FWd3BqQlo7QVV6cGpCUTs7RUFDSTtBVjRwakJaO0FVN3BqQlE7O0VBQ0k7QVZncWpCWjtBVWpxakJROztFQUNJO0FWb3FqQlo7QVVycWpCUTs7RUFDSTtBVndxakJaO0FVenFqQlE7O0VBQ0k7QVY0cWpCWjtBVTdxakJROztFQUNJO0FWZ3JqQlo7QVVqcmpCUTs7RUFDSTtBVm9yakJaO0FVcnJqQlE7O0VBQ0k7QVZ3cmpCWjtBVXpyakJROztFQUNJO0FWNHJqQlo7QVU3cmpCUTs7RUFDSTtBVmdzakJaO0FVanNqQlE7O0VBQ0k7QVZvc2pCWjtBVXJzakJROztFQUNJO0FWd3NqQlo7QVV6c2pCUTs7RUFDSTtBVjRzakJaO0FVN3NqQlE7O0VBQ0k7QVZndGpCWjtBVWp0akJROztFQUNJO0FWb3RqQlo7QVVydGpCUTs7RUFDSTtBVnd0akJaO0FVenRqQlE7O0VBQ0k7QVY0dGpCWjtBVTd0akJROztFQUNJO0FWZ3VqQlo7QVVqdWpCUTs7RUFDSTtBVm91akJaO0FVcnVqQlE7O0VBQ0k7QVZ3dWpCWjtBVXp1akJROztFQUNJO0FWNHVqQlo7QVU3dWpCUTs7RUFDSTtBVmd2akJaO0FVanZqQlE7O0VBQ0k7QVZvdmpCWjtBVXJ2akJROztFQUNJO0FWd3ZqQlo7QVV6dmpCUTs7RUFDSTtBVjR2akJaO0FVN3ZqQlE7O0VBQ0k7QVZnd2pCWjtBVWp3akJROztFQUNJO0FWb3dqQlo7QVVyd2pCUTs7RUFDSTtBVnd3akJaO0FVendqQlE7O0VBQ0k7QVY0d2pCWjtBVTd3akJROztFQUNJO0FWZ3hqQlo7QVVqeGpCUTs7RUFDSTtBVm94akJaO0FVcnhqQlE7O0VBQ0k7QVZ3eGpCWjtBVXp4akJROztFQUNJO0FWNHhqQlo7QVU3eGpCUTs7RUFDSTtBVmd5akJaO0FVanlqQlE7O0VBQ0k7QVZveWpCWjtBVXJ5akJROztFQUNJO0FWd3lqQlo7QVV6eWpCUTs7RUFDSTtBVjR5akJaO0FVN3lqQlE7O0VBQ0k7QVZnempCWjtBVWp6akJROztFQUNJO0FWb3pqQlo7QVVyempCUTs7RUFDSTtBVnd6akJaO0FVenpqQlE7O0VBQ0k7QVY0empCWjtBVTd6akJROztFQUNJO0FWZzBqQlo7QVVqMGpCUTs7RUFDSTtBVm8wakJaO0FVcjBqQlE7O0VBQ0k7QVZ3MGpCWjtBVXowakJROztFQUNJO0FWNDBqQlo7QVU3MGpCUTs7RUFDSTtBVmcxakJaO0FVajFqQlE7O0VBQ0k7QVZvMWpCWjtBVXIxakJROztFQUNJO0FWdzFqQlo7QVV6MWpCUTs7RUFDSTtBVjQxakJaO0FVNzFqQlE7O0VBQ0k7QVZnMmpCWjtBVWoyakJROztFQUNJO0FWbzJqQlo7QVVyMmpCUTs7RUFDSTtBVncyakJaO0FVejJqQlE7O0VBQ0k7QVY0MmpCWjtBVTcyakJROztFQUNJO0FWZzNqQlo7QVVqM2pCUTs7RUFDSTtBVm8zakJaO0FVcjNqQlE7O0VBQ0k7QVZ3M2pCWjtBVXozakJROztFQUNJO0FWNDNqQlo7QVU3M2pCUTs7RUFDSTtBVmc0akJaO0FVajRqQlE7O0VBQ0k7QVZvNGpCWjtBVXI0akJROztFQUNJO0FWdzRqQlo7QVV6NGpCUTs7RUFDSTtBVjQ0akJaO0FVNzRqQlE7O0VBQ0k7QVZnNWpCWjtBVWo1akJROztFQUNJO0FWbzVqQlo7QVVyNWpCUTs7RUFDSTtBVnc1akJaO0FVejVqQlE7O0VBQ0k7QVY0NWpCWjtBVTc1akJROztFQUNJO0FWZzZqQlo7QVVqNmpCUTs7RUFDSTtBVm82akJaO0FVcjZqQlE7O0VBQ0k7QVZ3NmpCWjtBVXo2akJROztFQUNJO0FWNDZqQlo7QVU3NmpCUTs7RUFDSTtBVmc3akJaO0FVajdqQlE7O0VBQ0k7QVZvN2pCWjtBVXI3akJROztFQUNJO0FWdzdqQlo7QVV6N2pCUTs7RUFDSTtBVjQ3akJaO0FVNzdqQlE7O0VBQ0k7QVZnOGpCWjtBVWo4akJROztFQUNJO0FWbzhqQlo7QVVyOGpCUTs7RUFDSTtBVnc4akJaO0FVejhqQlE7O0VBQ0k7QVY0OGpCWjtBVTc4akJROztFQUNJO0FWZzlqQlo7QVVqOWpCUTs7RUFDSTtBVm85akJaO0FVcjlqQlE7O0VBQ0k7QVZ3OWpCWjtBVXo5akJROztFQUNJO0FWNDlqQlo7QVU3OWpCUTs7RUFDSTtBVmcrakJaO0FVaitqQlE7O0VBQ0k7QVZvK2pCWjtBVXIrakJROztFQUNJO0FWdytqQlo7QVV6K2pCUTs7RUFDSTtBVjQrakJaO0FVNytqQlE7O0VBQ0k7QVZnL2pCWjtBVWovakJROztFQUNJO0FWby9qQlo7QVVyL2pCUTs7RUFDSTtBVncvakJaO0FVei9qQlE7O0VBQ0k7QVY0L2pCWjtBVTcvakJROztFQUNJO0FWZ2drQlo7QVVqZ2tCUTs7RUFDSTtBVm9na0JaO0FVcmdrQlE7O0VBQ0k7QVZ3Z2tCWjtBVXpna0JROztFQUNJO0FWNGdrQlo7QVU3Z2tCUTs7RUFDSTtBVmdoa0JaO0FVamhrQlE7O0VBQ0k7QVZvaGtCWjtBVXJoa0JROztFQUNJO0FWd2hrQlo7QVV6aGtCUTs7RUFDSTtBVjRoa0JaO0FVN2hrQlE7O0VBQ0k7QVZnaWtCWjtBVWppa0JROztFQUNJO0FWb2lrQlo7QVVyaWtCUTs7RUFDSTtBVndpa0JaO0FVemlrQlE7O0VBQ0k7QVY0aWtCWjtBVTdpa0JROztFQUNJO0FWZ2prQlo7QVVqamtCUTs7RUFDSTtBVm9qa0JaO0FVcmprQlE7O0VBQ0k7QVZ3amtCWjtBVXpqa0JROztFQUNJO0FWNGprQlo7QVU3amtCUTs7RUFDSTtBVmdra0JaO0FVamtrQlE7O0VBQ0k7QVZva2tCWjtBVXJra0JROztFQUNJO0FWd2trQlo7QVV6a2tCUTs7RUFDSTtBVjRra0JaO0FVN2trQlE7O0VBQ0k7QVZnbGtCWjtBVWpsa0JROztFQUNJO0FWb2xrQlo7QVVybGtCUTs7RUFDSTtBVndsa0JaO0FVemxrQlE7O0VBQ0k7QVY0bGtCWjtBVTdsa0JROztFQUNJO0FWZ21rQlo7QVVqbWtCUTs7RUFDSTtBVm9ta0JaO0FVcm1rQlE7O0VBQ0k7QVZ3bWtCWjtBVXpta0JROztFQUNJO0FWNG1rQlo7QVU3bWtCUTs7RUFDSTtBVmdua0JaO0FVam5rQlE7O0VBQ0k7QVZvbmtCWjtBVXJua0JROztFQUNJO0FWd25rQlo7QVV6bmtCUTs7RUFDSTtBVjRua0JaO0FVN25rQlE7O0VBQ0k7QVZnb2tCWjtBVWpva0JROztFQUNJO0FWb29rQlo7QVVyb2tCUTs7RUFDSTtBVndva0JaO0FVem9rQlE7O0VBQ0k7QVY0b2tCWjtBVTdva0JROztFQUNJO0FWZ3BrQlo7QVVqcGtCUTs7RUFDSTtBVm9wa0JaO0FVcnBrQlE7O0VBQ0k7QVZ3cGtCWjtBVXpwa0JROztFQUNJO0FWNHBrQlo7QVU3cGtCUTs7RUFDSTtBVmdxa0JaO0FVanFrQlE7O0VBQ0k7QVZvcWtCWjtBVXJxa0JROztFQUNJO0FWd3FrQlo7QVV6cWtCUTs7RUFDSTtBVjRxa0JaO0FVN3FrQlE7O0VBQ0k7QVZncmtCWjtBVWpya0JROztFQUNJO0FWb3JrQlo7QVVycmtCUTs7RUFDSTtBVndya0JaO0FVenJrQlE7O0VBQ0k7QVY0cmtCWjtBVTdya0JROztFQUNJO0FWZ3NrQlo7QVVqc2tCUTs7RUFDSTtBVm9za0JaO0FVcnNrQlE7O0VBQ0k7QVZ3c2tCWjtBVXpza0JROztFQUNJO0FWNHNrQlo7QVU3c2tCUTs7RUFDSTtBVmd0a0JaO0FVanRrQlE7O0VBQ0k7QVZvdGtCWjtBVXJ0a0JROztFQUNJO0FWd3RrQlo7QVV6dGtCUTs7RUFDSTtBVjR0a0JaO0FVN3RrQlE7O0VBQ0k7QVZndWtCWjtBVWp1a0JROztFQUNJO0FWb3VrQlo7QVVydWtCUTs7RUFDSTtBVnd1a0JaO0FVenVrQlE7O0VBQ0k7QVY0dWtCWjtBVTd1a0JROztFQUNJO0FWZ3ZrQlo7QVVqdmtCUTs7RUFDSTtBVm92a0JaO0FVcnZrQlE7O0VBQ0k7QVZ3dmtCWjtBVXp2a0JROztFQUNJO0FWNHZrQlo7QVU3dmtCUTs7RUFDSTtBVmd3a0JaO0FVandrQlE7O0VBQ0k7QVZvd2tCWjtBVXJ3a0JROztFQUNJO0FWd3drQlo7QVV6d2tCUTs7RUFDSTtBVjR3a0JaO0FVN3drQlE7O0VBQ0k7QVZneGtCWjtBVWp4a0JROztFQUNJO0FWb3hrQlo7QVVyeGtCUTs7RUFDSTtBVnd4a0JaO0FVenhrQlE7O0VBQ0k7QVY0eGtCWjtBVTd4a0JROztFQUNJO0FWZ3lrQlo7QVVqeWtCUTs7RUFDSTtBVm95a0JaO0FVcnlrQlE7O0VBQ0k7QVZ3eWtCWjtBVXp5a0JROztFQUNJO0FWNHlrQlo7QVU3eWtCUTs7RUFDSTtBVmd6a0JaO0FVanprQlE7O0VBQ0k7QVZvemtCWjtBVXJ6a0JROztFQUNJO0FWd3prQlo7QVV6emtCUTs7RUFDSTtBVjR6a0JaO0FVN3prQlE7O0VBQ0k7QVZnMGtCWjtBVWowa0JROztFQUNJO0FWbzBrQlo7QVVyMGtCUTs7RUFDSTtBVncwa0JaO0FVejBrQlE7O0VBQ0k7QVY0MGtCWjtBVTcwa0JROztFQUNJO0FWZzFrQlo7QVVqMWtCUTs7RUFDSTtBVm8xa0JaO0FVcjFrQlE7O0VBQ0k7QVZ3MWtCWjtBVXoxa0JROztFQUNJO0FWNDFrQlo7QVU3MWtCUTs7RUFDSTtBVmcya0JaO0FVajJrQlE7O0VBQ0k7QVZvMmtCWjtBVXIya0JROztFQUNJO0FWdzJrQlo7QVV6MmtCUTs7RUFDSTtBVjQya0JaO0FVNzJrQlE7O0VBQ0k7QVZnM2tCWjtBVWoza0JROztFQUNJO0FWbzNrQlo7QVVyM2tCUTs7RUFDSTtBVncza0JaO0FVejNrQlE7O0VBQ0k7QVY0M2tCWjtBVTcza0JROztFQUNJO0FWZzRrQlo7QVVqNGtCUTs7RUFDSTtBVm80a0JaO0FVcjRrQlE7O0VBQ0k7QVZ3NGtCWjtBVXo0a0JROztFQUNJO0FWNDRrQlo7QVU3NGtCUTs7RUFDSTtBVmc1a0JaO0FVajVrQlE7O0VBQ0k7QVZvNWtCWjtBVXI1a0JROztFQUNJO0FWdzVrQlo7QVV6NWtCUTs7RUFDSTtBVjQ1a0JaO0FVNzVrQlE7O0VBQ0k7QVZnNmtCWjtBVWo2a0JROztFQUNJO0FWbzZrQlo7QVVyNmtCUTs7RUFDSTtBVnc2a0JaO0FVejZrQlE7O0VBQ0k7QVY0NmtCWjtBVTc2a0JROztFQUNJO0FWZzdrQlo7QVVqN2tCUTs7RUFDSTtBVm83a0JaO0FVcjdrQlE7O0VBQ0k7QVZ3N2tCWjtBVXo3a0JROztFQUNJO0FWNDdrQlo7QVU3N2tCUTs7RUFDSTtBVmc4a0JaO0FVajhrQlE7O0VBQ0k7QVZvOGtCWjtBVXI4a0JROztFQUNJO0FWdzhrQlo7QVV6OGtCUTs7RUFDSTtBVjQ4a0JaO0FVNzhrQlE7O0VBQ0k7QVZnOWtCWjtBVWo5a0JROztFQUNJO0FWbzlrQlo7QVVyOWtCUTs7RUFDSTtBVnc5a0JaO0FVejlrQlE7O0VBQ0k7QVY0OWtCWjtBVTc5a0JROztFQUNJO0FWZytrQlo7QVVqK2tCUTs7RUFDSTtBVm8ra0JaO0FVcitrQlE7O0VBQ0k7QVZ3K2tCWjtBVXora0JROztFQUNJO0FWNCtrQlo7QVU3K2tCUTs7RUFDSTtBVmcva0JaO0FVai9rQlE7O0VBQ0k7QVZvL2tCWjtBVXIva0JROztFQUNJO0FWdy9rQlo7QVV6L2tCUTs7RUFDSTtBVjQva0JaO0FVNy9rQlE7O0VBQ0k7QVZnZ2xCWjtBVWpnbEJROztFQUNJO0FWb2dsQlo7QVVyZ2xCUTs7RUFDSTtBVndnbEJaO0FVemdsQlE7O0VBQ0k7QVY0Z2xCWjtBVTdnbEJROztFQUNJO0FWZ2hsQlo7QVVqaGxCUTs7RUFDSTtBVm9obEJaO0FVcmhsQlE7O0VBQ0k7QVZ3aGxCWjtBVXpobEJROztFQUNJO0FWNGhsQlo7QVU3aGxCUTs7RUFDSTtBVmdpbEJaO0FVamlsQlE7O0VBQ0k7QVZvaWxCWjtBVXJpbEJROztFQUNJO0FWd2lsQlo7QVV6aWxCUTs7RUFDSTtBVjRpbEJaO0FVN2lsQlE7O0VBQ0k7QVZnamxCWjtBVWpqbEJROztFQUNJO0FWb2psQlo7QVVyamxCUTs7RUFDSTtBVndqbEJaO0FVempsQlE7O0VBQ0k7QVY0amxCWjtBVTdqbEJROztFQUNJO0FWZ2tsQlo7QVVqa2xCUTs7RUFDSTtBVm9rbEJaO0FVcmtsQlE7O0VBQ0k7QVZ3a2xCWjtBVXprbEJROztFQUNJO0FWNGtsQlo7QVU3a2xCUTs7RUFDSTtBVmdsbEJaO0FVamxsQlE7O0VBQ0k7QVZvbGxCWjtBVXJsbEJROztFQUNJO0FWd2xsQlo7QVV6bGxCUTs7RUFDSTtBVjRsbEJaO0FVN2xsQlE7O0VBQ0k7QVZnbWxCWjtBVWptbEJROztFQUNJO0FWb21sQlo7QVVybWxCUTs7RUFDSTtBVndtbEJaO0FVem1sQlE7O0VBQ0k7QVY0bWxCWjtBVTdtbEJROztFQUNJO0FWZ25sQlo7QVVqbmxCUTs7RUFDSTtBVm9ubEJaO0FVcm5sQlE7O0VBQ0k7QVZ3bmxCWjtBVXpubEJROztFQUNJO0FWNG5sQlo7QVU3bmxCUTs7RUFDSTtBVmdvbEJaO0FVam9sQlE7O0VBQ0k7QVZvb2xCWjtBVXJvbEJROztFQUNJO0FWd29sQlo7QVV6b2xCUTs7RUFDSTtBVjRvbEJaO0FVN29sQlE7O0VBQ0k7QVZncGxCWjtBVWpwbEJROztFQUNJO0FWb3BsQlo7QVVycGxCUTs7RUFDSTtBVndwbEJaO0FVenBsQlE7O0VBQ0k7QVY0cGxCWjtBVTdwbEJROztFQUNJO0FWZ3FsQlo7QVVqcWxCUTs7RUFDSTtBVm9xbEJaO0FVcnFsQlE7O0VBQ0k7QVZ3cWxCWjtBVXpxbEJROztFQUNJO0FWNHFsQlo7QVU3cWxCUTs7RUFDSTtBVmdybEJaO0FVanJsQlE7O0VBQ0k7QVZvcmxCWjtBVXJybEJROztFQUNJO0FWd3JsQlo7QVV6cmxCUTs7RUFDSTtBVjRybEJaO0FVN3JsQlE7O0VBQ0k7QVZnc2xCWjtBVWpzbEJROztFQUNJO0FWb3NsQlo7QVVyc2xCUTs7RUFDSTtBVndzbEJaO0FVenNsQlE7O0VBQ0k7QVY0c2xCWjtBVTdzbEJROztFQUNJO0FWZ3RsQlo7QVVqdGxCUTs7RUFDSTtBVm90bEJaO0FVcnRsQlE7O0VBQ0k7QVZ3dGxCWjtBVXp0bEJROztFQUNJO0FWNHRsQlo7QVU3dGxCUTs7RUFDSTtBVmd1bEJaO0FVanVsQlE7O0VBQ0k7QVZvdWxCWjtBVXJ1bEJROztFQUNJO0FWd3VsQlo7QVV6dWxCUTs7RUFDSTtBVjR1bEJaO0FVN3VsQlE7O0VBQ0k7QVZndmxCWjtBVWp2bEJROztFQUNJO0FWb3ZsQlo7QVVydmxCUTs7RUFDSTtBVnd2bEJaO0FVenZsQlE7O0VBQ0k7QVY0dmxCWjtBVTd2bEJROztFQUNJO0FWZ3dsQlo7QVVqd2xCUTs7RUFDSTtBVm93bEJaO0FVcndsQlE7O0VBQ0k7QVZ3d2xCWjtBVXp3bEJROztFQUNJO0FWNHdsQlo7QVU3d2xCUTs7RUFDSTtBVmd4bEJaO0FVanhsQlE7O0VBQ0k7QVZveGxCWjtBVXJ4bEJROztFQUNJO0FWd3hsQlo7QVV6eGxCUTs7RUFDSTtBVjR4bEJaO0FVN3hsQlE7O0VBQ0k7QVZneWxCWjtBVWp5bEJROztFQUNJO0FWb3lsQlo7QVVyeWxCUTs7RUFDSTtBVnd5bEJaO0FVenlsQlE7O0VBQ0k7QVY0eWxCWjtBVTd5bEJROztFQUNJO0FWZ3psQlo7QVVqemxCUTs7RUFDSTtBVm96bEJaO0FVcnpsQlE7O0VBQ0k7QVZ3emxCWjtBVXp6bEJROztFQUNJO0FWNHpsQlo7QVU3emxCUTs7RUFDSTtBVmcwbEJaO0FVajBsQlE7O0VBQ0k7QVZvMGxCWjtBVXIwbEJROztFQUNJO0FWdzBsQlo7QVV6MGxCUTs7RUFDSTtBVjQwbEJaO0FVNzBsQlE7O0VBQ0k7QVZnMWxCWjtBVWoxbEJROztFQUNJO0FWbzFsQlo7QVVyMWxCUTs7RUFDSTtBVncxbEJaO0FVejFsQlE7O0VBQ0k7QVY0MWxCWjtBVTcxbEJROztFQUNJO0FWZzJsQlo7QVVqMmxCUTs7RUFDSTtBVm8ybEJaO0FVcjJsQlE7O0VBQ0k7QVZ3MmxCWjtBVXoybEJROztFQUNJO0FWNDJsQlo7QVU3MmxCUTs7RUFDSTtBVmczbEJaO0FVajNsQlE7O0VBQ0k7QVZvM2xCWjtBVXIzbEJROztFQUNJO0FWdzNsQlo7QVV6M2xCUTs7RUFDSTtBVjQzbEJaO0FVNzNsQlE7O0VBQ0k7QVZnNGxCWjtBVWo0bEJROztFQUNJO0FWbzRsQlo7QVVyNGxCUTs7RUFDSTtBVnc0bEJaO0FVejRsQlE7O0VBQ0k7QVY0NGxCWjtBVTc0bEJROztFQUNJO0FWZzVsQlo7QVVqNWxCUTs7RUFDSTtBVm81bEJaO0FVcjVsQlE7O0VBQ0k7QVZ3NWxCWjtBVXo1bEJROztFQUNJO0FWNDVsQlo7QVU3NWxCUTs7RUFDSTtBVmc2bEJaO0FVajZsQlE7O0VBQ0k7QVZvNmxCWjtBVXI2bEJROztFQUNJO0FWdzZsQlo7QVV6NmxCUTs7RUFDSTtBVjQ2bEJaO0FVNzZsQlE7O0VBQ0k7QVZnN2xCWjtBVWo3bEJROztFQUNJO0FWbzdsQlo7QVVyN2xCUTs7RUFDSTtBVnc3bEJaO0FVejdsQlE7O0VBQ0k7QVY0N2xCWjtBVTc3bEJROztFQUNJO0FWZzhsQlo7QVVqOGxCUTs7RUFDSTtBVm84bEJaO0FVcjhsQlE7O0VBQ0k7QVZ3OGxCWjtBVXo4bEJROztFQUNJO0FWNDhsQlo7QVU3OGxCUTs7RUFDSTtBVmc5bEJaO0FVajlsQlE7O0VBQ0k7QVZvOWxCWjtBVXI5bEJROztFQUNJO0FWdzlsQlo7QVV6OWxCUTs7RUFDSTtBVjQ5bEJaO0FVNzlsQlE7O0VBQ0k7QVZnK2xCWjtBVWorbEJROztFQUNJO0FWbytsQlo7QVVyK2xCUTs7RUFDSTtBVncrbEJaO0FVeitsQlE7O0VBQ0k7QVY0K2xCWjtBVTcrbEJROztFQUNJO0FWZy9sQlo7QVVqL2xCUTs7RUFDSTtBVm8vbEJaO0FVci9sQlE7O0VBQ0k7QVZ3L2xCWjtBVXovbEJROztFQUNJO0FWNC9sQlo7QVU3L2xCUTs7RUFDSTtBVmdnbUJaO0FVamdtQlE7O0VBQ0k7QVZvZ21CWjtBVXJnbUJROztFQUNJO0FWd2dtQlo7QVV6Z21CUTs7RUFDSTtBVjRnbUJaO0FVN2dtQlE7O0VBQ0k7QVZnaG1CWjtBVWpobUJROztFQUNJO0FWb2htQlo7QVVyaG1CUTs7RUFDSTtBVndobUJaO0FVemhtQlE7O0VBQ0k7QVY0aG1CWjtBVTdobUJROztFQUNJO0FWZ2ltQlo7QVVqaW1CUTs7RUFDSTtBVm9pbUJaO0FVcmltQlE7O0VBQ0k7QVZ3aW1CWjtBVXppbUJROztFQUNJO0FWNGltQlo7QVU3aW1CUTs7RUFDSTtBVmdqbUJaO0FVamptQlE7O0VBQ0k7QVZvam1CWjtBVXJqbUJROztFQUNJO0FWd2ptQlo7QVV6am1CUTs7RUFDSTtBVjRqbUJaO0FVN2ptQlE7O0VBQ0k7QVZna21CWjtBVWprbUJROztFQUNJO0FWb2ttQlo7QVVya21CUTs7RUFDSTtBVndrbUJaO0FVemttQlE7O0VBQ0k7QVY0a21CWjtBVTdrbUJROztFQUNJO0FWZ2xtQlo7QVVqbG1CUTs7RUFDSTtBVm9sbUJaO0FVcmxtQlE7O0VBQ0k7QVZ3bG1CWjtBVXpsbUJROztFQUNJO0FWNGxtQlo7QVU3bG1CUTs7RUFDSTtBVmdtbUJaO0FVam1tQlE7O0VBQ0k7QVZvbW1CWjtBVXJtbUJROztFQUNJO0FWd21tQlo7QVV6bW1CUTs7RUFDSTtBVjRtbUJaO0FVN21tQlE7O0VBQ0k7QVZnbm1CWjtBVWpubUJROztFQUNJO0FWb25tQlo7QVVybm1CUTs7RUFDSTtBVndubUJaO0FVem5tQlE7O0VBQ0k7QVY0bm1CWjtBVTdubUJROztFQUNJO0FWZ29tQlo7QVVqb21CUTs7RUFDSTtBVm9vbUJaO0FVcm9tQlE7O0VBQ0k7QVZ3b21CWjtBVXpvbUJROztFQUNJO0FWNG9tQlo7QVU3b21CUTs7RUFDSTtBVmdwbUJaO0FVanBtQlE7O0VBQ0k7QVZvcG1CWjtBVXJwbUJROztFQUNJO0FWd3BtQlo7QVV6cG1CUTs7RUFDSTtBVjRwbUJaO0FVN3BtQlE7O0VBQ0k7QVZncW1CWjtBVWpxbUJROztFQUNJO0FWb3FtQlo7QVVycW1CUTs7RUFDSTtBVndxbUJaO0FVenFtQlE7O0VBQ0k7QVY0cW1CWjtBVTdxbUJROztFQUNJO0FWZ3JtQlo7QVVqcm1CUTs7RUFDSTtBVm9ybUJaO0FVcnJtQlE7O0VBQ0k7QVZ3cm1CWjtBVXpybUJROztFQUNJO0FWNHJtQlo7QVU3cm1CUTs7RUFDSTtBVmdzbUJaO0FVanNtQlE7O0VBQ0k7QVZvc21CWjtBVXJzbUJROztFQUNJO0FWd3NtQlo7QVV6c21CUTs7RUFDSTtBVjRzbUJaO0FVN3NtQlE7O0VBQ0k7QVZndG1CWjtBVWp0bUJROztFQUNJO0FWb3RtQlo7QVVydG1CUTs7RUFDSTtBVnd0bUJaO0FVenRtQlE7O0VBQ0k7QVY0dG1CWjtBVTd0bUJROztFQUNJO0FWZ3VtQlo7QVVqdW1CUTs7RUFDSTtBVm91bUJaO0FVcnVtQlE7O0VBQ0k7QVZ3dW1CWjtBVXp1bUJROztFQUNJO0FWNHVtQlo7QVU3dW1CUTs7RUFDSTtBVmd2bUJaO0FVanZtQlE7O0VBQ0k7QVZvdm1CWjtBVXJ2bUJROztFQUNJO0FWd3ZtQlo7QVV6dm1CUTs7RUFDSTtBVjR2bUJaO0FVN3ZtQlE7O0VBQ0k7QVZnd21CWjtBVWp3bUJROztFQUNJO0FWb3dtQlo7QVVyd21CUTs7RUFDSTtBVnd3bUJaO0FVendtQlE7O0VBQ0k7QVY0d21CWjtBVTd3bUJROztFQUNJO0FWZ3htQlo7QVVqeG1CUTs7RUFDSTtBVm94bUJaO0FVcnhtQlE7O0VBQ0k7QVZ3eG1CWjtBVXp4bUJROztFQUNJO0FWNHhtQlo7QVU3eG1CUTs7RUFDSTtBVmd5bUJaO0FVanltQlE7O0VBQ0k7QVZveW1CWjtBVXJ5bUJROztFQUNJO0FWd3ltQlo7QVV6eW1CUTs7RUFDSTtBVjR5bUJaO0FVN3ltQlE7O0VBQ0k7QVZnem1CWjtBVWp6bUJROztFQUNJO0FWb3ptQlo7QVVyem1CUTs7RUFDSTtBVnd6bUJaO0FVenptQlE7O0VBQ0k7QVY0em1CWjtBVTd6bUJROztFQUNJO0FWZzBtQlo7QVVqMG1CUTs7RUFDSTtBVm8wbUJaO0FVcjBtQlE7O0VBQ0k7QVZ3MG1CWjtBVXowbUJROztFQUNJO0FWNDBtQlo7QVU3MG1CUTs7RUFDSTtBVmcxbUJaO0FVajFtQlE7O0VBQ0k7QVZvMW1CWjtBVXIxbUJROztFQUNJO0FWdzFtQlo7QVV6MW1CUTs7RUFDSTtBVjQxbUJaO0FVNzFtQlE7O0VBQ0k7QVZnMm1CWjtBVWoybUJROztFQUNJO0FWbzJtQlo7QVVyMm1CUTs7RUFDSTtBVncybUJaO0FVejJtQlE7O0VBQ0k7QVY0Mm1CWjtBVTcybUJROztFQUNJO0FWZzNtQlo7QVVqM21CUTs7RUFDSTtBVm8zbUJaO0FVcjNtQlE7O0VBQ0k7QVZ3M21CWjtBVXozbUJROztFQUNJO0FWNDNtQlo7QVU3M21CUTs7RUFDSTtBVmc0bUJaO0FVajRtQlE7O0VBQ0k7QVZvNG1CWjtBVXI0bUJROztFQUNJO0FWdzRtQlo7QVV6NG1CUTs7RUFDSTtBVjQ0bUJaO0FVNzRtQlE7O0VBQ0k7QVZnNW1CWjtBVWo1bUJROztFQUNJO0FWbzVtQlo7QVVyNW1CUTs7RUFDSTtBVnc1bUJaO0FVejVtQlE7O0VBQ0k7QVY0NW1CWjtBVTc1bUJROztFQUNJO0FWZzZtQlo7QVVqNm1CUTs7RUFDSTtBVm82bUJaO0FVcjZtQlE7O0VBQ0k7QVZ3Nm1CWjtBVXo2bUJROztFQUNJO0FWNDZtQlo7QVU3Nm1CUTs7RUFDSTtBVmc3bUJaO0FVajdtQlE7O0VBQ0k7QVZvN21CWjtBVXI3bUJROztFQUNJO0FWdzdtQlo7QVV6N21CUTs7RUFDSTtBVjQ3bUJaO0FVNzdtQlE7O0VBQ0k7QVZnOG1CWjtBVWo4bUJROztFQUNJO0FWbzhtQlo7QVVyOG1CUTs7RUFDSTtBVnc4bUJaO0FVejhtQlE7O0VBQ0k7QVY0OG1CWjtBVTc4bUJROztFQUNJO0FWZzltQlo7QVVqOW1CUTs7RUFDSTtBVm85bUJaO0FVcjltQlE7O0VBQ0k7QVZ3OW1CWjtBVXo5bUJROztFQUNJO0FWNDltQlo7QVU3OW1CUTs7RUFDSTtBVmcrbUJaO0FVaittQlE7O0VBQ0k7QVZvK21CWjtBVXIrbUJROztFQUNJO0FWdyttQlo7QVV6K21CUTs7RUFDSTtBVjQrbUJaO0FVNyttQlE7O0VBQ0k7QVZnL21CWjtBVWovbUJROztFQUNJO0FWby9tQlo7QVVyL21CUTs7RUFDSTtBVncvbUJaO0FVei9tQlE7O0VBQ0k7QVY0L21CWjtBVTcvbUJROztFQUNJO0FWZ2duQlo7QVVqZ25CUTs7RUFDSTtBVm9nbkJaO0FVcmduQlE7O0VBQ0k7QVZ3Z25CWjtBVXpnbkJROztFQUNJO0FWNGduQlo7QVU3Z25CUTs7RUFDSTtBVmdobkJaO0FVamhuQlE7O0VBQ0k7QVZvaG5CWjtBVXJobkJROztFQUNJO0FWd2huQlo7QVV6aG5CUTs7RUFDSTtBVjRobkJaO0FVN2huQlE7O0VBQ0k7QVZnaW5CWjtBVWppbkJROztFQUNJO0FWb2luQlo7QVVyaW5CUTs7RUFDSTtBVndpbkJaO0FVemluQlE7O0VBQ0k7QVY0aW5CWjtBVTdpbkJROztFQUNJO0FWZ2puQlo7QVVqam5CUTs7RUFDSTtBVm9qbkJaO0FVcmpuQlE7O0VBQ0k7QVZ3am5CWjtBVXpqbkJROztFQUNJO0FWNGpuQlo7QVU3am5CUTs7RUFDSTtBVmdrbkJaO0FVamtuQlE7O0VBQ0k7QVZva25CWjtBVXJrbkJROztFQUNJO0FWd2tuQlo7QVV6a25CUTs7RUFDSTtBVjRrbkJaO0FVN2tuQlE7O0VBQ0k7QVZnbG5CWjtBVWpsbkJROztFQUNJO0FWb2xuQlo7QVVybG5CUTs7RUFDSTtBVndsbkJaO0FVemxuQlE7O0VBQ0k7QVY0bG5CWjtBVTdsbkJROztFQUNJO0FWZ21uQlo7QVVqbW5CUTs7RUFDSTtBVm9tbkJaO0FVcm1uQlE7O0VBQ0k7QVZ3bW5CWjtBVXptbkJROztFQUNJO0FWNG1uQlo7QVU3bW5CUTs7RUFDSTtBVmdubkJaO0FVam5uQlE7O0VBQ0k7QVZvbm5CWjtBVXJubkJROztFQUNJO0FWd25uQlo7QVV6bm5CUTs7RUFDSTtBVjRubkJaO0FVN25uQlE7O0VBQ0k7QVZnb25CWjtBVWpvbkJROztFQUNJO0FWb29uQlo7QVVyb25CUTs7RUFDSTtBVndvbkJaO0FVem9uQlE7O0VBQ0k7QVY0b25CWjtBVTdvbkJROztFQUNJO0FWZ3BuQlo7QVVqcG5CUTs7RUFDSTtBVm9wbkJaO0FVcnBuQlE7O0VBQ0k7QVZ3cG5CWjtBVXpwbkJROztFQUNJO0FWNHBuQlo7QVU3cG5CUTs7RUFDSTtBVmdxbkJaO0FVanFuQlE7O0VBQ0k7QVZvcW5CWjtBVXJxbkJROztFQUNJO0FWd3FuQlo7QVV6cW5CUTs7RUFDSTtBVjRxbkJaO0FVN3FuQlE7O0VBQ0k7QVZncm5CWjtBVWpybkJROztFQUNJO0FWb3JuQlo7QVVycm5CUTs7RUFDSTtBVndybkJaO0FVenJuQlE7O0VBQ0k7QVY0cm5CWjtBVTdybkJROztFQUNJO0FWZ3NuQlo7QVVqc25CUTs7RUFDSTtBVm9zbkJaO0FVcnNuQlE7O0VBQ0k7QVZ3c25CWjtBVXpzbkJROztFQUNJO0FWNHNuQlo7QVU3c25CUTs7RUFDSTtBVmd0bkJaO0FVanRuQlE7O0VBQ0k7QVZvdG5CWjtBVXJ0bkJROztFQUNJO0FWd3RuQlo7QVV6dG5CUTs7RUFDSTtBVjR0bkJaO0FVN3RuQlE7O0VBQ0k7QVZndW5CWjtBVWp1bkJROztFQUNJO0FWb3VuQlo7QVVydW5CUTs7RUFDSTtBVnd1bkJaO0FVenVuQlE7O0VBQ0k7QVY0dW5CWjtBVTd1bkJROztFQUNJO0FWZ3ZuQlo7QVVqdm5CUTs7RUFDSTtBVm92bkJaO0FVcnZuQlE7O0VBQ0k7QVZ3dm5CWjtBVXp2bkJROztFQUNJO0FWNHZuQlo7QVU3dm5CUTs7RUFDSTtBVmd3bkJaO0FVanduQlE7O0VBQ0k7QVZvd25CWjtBVXJ3bkJROztFQUNJO0FWd3duQlo7QVV6d25CUTs7RUFDSTtBVjR3bkJaO0FVN3duQlE7O0VBQ0k7QVZneG5CWjtBVWp4bkJROztFQUNJO0FWb3huQlo7QVVyeG5CUTs7RUFDSTtBVnd4bkJaO0FVenhuQlE7O0VBQ0k7QVY0eG5CWjtBVTd4bkJROztFQUNJO0FWZ3luQlo7QVVqeW5CUTs7RUFDSTtBVm95bkJaO0FVcnluQlE7O0VBQ0k7QVZ3eW5CWjtBVXp5bkJROztFQUNJO0FWNHluQlo7QVU3eW5CUTs7RUFDSTtBVmd6bkJaO0FVanpuQlE7O0VBQ0k7QVZvem5CWjtBVXJ6bkJROztFQUNJO0FWd3puQlo7QVV6em5CUTs7RUFDSTtBVjR6bkJaO0FVN3puQlE7O0VBQ0k7QVZnMG5CWjtBVWowbkJROztFQUNJO0FWbzBuQlo7QVVyMG5CUTs7RUFDSTtBVncwbkJaO0FVejBuQlE7O0VBQ0k7QVY0MG5CWjtBVTcwbkJROztFQUNJO0FWZzFuQlo7QVVqMW5CUTs7RUFDSTtBVm8xbkJaO0FVcjFuQlE7O0VBQ0k7QVZ3MW5CWjtBVXoxbkJROztFQUNJO0FWNDFuQlo7QVU3MW5CUTs7RUFDSTtBVmcybkJaO0FVajJuQlE7O0VBQ0k7QVZvMm5CWjtBVXIybkJROztFQUNJO0FWdzJuQlo7QVV6Mm5CUTs7RUFDSTtBVjQybkJaO0FVNzJuQlE7O0VBQ0k7QVZnM25CWjtBVWozbkJROztFQUNJO0FWbzNuQlo7QVVyM25CUTs7RUFDSTtBVnczbkJaO0FVejNuQlE7O0VBQ0k7QVY0M25CWjtBVTczbkJROztFQUNJO0FWZzRuQlo7QVVqNG5CUTs7RUFDSTtBVm80bkJaO0FVcjRuQlE7O0VBQ0k7QVZ3NG5CWjtBVXo0bkJROztFQUNJO0FWNDRuQlo7QVU3NG5CUTs7RUFDSTtBVmc1bkJaO0FVajVuQlE7O0VBQ0k7QVZvNW5CWjtBVXI1bkJROztFQUNJO0FWdzVuQlo7QVV6NW5CUTs7RUFDSTtBVjQ1bkJaO0FVNzVuQlE7O0VBQ0k7QVZnNm5CWjtBVWo2bkJROztFQUNJO0FWbzZuQlo7QVVyNm5CUTs7RUFDSTtBVnc2bkJaO0FVejZuQlE7O0VBQ0k7QVY0Nm5CWjtBVTc2bkJROztFQUNJO0FWZzduQlo7QVVqN25CUTs7RUFDSTtBVm83bkJaO0FVcjduQlE7O0VBQ0k7QVZ3N25CWjtBVXo3bkJROztFQUNJO0FWNDduQlo7QVU3N25CUTs7RUFDSTtBVmc4bkJaO0FVajhuQlE7O0VBQ0k7QVZvOG5CWjtBVXI4bkJROztFQUNJO0FWdzhuQlo7QVV6OG5CUTs7RUFDSTtBVjQ4bkJaO0FVNzhuQlE7O0VBQ0k7QVZnOW5CWjtBVWo5bkJROztFQUNJO0FWbzluQlo7QVVyOW5CUTs7RUFDSTtBVnc5bkJaO0FVejluQlE7O0VBQ0k7QVY0OW5CWjtBVTc5bkJROztFQUNJO0FWZytuQlo7QVVqK25CUTs7RUFDSTtBVm8rbkJaO0FVcituQlE7O0VBQ0k7QVZ3K25CWjtBVXorbkJROztFQUNJO0FWNCtuQlo7QVU3K25CUTs7RUFDSTtBVmcvbkJaO0FVai9uQlE7O0VBQ0k7QVZvL25CWjtBVXIvbkJROztFQUNJO0FWdy9uQlo7QVV6L25CUTs7RUFDSTtBVjQvbkJaO0FVNy9uQlE7O0VBQ0k7QVZnZ29CWjtBVWpnb0JROztFQUNJO0FWb2dvQlo7QVVyZ29CUTs7RUFDSTtBVndnb0JaO0FVemdvQlE7O0VBQ0k7QVY0Z29CWjtBVTdnb0JROztFQUNJO0FWZ2hvQlo7QVVqaG9CUTs7RUFDSTtBVm9ob0JaO0FVcmhvQlE7O0VBQ0k7QVZ3aG9CWjtBVXpob0JROztFQUNJO0FWNGhvQlo7QVU3aG9CUTs7RUFDSTtBVmdpb0JaO0FVamlvQlE7O0VBQ0k7QVZvaW9CWjtBVXJpb0JROztFQUNJO0FWd2lvQlo7QVV6aW9CUTs7RUFDSTtBVjRpb0JaO0FVN2lvQlE7O0VBQ0k7QVZnam9CWjtBVWpqb0JROztFQUNJO0FWb2pvQlo7QVVyam9CUTs7RUFDSTtBVndqb0JaO0FVempvQlE7O0VBQ0k7QVY0am9CWjtBVTdqb0JROztFQUNJO0FWZ2tvQlo7QVVqa29CUTs7RUFDSTtBVm9rb0JaO0FVcmtvQlE7O0VBQ0k7QVZ3a29CWjtBVXprb0JROztFQUNJO0FWNGtvQlo7QVU3a29CUTs7RUFDSTtBVmdsb0JaO0FVamxvQlE7O0VBQ0k7QVZvbG9CWjtBVXJsb0JROztFQUNJO0FWd2xvQlo7QVV6bG9CUTs7RUFDSTtBVjRsb0JaO0FVN2xvQlE7O0VBQ0k7QVZnbW9CWjtBVWptb0JROztFQUNJO0FWb21vQlo7QVVybW9CUTs7RUFDSTtBVndtb0JaO0FVem1vQlE7O0VBQ0k7QVY0bW9CWjtBVTdtb0JROztFQUNJO0FWZ25vQlo7QVVqbm9CUTs7RUFDSTtBVm9ub0JaO0FVcm5vQlE7O0VBQ0k7QVZ3bm9CWjtBVXpub0JROztFQUNJO0FWNG5vQlo7QVU3bm9CUTs7RUFDSTtBVmdvb0JaO0FVam9vQlE7O0VBQ0k7QVZvb29CWjtBVXJvb0JROztFQUNJO0FWd29vQlo7QVV6b29CUTs7RUFDSTtBVjRvb0JaO0FVN29vQlE7O0VBQ0k7QVZncG9CWjtBVWpwb0JROztFQUNJO0FWb3BvQlo7QVVycG9CUTs7RUFDSTtBVndwb0JaO0FVenBvQlE7O0VBQ0k7QVY0cG9CWjtBVTdwb0JROztFQUNJO0FWZ3FvQlo7QVVqcW9CUTs7RUFDSTtBVm9xb0JaO0FVcnFvQlE7O0VBQ0k7QVZ3cW9CWjtBVXpxb0JROztFQUNJO0FWNHFvQlo7QVU3cW9CUTs7RUFDSTtBVmdyb0JaO0FVanJvQlE7O0VBQ0k7QVZvcm9CWjtBVXJyb0JROztFQUNJO0FWd3JvQlo7QVV6cm9CUTs7RUFDSTtBVjRyb0JaO0FVN3JvQlE7O0VBQ0k7QVZnc29CWjtBVWpzb0JROztFQUNJO0FWb3NvQlo7QVVyc29CUTs7RUFDSTtBVndzb0JaO0FVenNvQlE7O0VBQ0k7QVY0c29CWjtBVTdzb0JROztFQUNJO0FWZ3RvQlo7QVVqdG9CUTs7RUFDSTtBVm90b0JaO0FVcnRvQlE7O0VBQ0k7QVZ3dG9CWjtBVXp0b0JROztFQUNJO0FWNHRvQlo7QVU3dG9CUTs7RUFDSTtBVmd1b0JaO0FVanVvQlE7O0VBQ0k7QVZvdW9CWjtBVXJ1b0JROztFQUNJO0FWd3VvQlo7QVV6dW9CUTs7RUFDSTtBVjR1b0JaO0FVN3VvQlE7O0VBQ0k7QVZndm9CWjtBVWp2b0JROztFQUNJO0FWb3ZvQlo7QVVydm9CUTs7RUFDSTtBVnd2b0JaO0FVenZvQlE7O0VBQ0k7QVY0dm9CWjtBVTd2b0JROztFQUNJO0FWZ3dvQlo7QVVqd29CUTs7RUFDSTtBVm93b0JaO0FVcndvQlE7O0VBQ0k7QVZ3d29CWjtBVXp3b0JROztFQUNJO0FWNHdvQlo7QVU3d29CUTs7RUFDSTtBVmd4b0JaO0FVanhvQlE7O0VBQ0k7QVZveG9CWjtBVXJ4b0JROztFQUNJO0FWd3hvQlo7QVV6eG9CUTs7RUFDSTtBVjR4b0JaO0FVN3hvQlE7O0VBQ0k7QVZneW9CWjtBVWp5b0JROztFQUNJO0FWb3lvQlo7QVVyeW9CUTs7RUFDSTtBVnd5b0JaO0FVenlvQlE7O0VBQ0k7QVY0eW9CWjtBVTd5b0JROztFQUNJO0FWZ3pvQlo7QVVqem9CUTs7RUFDSTtBVm96b0JaO0FVcnpvQlE7O0VBQ0k7QVZ3em9CWjtBVXp6b0JROztFQUNJO0FWNHpvQlo7QVU3em9CUTs7RUFDSTtBVmcwb0JaO0FVajBvQlE7O0VBQ0k7QVZvMG9CWjtBVXIwb0JROztFQUNJO0FWdzBvQlo7QVV6MG9CUTs7RUFDSTtBVjQwb0JaO0FVNzBvQlE7O0VBQ0k7QVZnMW9CWjtBVWoxb0JROztFQUNJO0FWbzFvQlo7QVVyMW9CUTs7RUFDSTtBVncxb0JaO0FVejFvQlE7O0VBQ0k7QVY0MW9CWjtBVTcxb0JROztFQUNJO0FWZzJvQlo7QVVqMm9CUTs7RUFDSTtBVm8yb0JaO0FVcjJvQlE7O0VBQ0k7QVZ3Mm9CWjtBVXoyb0JROztFQUNJO0FWNDJvQlo7QVU3Mm9CUTs7RUFDSTtBVmczb0JaO0FVajNvQlE7O0VBQ0k7QVZvM29CWjtBVXIzb0JROztFQUNJO0FWdzNvQlo7QVV6M29CUTs7RUFDSTtBVjQzb0JaO0FVNzNvQlE7O0VBQ0k7QVZnNG9CWjtBVWo0b0JROztFQUNJO0FWbzRvQlo7QVVyNG9CUTs7RUFDSTtBVnc0b0JaO0FVejRvQlE7O0VBQ0k7QVY0NG9CWjtBVTc0b0JROztFQUNJO0FWZzVvQlo7QVVqNW9CUTs7RUFDSTtBVm81b0JaO0FVcjVvQlE7O0VBQ0k7QVZ3NW9CWjtBVXo1b0JROztFQUNJO0FWNDVvQlo7QVU3NW9CUTs7RUFDSTtBVmc2b0JaO0FVajZvQlE7O0VBQ0k7QVZvNm9CWjtBVXI2b0JROztFQUNJO0FWdzZvQlo7QVV6Nm9CUTs7RUFDSTtBVjQ2b0JaO0FVNzZvQlE7O0VBQ0k7QVZnN29CWjtBVWo3b0JROztFQUNJO0FWbzdvQlo7QVVyN29CUTs7RUFDSTtBVnc3b0JaO0FVejdvQlE7O0VBQ0k7QVY0N29CWjtBVTc3b0JROztFQUNJO0FWZzhvQlo7QVVqOG9CUTs7RUFDSTtBVm84b0JaO0FVcjhvQlE7O0VBQ0k7QVZ3OG9CWjtBVXo4b0JROztFQUNJO0FWNDhvQlo7QVU3OG9CUTs7RUFDSTtBVmc5b0JaO0FVajlvQlE7O0VBQ0k7QVZvOW9CWjtBVXI5b0JROztFQUNJO0FWdzlvQlo7QVV6OW9CUTs7RUFDSTtBVjQ5b0JaO0FVNzlvQlE7O0VBQ0k7QVZnK29CWjtBVWorb0JROztFQUNJO0FWbytvQlo7QVVyK29CUTs7RUFDSTtBVncrb0JaO0FVeitvQlE7O0VBQ0k7QVY0K29CWjtBVTcrb0JROztFQUNJO0FWZy9vQlo7QVVqL29CUTs7RUFDSTtBVm8vb0JaO0FVci9vQlE7O0VBQ0k7QVZ3L29CWjtBVXovb0JROztFQUNJO0FWNC9vQlo7QVU3L29CUTs7RUFDSTtBVmdncEJaO0FVamdwQlE7O0VBQ0k7QVZvZ3BCWjtBVXJncEJROztFQUNJO0FWd2dwQlo7QVV6Z3BCUTs7RUFDSTtBVjRncEJaO0FVN2dwQlE7O0VBQ0k7QVZnaHBCWjtBVWpocEJROztFQUNJO0FWb2hwQlo7QVVyaHBCUTs7RUFDSTtBVndocEJaO0FVemhwQlE7O0VBQ0k7QVY0aHBCWjtBVTdocEJROztFQUNJO0FWZ2lwQlo7QVVqaXBCUTs7RUFDSTtBVm9pcEJaO0FVcmlwQlE7O0VBQ0k7QVZ3aXBCWjtBVXppcEJROztFQUNJO0FWNGlwQlo7QVU3aXBCUTs7RUFDSTtBVmdqcEJaO0FVampwQlE7O0VBQ0k7QVZvanBCWjtBVXJqcEJROztFQUNJO0FWd2pwQlo7QVV6anBCUTs7RUFDSTtBVjRqcEJaO0FVN2pwQlE7O0VBQ0k7QVZna3BCWjtBVWprcEJROztFQUNJO0FWb2twQlo7QVVya3BCUTs7RUFDSTtBVndrcEJaO0FVemtwQlE7O0VBQ0k7QVY0a3BCWjtBVTdrcEJROztFQUNJO0FWZ2xwQlo7QVVqbHBCUTs7RUFDSTtBVm9scEJaO0FVcmxwQlE7O0VBQ0k7QVZ3bHBCWjtBVXpscEJROztFQUNJO0FWNGxwQlo7QVU3bHBCUTs7RUFDSTtBVmdtcEJaO0FVam1wQlE7O0VBQ0k7QVZvbXBCWjtBVXJtcEJROztFQUNJO0FWd21wQlo7QVV6bXBCUTs7RUFDSTtBVjRtcEJaO0FVN21wQlE7O0VBQ0k7QVZnbnBCWjtBVWpucEJROztFQUNJO0FWb25wQlo7QVVybnBCUTs7RUFDSTtBVnducEJaO0FVem5wQlE7O0VBQ0k7QVY0bnBCWjtBVTducEJROztFQUNJO0FWZ29wQlo7QVVqb3BCUTs7RUFDSTtBVm9vcEJaO0FVcm9wQlE7O0VBQ0k7QVZ3b3BCWjtBVXpvcEJROztFQUNJO0FWNG9wQlo7QVU3b3BCUTs7RUFDSTtBVmdwcEJaO0FVanBwQlE7O0VBQ0k7QVZvcHBCWjtBVXJwcEJROztFQUNJO0FWd3BwQlo7QVV6cHBCUTs7RUFDSTtBVjRwcEJaO0FVN3BwQlE7O0VBQ0k7QVZncXBCWjtBVWpxcEJROztFQUNJO0FWb3FwQlo7QVVycXBCUTs7RUFDSTtBVndxcEJaO0FVenFwQlE7O0VBQ0k7QVY0cXBCWjtBVTdxcEJROztFQUNJO0FWZ3JwQlo7QVVqcnBCUTs7RUFDSTtBVm9ycEJaO0FVcnJwQlE7O0VBQ0k7QVZ3cnBCWjtBVXpycEJROztFQUNJO0FWNHJwQlo7QVU3cnBCUTs7RUFDSTtBVmdzcEJaO0FVanNwQlE7O0VBQ0k7QVZvc3BCWjtBVXJzcEJROztFQUNJO0FWd3NwQlo7QVV6c3BCUTs7RUFDSTtBVjRzcEJaO0FVN3NwQlE7O0VBQ0k7QVZndHBCWjtBVWp0cEJROztFQUNJO0FWb3RwQlo7QVVydHBCUTs7RUFDSTtBVnd0cEJaO0FVenRwQlE7O0VBQ0k7QVY0dHBCWjtBVTd0cEJROztFQUNJO0FWZ3VwQlo7QVVqdXBCUTs7RUFDSTtBVm91cEJaO0FVcnVwQlE7O0VBQ0k7QVZ3dXBCWjtBVXp1cEJROztFQUNJO0FWNHVwQlo7QVU3dXBCUTs7RUFDSTtBVmd2cEJaO0FVanZwQlE7O0VBQ0k7QVZvdnBCWjtBVXJ2cEJROztFQUNJO0FWd3ZwQlo7QVV6dnBCUTs7RUFDSTtBVjR2cEJaO0FVN3ZwQlE7O0VBQ0k7QVZnd3BCWjtBVWp3cEJROztFQUNJO0FWb3dwQlo7QVVyd3BCUTs7RUFDSTtBVnd3cEJaO0FVendwQlE7O0VBQ0k7QVY0d3BCWjtBVTd3cEJROztFQUNJO0FWZ3hwQlo7QVVqeHBCUTs7RUFDSTtBVm94cEJaO0FVcnhwQlE7O0VBQ0k7QVZ3eHBCWjtBVXp4cEJROztFQUNJO0FWNHhwQlo7QVU3eHBCUTs7RUFDSTtBVmd5cEJaO0FVanlwQlE7O0VBQ0k7QVZveXBCWjtBVXJ5cEJROztFQUNJO0FWd3lwQlo7QVV6eXBCUTs7RUFDSTtBVjR5cEJaO0FVN3lwQlE7O0VBQ0k7QVZnenBCWjtBVWp6cEJROztFQUNJO0FWb3pwQlo7QVVyenBCUTs7RUFDSTtBVnd6cEJaO0FVenpwQlE7O0VBQ0k7QVY0enBCWjtBVTd6cEJROztFQUNJO0FWZzBwQlo7QVVqMHBCUTs7RUFDSTtBVm8wcEJaO0FVcjBwQlE7O0VBQ0k7QVZ3MHBCWjtBVXowcEJROztFQUNJO0FWNDBwQlo7QVU3MHBCUTs7RUFDSTtBVmcxcEJaO0FVajFwQlE7O0VBQ0k7QVZvMXBCWjtBVXIxcEJROztFQUNJO0FWdzFwQlo7QVV6MXBCUTs7RUFDSTtBVjQxcEJaO0FVNzFwQlE7O0VBQ0k7QVZnMnBCWjtBVWoycEJROztFQUNJO0FWbzJwQlo7QVVyMnBCUTs7RUFDSTtBVncycEJaO0FVejJwQlE7O0VBQ0k7QVY0MnBCWjtBVTcycEJROztFQUNJO0FWZzNwQlo7QVVqM3BCUTs7RUFDSTtBVm8zcEJaO0FVcjNwQlE7O0VBQ0k7QVZ3M3BCWjtBVXozcEJROztFQUNJO0FWNDNwQlo7QVU3M3BCUTs7RUFDSTtBVmc0cEJaO0FVajRwQlE7O0VBQ0k7QVZvNHBCWjtBVXI0cEJROztFQUNJO0FWdzRwQlo7QVV6NHBCUTs7RUFDSTtBVjQ0cEJaO0FVNzRwQlE7O0VBQ0k7QVZnNXBCWjtBVWo1cEJROztFQUNJO0FWbzVwQlo7QVVyNXBCUTs7RUFDSTtBVnc1cEJaO0FVejVwQlE7O0VBQ0k7QVY0NXBCWjtBVTc1cEJROztFQUNJO0FWZzZwQlo7QVVqNnBCUTs7RUFDSTtBVm82cEJaO0FVcjZwQlE7O0VBQ0k7QVZ3NnBCWjtBVXo2cEJROztFQUNJO0FWNDZwQlo7QVU3NnBCUTs7RUFDSTtBVmc3cEJaO0FVajdwQlE7O0VBQ0k7QVZvN3BCWjtBVXI3cEJROztFQUNJO0FWdzdwQlo7QVV6N3BCUTs7RUFDSTtBVjQ3cEJaO0FVNzdwQlE7O0VBQ0k7QVZnOHBCWjtBVWo4cEJROztFQUNJO0FWbzhwQlo7QVVyOHBCUTs7RUFDSTtBVnc4cEJaO0FVejhwQlE7O0VBQ0k7QVY0OHBCWjtBVTc4cEJROztFQUNJO0FWZzlwQlo7QVVqOXBCUTs7RUFDSTtBVm85cEJaO0FVcjlwQlE7O0VBQ0k7QVZ3OXBCWjtBVXo5cEJROztFQUNJO0FWNDlwQlo7QVU3OXBCUTs7RUFDSTtBVmcrcEJaO0FVaitwQlE7O0VBQ0k7QVZvK3BCWjtBVXIrcEJROztFQUNJO0FWdytwQlo7QVV6K3BCUTs7RUFDSTtBVjQrcEJaO0FVNytwQlE7O0VBQ0k7QVZnL3BCWjtBVWovcEJROztFQUNJO0FWby9wQlo7QVVyL3BCUTs7RUFDSTtBVncvcEJaO0FVei9wQlE7O0VBQ0k7QVY0L3BCWjtBVTcvcEJROztFQUNJO0FWZ2dxQlo7QVVqZ3FCUTs7RUFDSTtBVm9ncUJaO0FVcmdxQlE7O0VBQ0k7QVZ3Z3FCWjtBVXpncUJROztFQUNJO0FWNGdxQlo7QVU3Z3FCUTs7RUFDSTtBVmdocUJaO0FVamhxQlE7O0VBQ0k7QVZvaHFCWjtBVXJocUJROztFQUNJO0FWd2hxQlo7QVV6aHFCUTs7RUFDSTtBVjRocUJaO0FVN2hxQlE7O0VBQ0k7QVZnaXFCWjtBVWppcUJROztFQUNJO0FWb2lxQlo7QVVyaXFCUTs7RUFDSTtBVndpcUJaO0FVemlxQlE7O0VBQ0k7QVY0aXFCWjtBVTdpcUJROztFQUNJO0FWZ2pxQlo7QVVqanFCUTs7RUFDSTtBVm9qcUJaO0FVcmpxQlE7O0VBQ0k7QVZ3anFCWjtBVXpqcUJROztFQUNJO0FWNGpxQlo7QVU3anFCUTs7RUFDSTtBVmdrcUJaO0FVamtxQlE7O0VBQ0k7QVZva3FCWjtBVXJrcUJROztFQUNJO0FWd2txQlo7QVV6a3FCUTs7RUFDSTtBVjRrcUJaO0FVN2txQlE7O0VBQ0k7QVZnbHFCWjtBVWpscUJROztFQUNJO0FWb2xxQlo7QVVybHFCUTs7RUFDSTtBVndscUJaO0FVemxxQlE7O0VBQ0k7QVY0bHFCWjtBVTdscUJROztFQUNJO0FWZ21xQlo7QVVqbXFCUTs7RUFDSTtBVm9tcUJaO0FVcm1xQlE7O0VBQ0k7QVZ3bXFCWjtBVXptcUJROztFQUNJO0FWNG1xQlo7QVU3bXFCUTs7RUFDSTtBVmducUJaO0FVam5xQlE7O0VBQ0k7QVZvbnFCWjtBVXJucUJROztFQUNJO0FWd25xQlo7QVV6bnFCUTs7RUFDSTtBVjRucUJaO0FVN25xQlE7O0VBQ0k7QVZnb3FCWjtBVWpvcUJROztFQUNJO0FWb29xQlo7QVVyb3FCUTs7RUFDSTtBVndvcUJaO0FVem9xQlE7O0VBQ0k7QVY0b3FCWjtBVTdvcUJROztFQUNJO0FWZ3BxQlo7QVVqcHFCUTs7RUFDSTtBVm9wcUJaO0FVcnBxQlE7O0VBQ0k7QVZ3cHFCWjtBVXpwcUJROztFQUNJO0FWNHBxQlo7QVU3cHFCUTs7RUFDSTtBVmdxcUJaO0FVanFxQlE7O0VBQ0k7QVZvcXFCWjtBVXJxcUJROztFQUNJO0FWd3FxQlo7QVV6cXFCUTs7RUFDSTtBVjRxcUJaO0FVN3FxQlE7O0VBQ0k7QVZncnFCWjtBVWpycUJROztFQUNJO0FWb3JxQlo7QVVycnFCUTs7RUFDSTtBVndycUJaO0FVenJxQlE7O0VBQ0k7QVY0cnFCWjtBVTdycUJROztFQUNJO0FWZ3NxQlo7QVVqc3FCUTs7RUFDSTtBVm9zcUJaO0FVcnNxQlE7O0VBQ0k7QVZ3c3FCWjtBVXpzcUJROztFQUNJO0FWNHNxQlo7QVU3c3FCUTs7RUFDSTtBVmd0cUJaO0FVanRxQlE7O0VBQ0k7QVZvdHFCWjtBVXJ0cUJROztFQUNJO0FWd3RxQlo7QVV6dHFCUTs7RUFDSTtBVjR0cUJaO0FVN3RxQlE7O0VBQ0k7QVZndXFCWjtBVWp1cUJROztFQUNJO0FWb3VxQlo7QVVydXFCUTs7RUFDSTtBVnd1cUJaO0FVenVxQlE7O0VBQ0k7QVY0dXFCWjtBVTd1cUJROztFQUNJO0FWZ3ZxQlo7QVVqdnFCUTs7RUFDSTtBVm92cUJaO0FVcnZxQlE7O0VBQ0k7QVZ3dnFCWjtBVXp2cUJROztFQUNJO0FWNHZxQlo7QVU3dnFCUTs7RUFDSTtBVmd3cUJaO0FVandxQlE7O0VBQ0k7QVZvd3FCWjtBVXJ3cUJROztFQUNJO0FWd3dxQlo7QVV6d3FCUTs7RUFDSTtBVjR3cUJaO0FVN3dxQlE7O0VBQ0k7QVZneHFCWjtBVWp4cUJROztFQUNJO0FWb3hxQlo7QVVyeHFCUTs7RUFDSTtBVnd4cUJaO0FVenhxQlE7O0VBQ0k7QVY0eHFCWjtBVTd4cUJROztFQUNJO0FWZ3lxQlo7QVVqeXFCUTs7RUFDSTtBVm95cUJaO0FVcnlxQlE7O0VBQ0k7QVZ3eXFCWjtBVXp5cUJROztFQUNJO0FWNHlxQlo7QVU3eXFCUTs7RUFDSTtBVmd6cUJaO0FVanpxQlE7O0VBQ0k7QVZvenFCWjtBVXJ6cUJROztFQUNJO0FWd3pxQlo7QVV6enFCUTs7RUFDSTtBVjR6cUJaO0FVN3pxQlE7O0VBQ0k7QVZnMHFCWjtBVWowcUJROztFQUNJO0FWbzBxQlo7QVVyMHFCUTs7RUFDSTtBVncwcUJaO0FVejBxQlE7O0VBQ0k7QVY0MHFCWjtBVTcwcUJROztFQUNJO0FWZzFxQlo7QVVqMXFCUTs7RUFDSTtBVm8xcUJaO0FVcjFxQlE7O0VBQ0k7QVZ3MXFCWjtBVXoxcUJROztFQUNJO0FWNDFxQlo7QVU3MXFCUTs7RUFDSTtBVmcycUJaO0FVajJxQlE7O0VBQ0k7QVZvMnFCWjtBVXIycUJROztFQUNJO0FWdzJxQlo7QVV6MnFCUTs7RUFDSTtBVjQycUJaO0FVNzJxQlE7O0VBQ0k7QVZnM3FCWjtBVWozcUJROztFQUNJO0FWbzNxQlo7QVVyM3FCUTs7RUFDSTtBVnczcUJaO0FVejNxQlE7O0VBQ0k7QVY0M3FCWjtBVTczcUJROztFQUNJO0FWZzRxQlo7QVVqNHFCUTs7RUFDSTtBVm80cUJaO0FVcjRxQlE7O0VBQ0k7QVZ3NHFCWjtBVXo0cUJROztFQUNJO0FWNDRxQlo7QVU3NHFCUTs7RUFDSTtBVmc1cUJaO0FVajVxQlE7O0VBQ0k7QVZvNXFCWjtBVXI1cUJROztFQUNJO0FWdzVxQlo7QVV6NXFCUTs7RUFDSTtBVjQ1cUJaO0FVNzVxQlE7O0VBQ0k7QVZnNnFCWjtBVWo2cUJROztFQUNJO0FWbzZxQlo7QVVyNnFCUTs7RUFDSTtBVnc2cUJaO0FVejZxQlE7O0VBQ0k7QVY0NnFCWjtBVTc2cUJROztFQUNJO0FWZzdxQlo7QVVqN3FCUTs7RUFDSTtBVm83cUJaO0FVcjdxQlE7O0VBQ0k7QVZ3N3FCWjtBVXo3cUJROztFQUNJO0FWNDdxQlo7QVU3N3FCUTs7RUFDSTtBVmc4cUJaO0FVajhxQlE7O0VBQ0k7QVZvOHFCWjtBVXI4cUJROztFQUNJO0FWdzhxQlo7QVV6OHFCUTs7RUFDSTtBVjQ4cUJaO0FVNzhxQlE7O0VBQ0k7QVZnOXFCWjtBVWo5cUJROztFQUNJO0FWbzlxQlo7QVVyOXFCUTs7RUFDSTtBVnc5cUJaO0FVejlxQlE7O0VBQ0k7QVY0OXFCWjtBVTc5cUJROztFQUNJO0FWZytxQlo7QVVqK3FCUTs7RUFDSTtBVm8rcUJaO0FVcitxQlE7O0VBQ0k7QVZ3K3FCWjtBVXorcUJROztFQUNJO0FWNCtxQlo7QVU3K3FCUTs7RUFDSTtBVmcvcUJaO0FVai9xQlE7O0VBQ0k7QVZvL3FCWjtBVXIvcUJROztFQUNJO0FWdy9xQlo7QVV6L3FCUTs7RUFDSTtBVjQvcUJaO0FVNy9xQlE7O0VBQ0k7QVZnZ3JCWjtBVWpnckJROztFQUNJO0FWb2dyQlo7QVVyZ3JCUTs7RUFDSTtBVndnckJaO0FVemdyQlE7O0VBQ0k7QVY0Z3JCWjtBVTdnckJROztFQUNJO0FWZ2hyQlo7QVVqaHJCUTs7RUFDSTtBVm9ockJaO0FVcmhyQlE7O0VBQ0k7QVZ3aHJCWjtBVXpockJROztFQUNJO0FWNGhyQlo7QVU3aHJCUTs7RUFDSTtBVmdpckJaO0FVamlyQlE7O0VBQ0k7QVZvaXJCWjtBVXJpckJROztFQUNJO0FWd2lyQlo7QVV6aXJCUTs7RUFDSTtBVjRpckJaO0FVN2lyQlE7O0VBQ0k7QVZnanJCWjtBVWpqckJROztFQUNJO0FWb2pyQlo7QVVyanJCUTs7RUFDSTtBVndqckJaO0FVempyQlE7O0VBQ0k7QVY0anJCWjtBVTdqckJROztFQUNJO0FWZ2tyQlo7QVVqa3JCUTs7RUFDSTtBVm9rckJaO0FVcmtyQlE7O0VBQ0k7QVZ3a3JCWjtBVXprckJROztFQUNJO0FWNGtyQlo7QVU3a3JCUTs7RUFDSTtBVmdsckJaO0FVamxyQlE7O0VBQ0k7QVZvbHJCWjtBVXJsckJROztFQUNJO0FWd2xyQlo7QVV6bHJCUTs7RUFDSTtBVjRsckJaO0FVN2xyQlE7O0VBQ0k7QVZnbXJCWjtBVWptckJROztFQUNJO0FWb21yQlo7QVVybXJCUTs7RUFDSTtBVndtckJaO0FVem1yQlE7O0VBQ0k7QVY0bXJCWjtBVTdtckJROztFQUNJO0FWZ25yQlo7QVVqbnJCUTs7RUFDSTtBVm9uckJaO0FVcm5yQlE7O0VBQ0k7QVZ3bnJCWjtBVXpuckJROztFQUNJO0FWNG5yQlo7QVU3bnJCUTs7RUFDSTtBVmdvckJaO0FVam9yQlE7O0VBQ0k7QVZvb3JCWjtBVXJvckJROztFQUNJO0FWd29yQlo7QVV6b3JCUTs7RUFDSTtBVjRvckJaO0FVN29yQlE7O0VBQ0k7QVZncHJCWjtBVWpwckJROztFQUNJO0FWb3ByQlo7QVVycHJCUTs7RUFDSTtBVndwckJaO0FVenByQlE7O0VBQ0k7QVY0cHJCWjtBVTdwckJROztFQUNJO0FWZ3FyQlo7QVVqcXJCUTs7RUFDSTtBVm9xckJaO0FVcnFyQlE7O0VBQ0k7QVZ3cXJCWjtBVXpxckJROztFQUNJO0FWNHFyQlo7QVU3cXJCUTs7RUFDSTtBVmdyckJaO0FVanJyQlE7O0VBQ0k7QVZvcnJCWjtBVXJyckJROztFQUNJO0FWd3JyQlo7QVV6cnJCUTs7RUFDSTtBVjRyckJaO0FVN3JyQlE7O0VBQ0k7QVZnc3JCWjtBVWpzckJROztFQUNJO0FWb3NyQlo7QVVyc3JCUTs7RUFDSTtBVndzckJaO0FVenNyQlE7O0VBQ0k7QVY0c3JCWjtBVTdzckJROztFQUNJO0FWZ3RyQlo7QVVqdHJCUTs7RUFDSTtBVm90ckJaO0FVcnRyQlE7O0VBQ0k7QVZ3dHJCWjtBVXp0ckJROztFQUNJO0FWNHRyQlo7QVU3dHJCUTs7RUFDSTtBVmd1ckJaO0FVanVyQlE7O0VBQ0k7QVZvdXJCWjtBVXJ1ckJROztFQUNJO0FWd3VyQlo7QVV6dXJCUTs7RUFDSTtBVjR1ckJaO0FVN3VyQlE7O0VBQ0k7QVZndnJCWjtBVWp2ckJROztFQUNJO0FWb3ZyQlo7QVVydnJCUTs7RUFDSTtBVnd2ckJaO0FVenZyQlE7O0VBQ0k7QVY0dnJCWjtBVTd2ckJROztFQUNJO0FWZ3dyQlo7QVVqd3JCUTs7RUFDSTtBVm93ckJaO0FVcndyQlE7O0VBQ0k7QVZ3d3JCWjtBVXp3ckJROztFQUNJO0FWNHdyQlo7QVU3d3JCUTs7RUFDSTtBVmd4ckJaO0FVanhyQlE7O0VBQ0k7QVZveHJCWjtBVXJ4ckJROztFQUNJO0FWd3hyQlo7QVV6eHJCUTs7RUFDSTtBVjR4ckJaO0FVN3hyQlE7O0VBQ0k7QVZneXJCWjtBVWp5ckJROztFQUNJO0FWb3lyQlo7QVVyeXJCUTs7RUFDSTtBVnd5ckJaO0FVenlyQlE7O0VBQ0k7QVY0eXJCWjtBVTd5ckJROztFQUNJO0FWZ3pyQlo7QVVqenJCUTs7RUFDSTtBVm96ckJaO0FVcnpyQlE7O0VBQ0k7QVZ3enJCWjtBVXp6ckJROztFQUNJO0FWNHpyQlo7QVU3enJCUTs7RUFDSTtBVmcwckJaO0FVajByQlE7O0VBQ0k7QVZvMHJCWjtBVXIwckJROztFQUNJO0FWdzByQlo7QVV6MHJCUTs7RUFDSTtBVjQwckJaO0FVNzByQlE7O0VBQ0k7QVZnMXJCWjtBVWoxckJROztFQUNJO0FWbzFyQlo7QVVyMXJCUTs7RUFDSTtBVncxckJaO0FVejFyQlE7O0VBQ0k7QVY0MXJCWjtBVTcxckJROztFQUNJO0FWZzJyQlo7QVVqMnJCUTs7RUFDSTtBVm8yckJaO0FVcjJyQlE7O0VBQ0k7QVZ3MnJCWjtBVXoyckJROztFQUNJO0FWNDJyQlo7QVU3MnJCUTs7RUFDSTtBVmczckJaO0FVajNyQlE7O0VBQ0k7QVZvM3JCWjtBVXIzckJROztFQUNJO0FWdzNyQlo7QVV6M3JCUTs7RUFDSTtBVjQzckJaO0FVNzNyQlE7O0VBQ0k7QVZnNHJCWjtBVWo0ckJROztFQUNJO0FWbzRyQlo7QVVyNHJCUTs7RUFDSTtBVnc0ckJaO0FVejRyQlE7O0VBQ0k7QVY0NHJCWjtBVTc0ckJROztFQUNJO0FWZzVyQlo7QVVqNXJCUTs7RUFDSTtBVm81ckJaO0FVcjVyQlE7O0VBQ0k7QVZ3NXJCWjtBVXo1ckJROztFQUNJO0FWNDVyQlo7QVU3NXJCUTs7RUFDSTtBVmc2ckJaO0FVajZyQlE7O0VBQ0k7QVZvNnJCWjtBVXI2ckJROztFQUNJO0FWdzZyQlo7QVV6NnJCUTs7RUFDSTtBVjQ2ckJaO0FVNzZyQlE7O0VBQ0k7QVZnN3JCWjtBVWo3ckJROztFQUNJO0FWbzdyQlo7QVVyN3JCUTs7RUFDSTtBVnc3ckJaO0FVejdyQlE7O0VBQ0k7QVY0N3JCWjtBVTc3ckJROztFQUNJO0FWZzhyQlo7QVVqOHJCUTs7RUFDSTtBVm84ckJaO0FVcjhyQlE7O0VBQ0k7QVZ3OHJCWjtBVXo4ckJROztFQUNJO0FWNDhyQlo7QVU3OHJCUTs7RUFDSTtBVmc5ckJaO0FVajlyQlE7O0VBQ0k7QVZvOXJCWjtBVXI5ckJROztFQUNJO0FWdzlyQlo7QVV6OXJCUTs7RUFDSTtBVjQ5ckJaO0FVNzlyQlE7O0VBQ0k7QVZnK3JCWjtBVWorckJROztFQUNJO0FWbytyQlo7QVVyK3JCUTs7RUFDSTtBVncrckJaO0FVeityQlE7O0VBQ0k7QVY0K3JCWjtBVTcrckJROztFQUNJO0FWZy9yQlo7QVVqL3JCUTs7RUFDSTtBVm8vckJaO0FVci9yQlE7O0VBQ0k7QVZ3L3JCWjtBVXovckJROztFQUNJO0FWNC9yQlo7QVU3L3JCUTs7RUFDSTtBVmdnc0JaO0FVamdzQlE7O0VBQ0k7QVZvZ3NCWjtBVXJnc0JROztFQUNJO0FWd2dzQlo7QVV6Z3NCUTs7RUFDSTtBVjRnc0JaO0FVN2dzQlE7O0VBQ0k7QVZnaHNCWjtBVWpoc0JROztFQUNJO0FWb2hzQlo7QVVyaHNCUTs7RUFDSTtBVndoc0JaO0FVemhzQlE7O0VBQ0k7QVY0aHNCWjtBVTdoc0JROztFQUNJO0FWZ2lzQlo7QVVqaXNCUTs7RUFDSTtBVm9pc0JaO0FVcmlzQlE7O0VBQ0k7QVZ3aXNCWjtBVXppc0JROztFQUNJO0FWNGlzQlo7QVU3aXNCUTs7RUFDSTtBVmdqc0JaO0FVampzQlE7O0VBQ0k7QVZvanNCWjtBVXJqc0JROztFQUNJO0FWd2pzQlo7QVV6anNCUTs7RUFDSTtBVjRqc0JaO0FVN2pzQlE7O0VBQ0k7QVZna3NCWjtBVWprc0JROztFQUNJO0FWb2tzQlo7QVVya3NCUTs7RUFDSTtBVndrc0JaO0FVemtzQlE7O0VBQ0k7QVY0a3NCWjtBVTdrc0JROztFQUNJO0FWZ2xzQlo7QVVqbHNCUTs7RUFDSTtBVm9sc0JaO0FVcmxzQlE7O0VBQ0k7QVZ3bHNCWjtBVXpsc0JROztFQUNJO0FWNGxzQlo7QVU3bHNCUTs7RUFDSTtBVmdtc0JaO0FVam1zQlE7O0VBQ0k7QVZvbXNCWjtBVXJtc0JROztFQUNJO0FWd21zQlo7QVV6bXNCUTs7RUFDSTtBVjRtc0JaO0FVN21zQlE7O0VBQ0k7QVZnbnNCWjtBVWpuc0JROztFQUNJO0FWb25zQlo7QVVybnNCUTs7RUFDSTtBVnduc0JaO0FVem5zQlE7O0VBQ0k7QVY0bnNCWjtBVTduc0JROztFQUNJO0FWZ29zQlo7QVVqb3NCUTs7RUFDSTtBVm9vc0JaO0FVcm9zQlE7O0VBQ0k7QVZ3b3NCWjtBVXpvc0JROztFQUNJO0FWNG9zQlo7QVU3b3NCUTs7RUFDSTtBVmdwc0JaO0FVanBzQlE7O0VBQ0k7QVZvcHNCWjtBVXJwc0JROztFQUNJO0FWd3BzQlo7QVV6cHNCUTs7RUFDSTtBVjRwc0JaO0FVN3BzQlE7O0VBQ0k7QVZncXNCWjtBVWpxc0JROztFQUNJO0FWb3FzQlo7QVVycXNCUTs7RUFDSTtBVndxc0JaO0FVenFzQlE7O0VBQ0k7QVY0cXNCWjtBVTdxc0JROztFQUNJO0FWZ3JzQlo7QVVqcnNCUTs7RUFDSTtBVm9yc0JaO0FVcnJzQlE7O0VBQ0k7QVZ3cnNCWjtBVXpyc0JROztFQUNJO0FWNHJzQlo7QVU3cnNCUTs7RUFDSTtBVmdzc0JaO0FVanNzQlE7O0VBQ0k7QVZvc3NCWjtBVXJzc0JROztFQUNJO0FWd3NzQlo7QVV6c3NCUTs7RUFDSTtBVjRzc0JaO0FVN3NzQlE7O0VBQ0k7QVZndHNCWjtBVWp0c0JROztFQUNJO0FWb3RzQlo7QVVydHNCUTs7RUFDSTtBVnd0c0JaO0FVenRzQlE7O0VBQ0k7QVY0dHNCWjtBVTd0c0JROztFQUNJO0FWZ3VzQlo7QVVqdXNCUTs7RUFDSTtBVm91c0JaO0FVcnVzQlE7O0VBQ0k7QVZ3dXNCWjtBVXp1c0JROztFQUNJO0FWNHVzQlo7QVU3dXNCUTs7RUFDSTtBVmd2c0JaO0FVanZzQlE7O0VBQ0k7QVZvdnNCWjtBVXJ2c0JROztFQUNJO0FWd3ZzQlo7QVV6dnNCUTs7RUFDSTtBVjR2c0JaO0FVN3ZzQlE7O0VBQ0k7QVZnd3NCWjtBVWp3c0JROztFQUNJO0FWb3dzQlo7QVVyd3NCUTs7RUFDSTtBVnd3c0JaO0FVendzQlE7O0VBQ0k7QVY0d3NCWjtBVTd3c0JROztFQUNJO0FWZ3hzQlo7QVVqeHNCUTs7RUFDSTtBVm94c0JaO0FVcnhzQlE7O0VBQ0k7QVZ3eHNCWjtBVXp4c0JROztFQUNJO0FWNHhzQlo7QVU3eHNCUTs7RUFDSTtBVmd5c0JaO0FVanlzQlE7O0VBQ0k7QVZveXNCWjtBVXJ5c0JROztFQUNJO0FWd3lzQlo7QVV6eXNCUTs7RUFDSTtBVjR5c0JaO0FVN3lzQlE7O0VBQ0k7QVZnenNCWjtBVWp6c0JROztFQUNJO0FWb3pzQlo7QVVyenNCUTs7RUFDSTtBVnd6c0JaO0FVenpzQlE7O0VBQ0k7QVY0enNCWjtBVTd6c0JROztFQUNJO0FWZzBzQlo7QVVqMHNCUTs7RUFDSTtBVm8wc0JaO0FVcjBzQlE7O0VBQ0k7QVZ3MHNCWjtBVXowc0JROztFQUNJO0FWNDBzQlo7QVU3MHNCUTs7RUFDSTtBVmcxc0JaO0FVajFzQlE7O0VBQ0k7QVZvMXNCWjtBVXIxc0JROztFQUNJO0FWdzFzQlo7QVV6MXNCUTs7RUFDSTtBVjQxc0JaO0FVNzFzQlE7O0VBQ0k7QVZnMnNCWjtBVWoyc0JROztFQUNJO0FWbzJzQlo7QVVyMnNCUTs7RUFDSTtBVncyc0JaO0FVejJzQlE7O0VBQ0k7QVY0MnNCWjtBVTcyc0JROztFQUNJO0FWZzNzQlo7QVVqM3NCUTs7RUFDSTtBVm8zc0JaO0FVcjNzQlE7O0VBQ0k7QVZ3M3NCWjtBVXozc0JROztFQUNJO0FWNDNzQlo7QVU3M3NCUTs7RUFDSTtBVmc0c0JaO0FVajRzQlE7O0VBQ0k7QVZvNHNCWjtBVXI0c0JROztFQUNJO0FWdzRzQlo7QVV6NHNCUTs7RUFDSTtBVjQ0c0JaO0FVNzRzQlE7O0VBQ0k7QVZnNXNCWjtBVWo1c0JROztFQUNJO0FWbzVzQlo7QVVyNXNCUTs7RUFDSTtBVnc1c0JaO0FVejVzQlE7O0VBQ0k7QVY0NXNCWjtBVTc1c0JROztFQUNJO0FWZzZzQlo7QVVqNnNCUTs7RUFDSTtBVm82c0JaO0FVcjZzQlE7O0VBQ0k7QVZ3NnNCWjtBVXo2c0JROztFQUNJO0FWNDZzQlo7QVU3NnNCUTs7RUFDSTtBVmc3c0JaO0FVajdzQlE7O0VBQ0k7QVZvN3NCWjtBVXI3c0JROztFQUNJO0FWdzdzQlo7QVV6N3NCUTs7RUFDSTtBVjQ3c0JaO0FVNzdzQlE7O0VBQ0k7QVZnOHNCWjtBVWo4c0JROztFQUNJO0FWbzhzQlo7QVVyOHNCUTs7RUFDSTtBVnc4c0JaO0FVejhzQlE7O0VBQ0k7QVY0OHNCWjtBVTc4c0JROztFQUNJO0FWZzlzQlo7QVVqOXNCUTs7RUFDSTtBVm85c0JaO0FVcjlzQlE7O0VBQ0k7QVZ3OXNCWjtBVXo5c0JROztFQUNJO0FWNDlzQlo7QVU3OXNCUTs7RUFDSTtBVmcrc0JaO0FVaitzQlE7O0VBQ0k7QVZvK3NCWjtBVXIrc0JROztFQUNJO0FWdytzQlo7QVV6K3NCUTs7RUFDSTtBVjQrc0JaO0FVNytzQlE7O0VBQ0k7QVZnL3NCWjtBVWovc0JROztFQUNJO0FWby9zQlo7QVVyL3NCUTs7RUFDSTtBVncvc0JaO0FVei9zQlE7O0VBQ0k7QVY0L3NCWjtBVTcvc0JROztFQUNJO0FWZ2d0Qlo7QVVqZ3RCUTs7RUFDSTtBVm9ndEJaO0FVcmd0QlE7O0VBQ0k7QVZ3Z3RCWjtBVXpndEJROztFQUNJO0FWNGd0Qlo7QVU3Z3RCUTs7RUFDSTtBVmdodEJaO0FVamh0QlE7O0VBQ0k7QVZvaHRCWjtBVXJodEJROztFQUNJO0FWd2h0Qlo7QVV6aHRCUTs7RUFDSTtBVjRodEJaO0FVN2h0QlE7O0VBQ0k7QVZnaXRCWjtBVWppdEJROztFQUNJO0FWb2l0Qlo7QVVyaXRCUTs7RUFDSTtBVndpdEJaO0FVeml0QlE7O0VBQ0k7QVY0aXRCWjtBVTdpdEJROztFQUNJO0FWZ2p0Qlo7QVVqanRCUTs7RUFDSTtBVm9qdEJaO0FVcmp0QlE7O0VBQ0k7QVZ3anRCWjtBVXpqdEJROztFQUNJO0FWNGp0Qlo7QVU3anRCUTs7RUFDSTtBVmdrdEJaO0FVamt0QlE7O0VBQ0k7QVZva3RCWjtBVXJrdEJROztFQUNJO0FWd2t0Qlo7QVV6a3RCUTs7RUFDSTtBVjRrdEJaO0FVN2t0QlE7O0VBQ0k7QVZnbHRCWjtBVWpsdEJROztFQUNJO0FWb2x0Qlo7QVVybHRCUTs7RUFDSTtBVndsdEJaO0FVemx0QlE7O0VBQ0k7QVY0bHRCWjtBVTdsdEJROztFQUNJO0FWZ210Qlo7QVVqbXRCUTs7RUFDSTtBVm9tdEJaO0FVcm10QlE7O0VBQ0k7QVZ3bXRCWjtBVXptdEJROztFQUNJO0FWNG10Qlo7QVU3bXRCUTs7RUFDSTtBVmdudEJaO0FVam50QlE7O0VBQ0k7QVZvbnRCWjtBVXJudEJROztFQUNJO0FWd250Qlo7QVV6bnRCUTs7RUFDSTtBVjRudEJaO0FVN250QlE7O0VBQ0k7QVZnb3RCWjtBVWpvdEJROztFQUNJO0FWb290Qlo7QVVyb3RCUTs7RUFDSTtBVndvdEJaO0FVem90QlE7O0VBQ0k7QVY0b3RCWjtBVTdvdEJROztFQUNJO0FWZ3B0Qlo7QVVqcHRCUTs7RUFDSTtBVm9wdEJaO0FVcnB0QlE7O0VBQ0k7QVZ3cHRCWjtBVXpwdEJROztFQUNJO0FWNHB0Qlo7QVU3cHRCUTs7RUFDSTtBVmdxdEJaO0FVanF0QlE7O0VBQ0k7QVZvcXRCWjtBVXJxdEJROztFQUNJO0FWd3F0Qlo7QVV6cXRCUTs7RUFDSTtBVjRxdEJaO0FVN3F0QlE7O0VBQ0k7QVZncnRCWjtBVWpydEJROztFQUNJO0FWb3J0Qlo7QVVycnRCUTs7RUFDSTtBVndydEJaO0FVenJ0QlE7O0VBQ0k7QVY0cnRCWjtBVTdydEJROztFQUNJO0FWZ3N0Qlo7QVVqc3RCUTs7RUFDSTtBVm9zdEJaO0FVcnN0QlE7O0VBQ0k7QVZ3c3RCWjtBVXpzdEJROztFQUNJO0FWNHN0Qlo7QVU3c3RCUTs7RUFDSTtBVmd0dEJaO0FVanR0QlE7O0VBQ0k7QVZvdHRCWjtBVXJ0dEJROztFQUNJO0FWd3R0Qlo7QVV6dHRCUTs7RUFDSTtBVjR0dEJaO0FVN3R0QlE7O0VBQ0k7QVZndXRCWjtBVWp1dEJROztFQUNJO0FWb3V0Qlo7QVVydXRCUTs7RUFDSTtBVnd1dEJaO0FVenV0QlE7O0VBQ0k7QVY0dXRCWjtBVTd1dEJROztFQUNJO0FWZ3Z0Qlo7QVVqdnRCUTs7RUFDSTtBVm92dEJaO0FVcnZ0QlE7O0VBQ0k7QVZ3dnRCWjtBVXp2dEJROztFQUNJO0FWNHZ0Qlo7QVU3dnRCUTs7RUFDSTtBVmd3dEJaO0FVand0QlE7O0VBQ0k7QVZvd3RCWjtBVXJ3dEJROztFQUNJO0FWd3d0Qlo7QVV6d3RCUTs7RUFDSTtBVjR3dEJaO0FVN3d0QlE7O0VBQ0k7QVZneHRCWjtBVWp4dEJROztFQUNJO0FWb3h0Qlo7QVVyeHRCUTs7RUFDSTtBVnd4dEJaO0FVenh0QlE7O0VBQ0k7QVY0eHRCWjtBVTd4dEJROztFQUNJO0FWZ3l0Qlo7QVVqeXRCUTs7RUFDSTtBVm95dEJaO0FVcnl0QlE7O0VBQ0k7QVZ3eXRCWjtBVXp5dEJROztFQUNJO0FWNHl0Qlo7QVU3eXRCUTs7RUFDSTtBVmd6dEJaO0FVanp0QlE7O0VBQ0k7QVZvenRCWjtBVXJ6dEJROztFQUNJO0FWd3p0Qlo7QVV6enRCUTs7RUFDSTtBVjR6dEJaO0FVN3p0QlE7O0VBQ0k7QVZnMHRCWjtBVWowdEJROztFQUNJO0FWbzB0Qlo7QVVyMHRCUTs7RUFDSTtBVncwdEJaO0FVejB0QlE7O0VBQ0k7QVY0MHRCWjtBVTcwdEJROztFQUNJO0FWZzF0Qlo7QVVqMXRCUTs7RUFDSTtBVm8xdEJaO0FVcjF0QlE7O0VBQ0k7QVZ3MXRCWjtBVXoxdEJROztFQUNJO0FWNDF0Qlo7QVU3MXRCUTs7RUFDSTtBVmcydEJaO0FVajJ0QlE7O0VBQ0k7QVZvMnRCWjtBVXIydEJROztFQUNJO0FWdzJ0Qlo7QVV6MnRCUTs7RUFDSTtBVjQydEJaO0FVNzJ0QlE7O0VBQ0k7QVZnM3RCWjtBVWozdEJROztFQUNJO0FWbzN0Qlo7QVVyM3RCUTs7RUFDSTtBVnczdEJaO0FVejN0QlE7O0VBQ0k7QVY0M3RCWjtBVTczdEJROztFQUNJO0FWZzR0Qlo7QVVqNHRCUTs7RUFDSTtBVm80dEJaO0FVcjR0QlE7O0VBQ0k7QVZ3NHRCWjtBVXo0dEJROztFQUNJO0FWNDR0Qlo7QVU3NHRCUTs7RUFDSTtBVmc1dEJaO0FVajV0QlE7O0VBQ0k7QVZvNXRCWjtBVXI1dEJROztFQUNJO0FWdzV0Qlo7QVV6NXRCUTs7RUFDSTtBVjQ1dEJaO0FVNzV0QlE7O0VBQ0k7QVZnNnRCWjtBVWo2dEJROztFQUNJO0FWbzZ0Qlo7QVVyNnRCUTs7RUFDSTtBVnc2dEJaO0FVejZ0QlE7O0VBQ0k7QVY0NnRCWjtBVTc2dEJROztFQUNJO0FWZzd0Qlo7QVVqN3RCUTs7RUFDSTtBVm83dEJaO0FVcjd0QlE7O0VBQ0k7QVZ3N3RCWjtBVXo3dEJROztFQUNJO0FWNDd0Qlo7QVU3N3RCUTs7RUFDSTtBVmc4dEJaO0FVajh0QlE7O0VBQ0k7QVZvOHRCWjtBVXI4dEJROztFQUNJO0FWdzh0Qlo7QVV6OHRCUTs7RUFDSTtBVjQ4dEJaO0FVNzh0QlE7O0VBQ0k7QVZnOXRCWjtBVWo5dEJROztFQUNJO0FWbzl0Qlo7QVVyOXRCUTs7RUFDSTtBVnc5dEJaO0FVejl0QlE7O0VBQ0k7QVY0OXRCWjtBVTc5dEJROztFQUNJO0FWZyt0Qlo7QVVqK3RCUTs7RUFDSTtBVm8rdEJaO0FVcit0QlE7O0VBQ0k7QVZ3K3RCWjtBVXordEJROztFQUNJO0FWNCt0Qlo7QVU3K3RCUTs7RUFDSTtBVmcvdEJaO0FVai90QlE7O0VBQ0k7QVZvL3RCWjtBVXIvdEJROztFQUNJO0FWdy90Qlo7QVV6L3RCUTs7RUFDSTtBVjQvdEJaO0FVNy90QlE7O0VBQ0k7QVZnZ3VCWjtBVWpndUJROztFQUNJO0FWb2d1Qlo7QVVyZ3VCUTs7RUFDSTtBVndndUJaO0FVemd1QlE7O0VBQ0k7QVY0Z3VCWjtBVTdndUJROztFQUNJO0FWZ2h1Qlo7QVVqaHVCUTs7RUFDSTtBVm9odUJaO0FVcmh1QlE7O0VBQ0k7QVZ3aHVCWjtBVXpodUJROztFQUNJO0FWNGh1Qlo7QVU3aHVCUTs7RUFDSTtBVmdpdUJaO0FVaml1QlE7O0VBQ0k7QVZvaXVCWjtBVXJpdUJROztFQUNJO0FWd2l1Qlo7QVV6aXVCUTs7RUFDSTtBVjRpdUJaO0FVN2l1QlE7O0VBQ0k7QVZnanVCWjtBVWpqdUJROztFQUNJO0FWb2p1Qlo7QVVyanVCUTs7RUFDSTtBVndqdUJaO0FVemp1QlE7O0VBQ0k7QVY0anVCWjtBVTdqdUJROztFQUNJO0FWZ2t1Qlo7QVVqa3VCUTs7RUFDSTtBVm9rdUJaO0FVcmt1QlE7O0VBQ0k7QVZ3a3VCWjtBVXprdUJROztFQUNJO0FWNGt1Qlo7QVU3a3VCUTs7RUFDSTtBVmdsdUJaO0FVamx1QlE7O0VBQ0k7QVZvbHVCWjtBVXJsdUJROztFQUNJO0FWd2x1Qlo7QVV6bHVCUTs7RUFDSTtBVjRsdUJaO0FVN2x1QlE7O0VBQ0k7QVZnbXVCWjtBVWptdUJROztFQUNJO0FWb211Qlo7QVVybXVCUTs7RUFDSTtBVndtdUJaO0FVem11QlE7O0VBQ0k7QVY0bXVCWjtBVTdtdUJROztFQUNJO0FWZ251Qlo7QVVqbnVCUTs7RUFDSTtBVm9udUJaO0FVcm51QlE7O0VBQ0k7QVZ3bnVCWjtBVXpudUJROztFQUNJO0FWNG51Qlo7QVU3bnVCUTs7RUFDSTtBVmdvdUJaO0FVam91QlE7O0VBQ0k7QVZvb3VCWjtBVXJvdUJROztFQUNJO0FWd291Qlo7QVV6b3VCUTs7RUFDSTtBVjRvdUJaO0FVN291QlE7O0VBQ0k7QVZncHVCWjtBVWpwdUJROztFQUNJO0FWb3B1Qlo7QVVycHVCUTs7RUFDSTtBVndwdUJaO0FVenB1QlE7O0VBQ0k7QVY0cHVCWjtBVTdwdUJROztFQUNJO0FWZ3F1Qlo7QVVqcXVCUTs7RUFDSTtBVm9xdUJaO0FVcnF1QlE7O0VBQ0k7QVZ3cXVCWjtBVXpxdUJROztFQUNJO0FWNHF1Qlo7QVU3cXVCUTs7RUFDSTtBVmdydUJaO0FVanJ1QlE7O0VBQ0k7QVZvcnVCWjtBVXJydUJROztFQUNJO0FWd3J1Qlo7QVV6cnVCUTs7RUFDSTtBVjRydUJaO0FVN3J1QlE7O0VBQ0k7QVZnc3VCWjtBVWpzdUJROztFQUNJO0FWb3N1Qlo7QVVyc3VCUTs7RUFDSTtBVndzdUJaO0FVenN1QlE7O0VBQ0k7QVY0c3VCWjtBVTdzdUJROztFQUNJO0FWZ3R1Qlo7QVVqdHVCUTs7RUFDSTtBVm90dUJaO0FVcnR1QlE7O0VBQ0k7QVZ3dHVCWjtBVXp0dUJROztFQUNJO0FWNHR1Qlo7QVU3dHVCUTs7RUFDSTtBVmd1dUJaO0FVanV1QlE7O0VBQ0k7QVZvdXVCWjtBVXJ1dUJROztFQUNJO0FWd3V1Qlo7QVV6dXVCUTs7RUFDSTtBVjR1dUJaO0FVN3V1QlE7O0VBQ0k7QVZndnVCWjtBVWp2dUJROztFQUNJO0FWb3Z1Qlo7QVVydnVCUTs7RUFDSTtBVnd2dUJaO0FVenZ1QlE7O0VBQ0k7QVY0dnVCWjtBVTd2dUJROztFQUNJO0FWZ3d1Qlo7QVVqd3VCUTs7RUFDSTtBVm93dUJaO0FVcnd1QlE7O0VBQ0k7QVZ3d3VCWjtBVXp3dUJROztFQUNJO0FWNHd1Qlo7QVU3d3VCUTs7RUFDSTtBVmd4dUJaO0FVanh1QlE7O0VBQ0k7QVZveHVCWjtBVXJ4dUJROztFQUNJO0FWd3h1Qlo7QVV6eHVCUTs7RUFDSTtBVjR4dUJaO0FVN3h1QlE7O0VBQ0k7QVZneXVCWjtBVWp5dUJROztFQUNJO0FWb3l1Qlo7QVVyeXVCUTs7RUFDSTtBVnd5dUJaO0FVenl1QlE7O0VBQ0k7QVY0eXVCWjtBVTd5dUJROztFQUNJO0FWZ3p1Qlo7QVVqenVCUTs7RUFDSTtBVm96dUJaO0FVcnp1QlE7O0VBQ0k7QVZ3enVCWjtBVXp6dUJROztFQUNJO0FWNHp1Qlo7QVU3enVCUTs7RUFDSTtBVmcwdUJaO0FVajB1QlE7O0VBQ0k7QVZvMHVCWjtBVXIwdUJROztFQUNJO0FWdzB1Qlo7QVV6MHVCUTs7RUFDSTtBVjQwdUJaO0FVNzB1QlE7O0VBQ0k7QVZnMXVCWjtBVWoxdUJROztFQUNJO0FWbzF1Qlo7QVVyMXVCUTs7RUFDSTtBVncxdUJaO0FVejF1QlE7O0VBQ0k7QVY0MXVCWjtBVTcxdUJROztFQUNJO0FWZzJ1Qlo7QVVqMnVCUTs7RUFDSTtBVm8ydUJaO0FVcjJ1QlE7O0VBQ0k7QVZ3MnVCWjtBVXoydUJROztFQUNJO0FWNDJ1Qlo7QVU3MnVCUTs7RUFDSTtBVmczdUJaO0FVajN1QlE7O0VBQ0k7QVZvM3VCWjtBVXIzdUJROztFQUNJO0FWdzN1Qlo7QVV6M3VCUTs7RUFDSTtBVjQzdUJaO0FVNzN1QlE7O0VBQ0k7QVZnNHVCWjtBVWo0dUJROztFQUNJO0FWbzR1Qlo7QVVyNHVCUTs7RUFDSTtBVnc0dUJaO0FVejR1QlE7O0VBQ0k7QVY0NHVCWjtBVTc0dUJROztFQUNJO0FWZzV1Qlo7QVVqNXVCUTs7RUFDSTtBVm81dUJaO0FVcjV1QlE7O0VBQ0k7QVZ3NXVCWjtBVXo1dUJROztFQUNJO0FWNDV1Qlo7QVU3NXVCUTs7RUFDSTtBVmc2dUJaO0FVajZ1QlE7O0VBQ0k7QVZvNnVCWjtBVXI2dUJROztFQUNJO0FWdzZ1Qlo7QVV6NnVCUTs7RUFDSTtBVjQ2dUJaO0FVNzZ1QlE7O0VBQ0k7QVZnN3VCWjtBVWo3dUJROztFQUNJO0FWbzd1Qlo7QVVyN3VCUTs7RUFDSTtBVnc3dUJaO0FVejd1QlE7O0VBQ0k7QVY0N3VCWjtBVTc3dUJROztFQUNJO0FWZzh1Qlo7QVVqOHVCUTs7RUFDSTtBVm84dUJaO0FVcjh1QlE7O0VBQ0k7QVZ3OHVCWjtBVXo4dUJROztFQUNJO0FWNDh1Qlo7QVU3OHVCUTs7RUFDSTtBVmc5dUJaO0FVajl1QlE7O0VBQ0k7QVZvOXVCWjtBVXI5dUJROztFQUNJO0FWdzl1Qlo7QVV6OXVCUTs7RUFDSTtBVjQ5dUJaO0FVNzl1QlE7O0VBQ0k7QVZnK3VCWjtBVWordUJROztFQUNJO0FWbyt1Qlo7QVVyK3VCUTs7RUFDSTtBVncrdUJaO0FVeit1QlE7O0VBQ0k7QVY0K3VCWjtBVTcrdUJROztFQUNJO0FWZy91Qlo7QVVqL3VCUTs7RUFDSTtBVm8vdUJaO0FVci91QlE7O0VBQ0k7QVZ3L3VCWjtBVXovdUJROztFQUNJO0FWNC91Qlo7QVU3L3VCUTs7RUFDSTtBVmdndkJaO0FVamd2QlE7O0VBQ0k7QVZvZ3ZCWjtBVXJndkJROztFQUNJO0FWd2d2Qlo7QVV6Z3ZCUTs7RUFDSTtBVjRndkJaO0FVN2d2QlE7O0VBQ0k7QVZnaHZCWjtBVWpodkJROztFQUNJO0FWb2h2Qlo7QVVyaHZCUTs7RUFDSTtBVndodkJaO0FVemh2QlE7O0VBQ0k7QVY0aHZCWjtBVTdodkJROztFQUNJO0FWZ2l2Qlo7QVVqaXZCUTs7RUFDSTtBVm9pdkJaO0FVcml2QlE7O0VBQ0k7QVZ3aXZCWjtBVXppdkJROztFQUNJO0FWNGl2Qlo7QVU3aXZCUTs7RUFDSTtBVmdqdkJaO0FVamp2QlE7O0VBQ0k7QVZvanZCWjtBVXJqdkJROztFQUNJO0FWd2p2Qlo7QVV6anZCUTs7RUFDSTtBVjRqdkJaO0FVN2p2QlE7O0VBQ0k7QVZna3ZCWjtBVWprdkJROztFQUNJO0FWb2t2Qlo7QVVya3ZCUTs7RUFDSTtBVndrdkJaO0FVemt2QlE7O0VBQ0k7QVY0a3ZCWjtBVTdrdkJROztFQUNJO0FWZ2x2Qlo7QVVqbHZCUTs7RUFDSTtBVm9sdkJaO0FVcmx2QlE7O0VBQ0k7QVZ3bHZCWjtBVXpsdkJROztFQUNJO0FWNGx2Qlo7QVU3bHZCUTs7RUFDSTtBVmdtdkJaO0FVam12QlE7O0VBQ0k7QVZvbXZCWjtBVXJtdkJROztFQUNJO0FWd212Qlo7QVV6bXZCUTs7RUFDSTtBVjRtdkJaO0FVN212QlE7O0VBQ0k7QVZnbnZCWjtBVWpudkJROztFQUNJO0FWb252Qlo7QVVybnZCUTs7RUFDSTtBVndudkJaO0FVem52QlE7O0VBQ0k7QVY0bnZCWjtBVTdudkJROztFQUNJO0FWZ292Qlo7QVVqb3ZCUTs7RUFDSTtBVm9vdkJaO0FVcm92QlE7O0VBQ0k7QVZ3b3ZCWjtBVXpvdkJROztFQUNJO0FWNG92Qlo7QVU3b3ZCUTs7RUFDSTtBVmdwdkJaO0FVanB2QlE7O0VBQ0k7QVZvcHZCWjtBVXJwdkJROztFQUNJO0FWd3B2Qlo7QVV6cHZCUTs7RUFDSTtBVjRwdkJaO0FVN3B2QlE7O0VBQ0k7QVZncXZCWjtBVWpxdkJROztFQUNJO0FWb3F2Qlo7QVVycXZCUTs7RUFDSTtBVndxdkJaO0FVenF2QlE7O0VBQ0k7QVY0cXZCWjtBVTdxdkJROztFQUNJO0FWZ3J2Qlo7QVVqcnZCUTs7RUFDSTtBVm9ydkJaO0FVcnJ2QlE7O0VBQ0k7QVZ3cnZCWjtBVXpydkJROztFQUNJO0FWNHJ2Qlo7QVU3cnZCUTs7RUFDSTtBVmdzdkJaO0FVanN2QlE7O0VBQ0k7QVZvc3ZCWjtBVXJzdkJROztFQUNJO0FWd3N2Qlo7QVV6c3ZCUTs7RUFDSTtBVjRzdkJaO0FVN3N2QlE7O0VBQ0k7QVZndHZCWjtBVWp0dkJROztFQUNJO0FWb3R2Qlo7QVVydHZCUTs7RUFDSTtBVnd0dkJaO0FVenR2QlE7O0VBQ0k7QVY0dHZCWjtBVTd0dkJROztFQUNJO0FWZ3V2Qlo7QVVqdXZCUTs7RUFDSTtBVm91dkJaO0FVcnV2QlE7O0VBQ0k7QVZ3dXZCWjtBVXp1dkJROztFQUNJO0FWNHV2Qlo7QVU3dXZCUTs7RUFDSTtBVmd2dkJaO0FVanZ2QlE7O0VBQ0k7QVZvdnZCWjtBVXJ2dkJROztFQUNJO0FWd3Z2Qlo7QVV6dnZCUTs7RUFDSTtBVjR2dkJaO0FVN3Z2QlE7O0VBQ0k7QVZnd3ZCWjtBVWp3dkJROztFQUNJO0FWb3d2Qlo7QVVyd3ZCUTs7RUFDSTtBVnd3dkJaO0FVend2QlE7O0VBQ0k7QVY0d3ZCWjtBVTd3dkJROztFQUNJO0FWZ3h2Qlo7QVVqeHZCUTs7RUFDSTtBVm94dkJaO0FVcnh2QlE7O0VBQ0k7QVZ3eHZCWjtBVXp4dkJROztFQUNJO0FWNHh2Qlo7QVU3eHZCUTs7RUFDSTtBVmd5dkJaO0FVanl2QlE7O0VBQ0k7QVZveXZCWjtBVXJ5dkJROztFQUNJO0FWd3l2Qlo7QVV6eXZCUTs7RUFDSTtBVjR5dkJaO0FVN3l2QlE7O0VBQ0k7QVZnenZCWjtBVWp6dkJROztFQUNJO0FWb3p2Qlo7QVVyenZCUTs7RUFDSTtBVnd6dkJaO0FVenp2QlE7O0VBQ0k7QVY0enZCWjtBVTd6dkJROztFQUNJO0FWZzB2Qlo7QVVqMHZCUTs7RUFDSTtBVm8wdkJaO0FVcjB2QlE7O0VBQ0k7QVZ3MHZCWjtBVXowdkJROztFQUNJO0FWNDB2Qlo7QVU3MHZCUTs7RUFDSTtBVmcxdkJaO0FVajF2QlE7O0VBQ0k7QVZvMXZCWjtBVXIxdkJROztFQUNJO0FWdzF2Qlo7QVV6MXZCUTs7RUFDSTtBVjQxdkJaO0FVNzF2QlE7O0VBQ0k7QVZnMnZCWjtBVWoydkJROztFQUNJO0FWbzJ2Qlo7QVVyMnZCUTs7RUFDSTtBVncydkJaO0FVejJ2QlE7O0VB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bW94Qlo7QVdyb3hCUzs7RUFFRztBWHVveEJaO0FXem94QlM7O0VBRUc7QVgyb3hCWjtBVzdveEJTOztFQUVHO0FYK294Qlo7QVczb3hCUzs7O0VBR0c7QVg2b3hCWjtBV3RweEJTOztFQUVHO0FYd3B4Qlo7QVcxcHhCUzs7RUFFRztBWDRweEJaO0FXOXB4QlM7O0VBRUc7QVhncXhCWjtBV2xxeEJTOztFQUVHO0FYb3F4Qlo7QVd0cXhCUzs7RUFFRztBWHdxeEJaO0FXMXF4QlM7O0VBRUc7QVg0cXhCWjtBVzlxeEJTOztFQUVHO0FYZ3J4Qlo7QVdscnhCUzs7RUFFRztBWG9yeEJaO0FXdHJ4QlM7O0VBRUc7QVh3cnhCWjtBVzFyeEJTOztFQUVHO0FYNHJ4Qlo7QVc5cnhCUzs7RUFFRztBWGdzeEJaO0FXbHN4QlM7O0VBRUc7QVhvc3hCWjtBV3RzeEJTOztFQUVHO0FYd3N4Qlo7QVcxc3hCUzs7RUFFRztBWDRzeEJaO0FXOXN4QlM7O0VBRUc7QVhndHhCWjtBV2x0eEJTOztFQUVHO0FYb3R4Qlo7QVd0dHhCUzs7RUFFRztBWHd0eEJaO0FXMXR4QlM7O0VBRUc7QVg0dHhCWjtBVzl0eEJTOztFQUVHO0FYZ3V4Qlo7QVdsdXhCUzs7RUFFRztBWG91eEJaO0FXdHV4QlM7O0VBRUc7QVh3dXhCWjtBVzF1eEJTOztFQUVHO0FYNHV4Qlo7QVc5dXhCUzs7RUFFRztBWGd2eEJaO0FXbHZ4QlM7O0VBRUc7QVhvdnhCWjtBV3R2eEJTOztFQUVHO0FYd3Z4Qlo7QVcxdnhCUzs7RUFFRztBWDR2eEJaO0FXOXZ4QlM7O0VBRUc7QVhnd3hCWjtBV2x3eEJTOztFQUVHO0FYb3d4Qlo7QVd0d3hCUzs7RUFFRztBWHd3eEJaO0FXMXd4QlM7O0VBRUc7QVg0d3hCWjtBVzl3eEJTOztFQUVHO0FYZ3h4Qlo7QVdyd3hCUzs7OztFQUlHO0FYdXd4Qlo7QVd4eHhCUzs7RUFFRztBWDB4eEJaO0FXNXh4QlM7O0VBRUc7QVg4eHhCWjtBV2h5eEJTOztFQUVHO0FYa3l4Qlo7QVdweXhCUzs7RUFFRztBWHN5eEJaO0FXeHl4QlM7O0VBRUc7QVgweXhCWjtBVzV5eEJTOztFQUVHO0FYOHl4Qlo7QVdoenhCUzs7RUFFRztBWGt6eEJaO0FXcHp4QlM7O0VBRUc7QVhzenhCWjtBV3h6eEJTOztFQUVHO0FYMHp4Qlo7QVc1enhCUzs7RUFFRztBWDh6eEJaO0FXMXp4QlM7OztFQUdHO0FYNHp4Qlo7QVdyMHhCUzs7RUFFRztBWHUweEJaO0FXejB4QlM7O0VBRUc7QVgyMHhCWjtBVzcweEJTOztFQUVHO0FYKzB4Qlo7QVdqMXhCUzs7RUFFRztBWG0xeEJaO0FXcjF4QlM7O0VBRUc7QVh1MXhCWjtBV3oxeEJTOztFQUVHO0FYMjF4Qlo7QVc3MXhCUzs7RUFFRztBWCsxeEJaO0FXMzF4QlM7OztFQUdHO0FYNjF4Qlo7QVd0MnhCUzs7RUFFRztBWHcyeEJaO0FXMTJ4QlM7O0VBRUc7QVg0MnhCWjtBVzkyeEJTOztFQUVHO0FYZzN4Qlo7QVdsM3hCUzs7RUFFRztBWG8zeEJaO0FXdDN4QlM7O0VBRUc7QVh3M3hCWjtBVzEzeEJTOztFQUVHO0FYNDN4Qlo7QVc5M3hCUzs7RUFFRztBWGc0eEJaO0FXbDR4QlM7O0VBRUc7QVhvNHhCWjtBV3Q0eEJTOztFQUVHO0FYdzR4Qlo7QVcxNHhCUzs7RUFFRztBWDQ0eEJaO0FXOTR4QlM7O0VBRUc7QVhnNXhCWjtBV2w1eEJTOztFQUVHO0FYbzV4Qlo7QVd0NXhCUzs7RUFFRztBWHc1eEJaO0FXMTV4QlM7O0VBRUc7QVg0NXhCWjtBVzk1eEJTOztFQUVHO0FYZzZ4Qlo7QVdsNnhCUzs7RUFFRztBWG82eEJaO0FXdDZ4QlM7O0VBRUc7QVh3NnhCWjtBVzE2eEJTOztFQUVHO0FYNDZ4Qlo7QVc5NnhCUzs7RUFFRztBWGc3eEJaO0FXNTZ4QlM7OztFQUdHO0FYODZ4Qlo7QVd2N3hCUzs7RUFFRztBWHk3eEJaO0FXMzd4QlM7O0VBRUc7QVg2N3hCWjtBVy83eEJTOztFQUVHO0FYaTh4Qlo7QVduOHhCUzs7RUFFRztBWHE4eEJaO0FXdjh4QlM7O0VBRUc7QVh5OHhCWjtBVzM4eEJTOztFQUVHO0FYNjh4Qlo7QVcvOHhCUzs7RUFFRztBWGk5eEJaO0FXbjl4QlM7O0VBRUc7QVhxOXhCWjtBV3Y5eEJTOztFQUVHO0FYeTl4Qlo7QVczOXhCUzs7RUFFRztBWDY5eEJaO0FXLzl4QlM7O0VBRUc7QVhpK3hCWjtBV24reEJTOztFQUVHO0FYcSt4Qlo7QVd2K3hCUzs7RUFFRztBWHkreEJaO0FXMyt4QlM7O0VBRUc7QVg2K3hCWjtBVy8reEJTOztFQUVHO0FYaS94Qlo7QVduL3hCUzs7RUFFRztBWHEveEJaO0FXdi94QlM7O0VBRUc7QVh5L3hCWjtBVzMveEJTOztFQUVHO0FYNi94Qlo7QVd6L3hCUzs7O0VBR0c7QVgyL3hCWjtBV3BneUJTOztFQUVHO0FYc2d5Qlo7QVd4Z3lCUzs7RUFFRztBWDBneUJaO0FXNWd5QlM7O0VBRUc7QVg4Z3lCWjtBV2hoeUJTOztFQUVHO0FYa2h5Qlo7QVdwaHlCUzs7RUFFRztBWHNoeUJaO0FXeGh5QlM7O0VBRUc7QVgwaHlCWjtBVzVoeUJTOztFQUVHO0FYOGh5Qlo7QVdoaXlCUzs7RUFFRztBWGtpeUJaO0FXcGl5QlM7O0VBRUc7QVhzaXlCWjtBV3hpeUJTOztFQUVHO0FYMGl5Qlo7QVc1aXlCUzs7RUFFRztBWDhpeUJaO0FXaGp5QlM7O0VBRUc7QVhranlCWjtBV3BqeUJTOztFQUVHO0FYc2p5Qlo7QVd4anlCUzs7RUFFRztBWDBqeUJaO0FXNWp5QlM7O0VBRUc7QVg4anlCWjtBV2hreUJTOztFQUVHO0FYa2t5Qlo7QVdwa3lCUzs7RUFFRztBWHNreUJaO0FXeGt5QlM7O0VBRUc7QVgwa3lCWjtBVzVreUJTOztFQUVHO0FYOGt5Qlo7QVdobHlCUzs7RUFFRztBWGtseUJaO0FXcGx5QlM7O0VBRUc7QVhzbHlCWjtBV3hseUJTOztFQUVHO0FYMGx5Qlo7QVc1bHlCUzs7RUFFRztBWDhseUJaO0FXaG15QlM7O0VBRUc7QVhrbXlCWjtBV3BteUJTOztFQUVHO0FYc215Qlo7QVd4bXlCUzs7RUFFRztBWDBteUJaO0FXNW15QlM7O0VBRUc7QVg4bXlCWjtBV2hueUJTOztFQUVHO0FYa255Qlo7QVdwbnlCUzs7RUFFRztBWHNueUJaO0FXeG55QlM7O0VBRUc7QVgwbnlCWjtBVy9teUJTOzs7O0VBSUc7QVhpbnlCWjtBV2xveUJTOztFQUVHO0FYb295Qlo7QVd0b3lCUzs7RUFFRztBWHdveUJaO0FXMW95QlM7O0VBRUc7QVg0b3lCWjtBVzlveUJTOztFQUVHO0FYZ3B5Qlo7QVdscHlCUzs7RUFFRztBWG9weUJaO0FXdHB5QlM7O0VBRUc7QVh3cHlCWjtBVzFweUJTOztFQUVHO0FYNHB5Qlo7QVc5cHlCUzs7RUFFRztBWGdxeUJaO0FXbHF5QlM7O0VBRUc7QVhvcXlCWjtBV3RxeUJTOztFQUVHO0FYd3F5Qlo7QVcxcXlCUzs7RUFFRztBWDRxeUJaO0FXOXF5QlM7O0VBRUc7QVhncnlCWjtBV2xyeUJTOztFQUVHO0FYb3J5Qlo7QVd0cnlCUzs7RUFFRztBWHdyeUJaO0FXMXJ5QlM7O0VBRUc7QVg0cnlCWjtBVzlyeUJTOztFQUVHO0FYZ3N5Qlo7QVdsc3lCUzs7RUFFRztBWG9zeUJaO0FXdHN5QlM7O0VBRUc7QVh3c3lCWjtBVzFzeUJTOztFQUVHO0FYNHN5Qlo7QVc5c3lCUzs7RUFFRztBWGd0eUJaO0FXNXN5QlM7OztFQUdHO0FYOHN5Qlo7QVd2dHlCUzs7RUFFRztBWHl0eUJaO0FXM3R5QlM7O0VBRUc7QVg2dHlCWjtBVy90eUJTOztFQUVHO0FYaXV5Qlo7QVdudXlCUzs7RUFFRztBWHF1eUJaO0FXdnV5QlM7O0VBRUc7QVh5dXlCWjtBVzN1eUJTOztFQUVHO0FYNnV5Qlo7QVcvdXlCUzs7RUFFRztBWGl2eUJaO0FXbnZ5QlM7O0VBRUc7QVhxdnlCWjtBV3Z2eUJTOztFQUVHO0FYeXZ5Qlo7QVczdnlCUzs7RUFFRztBWDZ2eUJaO0FXL3Z5QlM7O0VBRUc7QVhpd3lCWjtBV253eUJTOztFQUVHO0FYcXd5Qlo7QVd2d3lCUzs7RUFFRztBWHl3eUJaO0FXM3d5QlM7O0VBRUc7QVg2d3lCWjtBVy93eUJTOztFQUVHO0FYaXh5Qlo7QVdueHlCUzs7RUFFRztBWHF4eUJaO0FXdnh5QlM7O0VBRUc7QVh5eHlCWjtBVzN4eUJTOztFQUVHO0FYNnh5Qlo7QVcveHlCUzs7RUFFRztBWGl5eUJaO0FXN3h5QlM7OztFQUdHO0FYK3h5Qlo7QVd4eXlCUzs7RUFFRztBWDB5eUJaO0FXNXl5QlM7O0VBRUc7QVg4eXlCWjtBV2h6eUJTOztFQUVHO0FYa3p5Qlo7QVdwenlCUzs7RUFFRztBWHN6eUJaO0FXeHp5QlM7O0VBRUc7QVgwenlCWjtBVzV6eUJTOztFQUVHO0FYOHp5Qlo7QVdoMHlCUzs7RUFFRztBWGsweUJaO0FXcDB5QlM7O0VBRUc7QVhzMHlCWjtBV3gweUJTOztFQUVHO0FYMDB5Qlo7QVc1MHlCUzs7RUFFRztBWDgweUJaO0FXaDF5QlM7O0VBRUc7QVhrMXlCWjtBV3AxeUJTOztFQUVHO0FYczF5Qlo7QVd4MXlCUzs7RUFFRztBWDAxeUJaO0FXNTF5QlM7O0VBRUc7QVg4MXlCWjtBVzExeUJTOzs7RUFHRztBWDQxeUJaO0FXeDF5QlM7Ozs7RUFJRztBWDAxeUJaO0FXMzJ5QlM7O0VBRUc7QVg2MnlCWjtBVy8yeUJTOztFQUVHO0FYaTN5Qlo7QVduM3lCUzs7RUFFRztBWHEzeUJaO0FXdjN5QlM7O0VBRUc7QVh5M3lCWjtBVzMzeUJTOztFQUVHO0FYNjN5Qlo7QVcvM3lCUzs7RUFFRztBWGk0eUJaO0FXbjR5QlM7O0VBRUc7QVhxNHlCWjtBV3Y0eUJTOztFQUVHO0FYeTR5Qlo7QVdyNHlCUzs7O0VBR0c7QVh1NHlCWjtBV2g1eUJTOztFQUVHO0FYazV5Qlo7QVdwNXlCUzs7RUFFRztBWHM1eUJaO0FXeDV5QlM7O0VBRUc7QVgwNXlCWjtBVzU1eUJTOztFQUVHO0FYODV5Qlo7QVdoNnlCUzs7RUFFRztBWGs2eUJaO0FXcDZ5QlM7O0VBRUc7QVhzNnlCWjtBV3g2eUJTOztFQUVHO0FYMDZ5Qlo7QVd0NnlCUzs7O0VBR0c7QVh3NnlCWjtBVzM2eUJTOzs7RUFHRztBWDY2eUJaO0FXaDd5QlM7OztFQUdHO0FYazd5Qlo7QVdyN3lCUzs7O0VBR0c7QVh1N3lCWjtBVzE3eUJTOzs7RUFHRztBWDQ3eUJaO0FXcjh5QlM7O0VBRUc7QVh1OHlCWjtBV3o4eUJTOztFQUVHO0FYMjh5Qlo7QVc3OHlCUzs7RUFFRztBWCs4eUJaO0FXajl5QlM7O0VBRUc7QVhtOXlCWjtBV3I5eUJTOztFQUVHO0FYdTl5Qlo7QVd6OXlCUzs7RUFFRztBWDI5eUJaO0FXNzl5QlM7O0VBRUc7QVgrOXlCWjtBV2oreUJTOztFQUVHO0FYbSt5Qlo7QVdyK3lCUzs7RUFFRztBWHUreUJaO0FXeit5QlM7O0VBRUc7QVgyK3lCWjtBVzcreUJTOztFQUVHO0FYKyt5Qlo7QVdqL3lCUzs7RUFFRztBWG0veUJaO0FXci95QlM7O0VBRUc7QVh1L3lCWjtBV3oveUJTOztFQUVHO0FYMi95Qlo7QVc3L3lCUzs7RUFFRztBWCsveUJaO0FXamd6QlM7O0VBRUc7QVhtZ3pCWjtBV3JnekJTOztFQUVHO0FYdWd6Qlo7QVd6Z3pCUzs7RUFFRztBWDJnekJaO0FXN2d6QlM7O0VBRUc7QVgrZ3pCWjtBV2poekJTOztFQUVHO0FYbWh6Qlo7QVdyaHpCUzs7RUFFRztBWHVoekJaO0FXemh6QlM7O0VBRUc7QVgyaHpCWjtBVzdoekJTOztFQUVHO0FYK2h6Qlo7QVdqaXpCUzs7RUFFRztBWG1pekJaO0FXL2h6QlM7OztFQUdHO0FYaWl6Qlo7QVdwaXpCUzs7O0VBR0c7QVhzaXpCWjtBVy9pekJTOztFQUVHO0FYaWp6Qlo7QVduanpCUzs7RUFFRztBWHFqekJaO0FXdmp6QlM7O0VBRUc7QVh5anpCWjtBV3JqekJTOzs7RUFHRztBWHVqekJaO0FXaGt6QlM7O0VBRUc7QVhra3pCWjtBV3BrekJTOztFQUVHO0FYc2t6Qlo7QVd4a3pCUzs7RUFFRztBWDBrekJaO0FXNWt6QlM7O0VBRUc7QVg4a3pCWjtBV2hsekJTOztFQUVHO0FYa2x6Qlo7QVdwbHpCUzs7RUFFRztBWHNsekJaO0FXeGx6QlM7O0VBRUc7QVgwbHpCWjtBVzVsekJTOztFQUVHO0FYOGx6Qlo7QVdobXpCUzs7RUFFRztBWGttekJaO0FXcG16QlM7O0VBRUc7QVhzbXpCWjtBV3htekJTOztFQUVHO0FYMG16Qlo7QVc1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O0FBQ0EsbUJBQW1CO0FZNzEwQmxCOztFQUVHO0VBQ0E7RUFDQTtBWisxMEJKO0FBQ0E7O3NCQUVzQjtBWTMxMEJ0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNjEwQko7QVkzMTBCQTs7RUFFSTtBWjYxMEJKO0FBQ0E7O2lCQUVpQjtBWXoxMEJqQjtFQUNJO0VBQ0E7QVoyMTBCSjtBQUNBLGdCQUFnQjtBWXgxMEJoQjs7RUFFSTtFQUNBO0FaMDEwQko7QUFDQSxlQUFlO0FZdjEwQmQ7O0VBRUc7RUFDQTtFQUNBO0FaeTEwQko7QUFDQTs7aUJBRWlCO0FZcjEwQmpCO0VBQ0k7RUFDQTtFQUNBO0FadTEwQko7QUFDQSxnQkFBZ0I7QVlwMTBCaEI7RUFDSTtBWnMxMEJKO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FZOTAwQlI7RUFDRztBWmcxMEJaO0FZNzAwQmE7RUFDRztBWiswMEJoQjtBWXAxMEJTO0VBQ0c7QVpzMTBCWjtBWW4xMEJhO0VBQ0c7QVpxMTBCaEI7QVkxMTBCUztFQUNHO0FaNDEwQlo7QVl6MTBCYTtFQUNHO0FaMjEwQmhCO0FZaDIwQlM7RUFDRztBWmsyMEJaO0FZLzEwQmE7RUFDRztBWmkyMEJoQjtBWXQyMEJTO0VBQ0c7QVp3MjBCWjtBWXIyMEJhO0VBQ0c7QVp1MjBCaEI7QVk1MjBCUztFQUNHO0FaODIwQlo7QVkzMjBCYTtFQUNHO0FaNjIwQmhCO0FBQ0E7O2lCQUVpQjtBWWoyMEJSO0VBQ0c7QVptMjBCWjtBWTcxMEJhO0VBQ0c7QVorMTBCaEI7QVk3MTBCYTtFQUNHO0FaKzEwQmhCO0FZMTIwQlM7RUFDRztBWjQyMEJaO0FZdDIwQmE7RUFDRztBWncyMEJoQjtBWXQyMEJhO0VBQ0c7QVp3MjBCaEI7QVluMzBCUztFQUNHO0FacTMwQlo7QVkvMjBCYTtFQUNHO0FaaTMwQmhCO0FZLzIwQmE7RUFDRztBWmkzMEJoQjtBWTUzMEJTO0VBQ0c7QVo4MzBCWjtBWXgzMEJhO0VBQ0c7QVowMzBCaEI7QVl4MzBCYTtFQUNHO0FaMDMwQmhCO0FZcjQwQlM7RUFDRztBWnU0MEJaO0FZajQwQmE7RUFDRztBWm00MEJoQjtBWWo0MEJhO0VBQ0c7QVptNDBCaEI7QVk5NDBCUztFQUNHO0VBRUk7QVorNDBCaEI7QVkzNDBCYTtFQUNHO0FaNjQwQmhCO0FZMzQwQmE7RUFDRztBWjY0MEJoQjtBWXg1MEJTO0VBQ0c7RUFFSTtBWnk1MEJoQjtBWXI1MEJhO0VBQ0c7QVp1NTBCaEI7QVlyNTBCYTtFQUNHO0FadTUwQmhCO0FBQ0E7O3FCQUVxQjtBWS80MEJqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWmk1MEJSO0FBQ0E7OzBCQUUwQjtBWTM0MEJ0QjtFQUNJO0VBQ0E7RUFDQTtBWjY0MEJSO0FZMzQwQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNjQwQlI7QVkxNDBCSTtFQUNJO0FaNDQwQlI7QVkxNDBCSTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNDQwQlI7QVkxNDBCSTtFQUNJO0FaNDQwQlI7QVkxNDBCSTtFQUNJO0VBQ0E7QVo0NDBCUjtBWTE0MEJJO0VBQ0k7QVo0NDBCUjtBWTE0MEJJO0VBQ0k7QVo0NDBCUjtBWXo0MEJROzs7RUFHSTtBWjI0MEJaO0FZdjQwQlE7RUFDSTtFQUNBO0VBQ0E7QVp5NDBCWjtBQUNBOzsrQkFFK0I7QVluNDBCM0I7RUFDSTtBWnE0MEJSO0FBQ0E7OytCQUUrQjtBQUMvQjs7MEJBRTBCO0FZOTMwQnRCO0VBQ0k7QVpnNDBCUjtBWTkzMEJJO0VBQ0k7QVpnNDBCUjtBWTczMEJRO0VBQ0k7RUFDQTtFQUNBO0FaKzMwQlo7QVkzMzBCUTtFQUNJO0VBQ0E7RUFDQTtBWjYzMEJaO0FBQ0E7O3NCQUVzQjtBWWgzMEJiO0VBQ0c7QVprMzBCWjtBWWgzMEJTO0VBQ0c7QVprMzBCWjtBWS8yMEJhO0VBQ0c7QVppMzBCaEI7QVk3MjBCYTtFQUNHO0FaKzIwQmhCO0FZNzIwQmE7RUFDRztBWisyMEJoQjtBWTcyMEJhO0VBQ0c7QVorMjBCaEI7QVlsNDBCUztFQUNHO0FabzQwQlo7QVlsNDBCUztFQUNHO0FabzQwQlo7QVlqNDBCYTtFQUNHO0FabTQwQmhCO0FZLzMwQmE7RUFDRztBWmk0MEJoQjtBWS8zMEJhO0VBQ0c7QVppNDBCaEI7QVkvMzBCYTtFQUNHO0FaaTQwQmhCO0FZcDUwQlM7RUFDRztBWnM1MEJaO0FZcDUwQlM7RUFDRztBWnM1MEJaO0FZbjUwQmE7RUFDRztBWnE1MEJoQjtBWWo1MEJhO0VBQ0c7QVptNTBCaEI7QVlqNTBCYTtFQUNHO0FabTUwQmhCO0FZajUwQmE7RUFDRztBWm01MEJoQjtBWXQ2MEJTO0VBQ0c7QVp3NjBCWjtBWXQ2MEJTO0VBQ0c7QVp3NjBCWjtBWXI2MEJhO0VBQ0c7QVp1NjBCaEI7QVluNjBCYTtFQUNHO0FacTYwQmhCO0FZbjYwQmE7RUFDRztBWnE2MEJoQjtBWW42MEJhO0VBQ0c7QVpxNjBCaEI7QVl4NzBCUztFQUNHO0FaMDcwQlo7QVl4NzBCUztFQUNHO0FaMDcwQlo7QVl2NzBCYTtFQUNHO0FaeTcwQmhCO0FZcjcwQmE7RUFDRztBWnU3MEJoQjtBWXI3MEJhO0VBQ0c7QVp1NzBCaEI7QVlyNzBCYTtFQUNHO0FadTcwQmhCO0FZMTgwQlM7RUFDRztBWjQ4MEJaO0FZMTgwQlM7RUFDRztBWjQ4MEJaO0FZejgwQmE7RUFDRztBWjI4MEJoQjtBWXY4MEJhO0VBQ0c7QVp5ODBCaEI7QVl2ODBCYTtFQUNHO0FaeTgwQmhCO0FZdjgwQmE7RUFDRztBWnk4MEJoQjtBWTU5MEJTO0VBQ0c7QVo4OTBCWjtBWTU5MEJTO0VBQ0c7QVo4OTBCWjtBWTM5MEJhO0VBQ0c7QVo2OTBCaEI7QVl6OTBCYTtFQUNHO0FaMjkwQmhCO0FZejkwQmE7RUFDRztBWjI5MEJoQjtBWXo5MEJhO0VBQ0c7QVoyOTBCaEI7QVk5KzBCUztFQUNHO0FaZy8wQlo7QVk5KzBCUztFQUNHO0FaZy8wQlo7QVk3KzBCYTtFQUNHO0FaKyswQmhCO0FZMyswQmE7RUFDRztBWjYrMEJoQjtBWTMrMEJhO0VBQ0c7QVo2KzBCaEI7QVkzKzBCYTtFQUNHO0FaNiswQmhCO0FZaGcxQlM7RUFDRztBWmtnMUJaO0FZaGcxQlM7RUFDRztBWmtnMUJaO0FZLy8wQmE7RUFDRztBWmlnMUJoQjtBWTcvMEJhO0VBQ0c7QVorLzBCaEI7QVk3LzBCYTtFQUNHO0FaKy8wQmhCO0FZNy8wQmE7RUFDRztBWisvMEJoQjtBWWxoMUJTO0VBQ0c7QVpvaDFCWjtBWWxoMUJTO0VBQ0c7QVpvaDFCWjtBWWpoMUJhO0VBQ0c7QVptaDFCaEI7QVkvZzFCYTtFQUNHO0FaaWgxQmhCO0FZL2cxQmE7RUFDRztBWmloMUJoQjtBWS9nMUJhO0VBQ0c7QVppaDFCaEI7QVlwaTFCUztFQUNHO0Fac2kxQlo7QVlwaTFCUztFQUNHO0Fac2kxQlo7QVluaTFCYTtFQUNHO0FacWkxQmhCO0FZamkxQmE7RUFDRztBWm1pMUJoQjtBWWppMUJhO0VBQ0c7QVptaTFCaEI7QVlqaTFCYTtFQUNHO0FabWkxQmhCO0FZdGoxQlM7RUFDRztBWndqMUJaO0FZdGoxQlM7RUFDRztBWndqMUJaO0FZcmoxQmE7RUFDRztBWnVqMUJoQjtBWW5qMUJhO0VBQ0c7QVpxajFCaEI7QVluajFCYTtFQUNHO0FacWoxQmhCO0FZbmoxQmE7RUFDRztBWnFqMUJoQjtBWXhrMUJTO0VBQ0c7QVowazFCWjtBWXhrMUJTO0VBQ0c7QVowazFCWjtBWXZrMUJhO0VBQ0c7QVp5azFCaEI7QVlyazFCYTtFQUNHO0FadWsxQmhCO0FZcmsxQmE7RUFDRztBWnVrMUJoQjtBWXJrMUJhO0VBQ0c7QVp1azFCaEI7QVkxbDFCUztFQUNHO0FaNGwxQlo7QVkxbDFCUztFQUNHO0FaNGwxQlo7QVl6bDFCYTtFQUNHO0FaMmwxQmhCO0FZdmwxQmE7RUFDRztBWnlsMUJoQjtBWXZsMUJhO0VBQ0c7QVp5bDFCaEI7QVl2bDFCYTtFQUNHO0FaeWwxQmhCO0FZNW0xQlM7RUFDRztBWjhtMUJaO0FZNW0xQlM7RUFDRztBWjhtMUJaO0FZM20xQmE7RUFDRztBWjZtMUJoQjtBWXptMUJhO0VBQ0c7QVoybTFCaEI7QVl6bTFCYTtFQUNHO0FaMm0xQmhCO0FZem0xQmE7RUFDRztBWjJtMUJoQjtBQUNBOzswQkFFMEI7QVlubTFCdEI7RUFDSTtBWnFtMUJSO0FZbm0xQkk7RUFDSTtBWnFtMUJSO0FZbm0xQkk7O0VBRUk7QVpxbTFCUjtBWWhtMUJJO0VBQ0k7QVprbTFCUjtBWWhtMUJJO0VBQ0k7RUFDQTtFQUNBO0Faa20xQlI7QUFDQTs7MEJBRTBCO0FZNWwxQnRCOztFQUVJO0VBQ0E7RUFDQTtBWjhsMUJSO0FZNWwxQkk7RUFDSTtFQUNBO0VBQ0E7QVo4bDFCUjtBQUNBOzswQkFFMEI7QVl4bDFCdEI7RUFDSTtBWjBsMUJSO0FBQ0E7OzBCQUUwQjtBWXBsMUJ0QjtFQUNJO0VBQ0E7QVpzbDFCUjtBWW5sMUJRO0VBQ0k7QVpxbDFCWjtBWWxsMUJJO0VBQ0k7QVpvbDFCUjtBWWpsMUJRO0VBQ0k7QVptbDFCWjtBQUNBOzswQkFFMEI7QVk1azFCdEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOGsxQlI7QVk1azFCSTtFQUNJO0FaOGsxQlI7QVl6azFCYTtFQUNHO0FaMmsxQmhCO0FZNWsxQmE7RUFDRztBWjhrMUJoQjtBWS9rMUJhO0VBQ0c7QVppbDFCaEI7QVlsbDFCYTtFQUNHO0Fab2wxQmhCO0FZcmwxQmE7RUFDRztBWnVsMUJoQjtBWXhsMUJhO0VBQ0c7QVowbDFCaEI7QVkzbDFCYTtFQUNHO0FaNmwxQmhCO0FBQ0E7OzBCQUUwQjtBWXJsMUJ0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnVsMUJSO0FZcGwxQlE7RUFDSTtBWnNsMUJaO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbGwxQlE7RUFDSTtBWm9sMUJaO0FBQ0EsbUJBQW1CO0FZaGwxQmY7RUFDSTtBWmtsMUJSO0FZN2sxQmE7RUFDRztBWitrMUJoQjtBWWhsMUJhO0VBQ0c7QVprbDFCaEI7QVlubDFCYTtFQUNHO0FacWwxQmhCO0FZdGwxQmE7RUFDRztBWndsMUJoQjtBWXpsMUJhO0VBQ0c7QVoybDFCaEI7QVk1bDFCYTtFQUNHO0FaOGwxQmhCO0FZ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Q0E7OzBCQUUwQjtBYXR1M0JyQjs7RUFFRztFQUNBO0VBQ0E7QWJ3dTNCUjtBYXR1M0JJOztFQUVJO0Fid3UzQlI7QUFDQTs7MEJBRTBCO0FhbHUzQnRCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fib3UzQlI7QWFudTNCUTtFQUNJO0FicXUzQlo7QWFqdTNCUTtFQUNJO0VBQ0E7QWJtdTNCWjtBQUNBOzswQkFFMEI7QWE1dDNCdEI7O0VBRUk7QWI4dDNCUjtBYTV0M0JJO0VBQ0k7QWI4dDNCUjtBYTF0M0JTOztFQUVHO0FiNHQzQlo7QWExdDNCUztFQUNHO0FiNHQzQlo7QUFDQTs7MEJBRTBCO0FhcnQzQnRCOzs7RUFHSTtBYnV0M0JSO0FhcHQzQkk7O0VBRUk7QWJzdDNCUjtBYW50M0JJO0VBQ0k7QWJxdDNCUjtBYWp0M0JTOzs7RUFHRztBYm10M0JaO0FhanQzQlM7O0VBRUc7QWJtdDNCWjtBYWp0M0JTO0VBQ0c7QWJtdDNCWjtBQUNBOztpQ0FFaUM7QWE1czNCN0I7OztFQUdJO0FiOHMzQlI7QWEzczNCSTs7RUFFSTtBYjZzM0JSO0FhMXMzQkk7RUFDSTtBYjRzM0JSO0FhenMzQkk7OztFQUdJO0FiMnMzQlI7QWF4czNCSTs7RUFFSTtBYjBzM0JSO0FhdnMzQkk7RUFDSTtBYnlzM0JSO0FhcnMzQlM7OztFQUdHO0FidXMzQlo7QWFyczNCUzs7RUFFRztBYnVzM0JaO0FhcnMzQlM7RUFDRztBYnVzM0JaO0FhcnMzQlM7OztFQUdHO0FidXMzQlo7QWFyczNCUzs7RUFFRztBYnVzM0JaO0FhcnMzQlM7RUFDRztBYnVzM0JaO0FBQ0E7OzBCQUUwQjtBYWhzM0J0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmtzM0JSO0FhanMzQlE7RUFDSTtBYm1zM0JaO0FhL3IzQlE7RUFDSTtFQUNBO0FiaXMzQlo7QUFDQTs7MEJBRTBCO0FBQzFCLG9CQUFvQjtBYTFyM0JoQjs7RUFFSTtFQUNBO0FiNHIzQlI7QWF6cjNCSTtFQUNJO0FiMnIzQlI7QUFDQTs7c0JBRXNCO0FhanIzQmI7RUFDRztBYm1yM0JaO0FhaHIzQmE7RUFDRztBYmtyM0JoQjtBYS9xM0JpQjs7OztFQUlHO0VBQ0E7QWJpcjNCcEI7QWE5cjNCUztFQUNHO0FiZ3MzQlo7QWE3cjNCYTtFQUNHO0FiK3IzQmhCO0FhNXIzQmlCOzs7O0VBSUc7RUFDQTtBYjhyM0JwQjtBYTNzM0JTO0VBQ0c7QWI2czNCWjtBYTFzM0JhO0VBQ0c7QWI0czNCaEI7QWF6czNCaUI7Ozs7RUFJRztFQUNBO0FiMnMzQnBCO0FheHQzQlM7RUFDRztBYjB0M0JaO0FhdnQzQmE7RUFDRztBYnl0M0JoQjtBYXR0M0JpQjs7OztFQUlHO0VBQ0E7QWJ3dDNCcEI7QWFydTNCUztFQUNHO0FidXUzQlo7QWFwdTNCYTtFQUNHO0Fic3UzQmhCO0FhbnUzQmlCOzs7O0VBSUc7RUFDQTtBYnF1M0JwQjtBYWx2M0JTO0VBQ0c7QWJvdjNCWjtBYWp2M0JhO0VBQ0c7QWJtdjNCaEI7QWFodjNCaUI7Ozs7RUFJRztFQUNBO0Fia3YzQnBCO0FhL3YzQlM7RUFDRztBYml3M0JaO0FhOXYzQmE7RUFDRztBYmd3M0JoQjtBYTd2M0JpQjs7OztFQUlHO0VBQ0E7QWIrdjNCcEI7QWE1dzNCUztFQUNHO0FiOHczQlo7QWEzdzNCYTtFQUNHO0FiNnczQmhCO0FhMXczQmlCOzs7O0VBSUc7RUFDQTtBYjR3M0JwQjtBYXp4M0JTO0VBQ0c7QWIyeDNCWjtBYXh4M0JhO0VBQ0c7QWIweDNCaEI7QWF2eDNCaUI7Ozs7RUFJRztFQUNBO0FieXgzQnBCO0FhdHkzQlM7RUFDRztBYnd5M0JaO0FhcnkzQmE7RUFDRztBYnV5M0JoQjtBYXB5M0JpQjs7OztFQUlHO0VBQ0E7QWJzeTNCcEI7QWFuejNCUztFQUNHO0FicXozQlo7QWFsejNCYTtFQUNHO0Fib3ozQmhCO0FhanozQmlCOzs7O0VBSUc7RUFDQTtBYm16M0JwQjtBYWgwM0JTO0VBQ0c7QWJrMDNCWjtBYS96M0JhO0VBQ0c7QWJpMDNCaEI7QWE5ejNCaUI7Ozs7RUFJRztFQUNBO0FiZzAzQnBCO0FhNzAzQlM7RUFDRztBYiswM0JaO0FhNTAzQmE7RUFDRztBYjgwM0JoQjtBYTMwM0JpQjs7OztFQUlHO0VBQ0E7QWI2MDNCcEI7QWExMTNCUztFQUNHO0FiNDEzQlo7QWF6MTNCYTtFQUNHO0FiMjEzQmhCO0FheDEzQmlCOzs7O0VBSUc7RUFDQTtBYjAxM0JwQjtBYXYyM0JTO0VBQ0c7QWJ5MjNCWjtBYXQyM0JhO0VBQ0c7QWJ3MjNCaEI7QWFyMjNCaUI7Ozs7RUFJRztFQUNBO0FidTIzQnBCO0FBQ0E7O3NCQUVzQjtBYS8xM0J0Qjs7RUFFSTtFQUNBO0VBQ0E7QWJpMjNCSjtBYTUxM0JTOztFQUVHO0VBQ0E7QWI4MTNCWjtBYWoyM0JTOztFQUVHO0VBQ0E7QWJtMjNCWjtBYXQyM0JTOztFQUVHO0VBQ0E7QWJ3MjNCWjtBYTMyM0JTOztFQUVHO0VBQ0E7QWI2MjNCWjtBYWgzM0JTOztFQUVHO0VBQ0E7QWJrMzNCWjtBYXIzM0JTOztFQUVHO0VBQ0E7QWJ1MzNCWjtBYTEzM0JTOztFQUVHO0VBQ0E7QWI0MzNCWjtBQUNBOzttQ0FFbUM7QWFyMzNCL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnUzM0JSO0FhcDMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYnMzM0JSO0FhcjMzQlM7RUFDRztBYnUzM0JaO0FhbjMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYnEzM0JSO0FhbjMzQks7RUFDRztBYnEzM0JSO0FBQ0EsZ0JBQWdCO0FhajMzQlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJtMzNCWjtBYWwzM0JhO0VBQ0c7QWJvMzNCaEI7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFoMzNCWTtFQUNJO0FiazMzQmhCO0FBQ0E7O3FEQUVxRDtBYTMyM0JqRDs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBYjYyM0JSO0FhNTIzQlE7O0VBQ0k7QWIrMjNCWjtBYTUyM0JJO0VBQ0k7QWI4MjNCUjtBYTUyM0JJOztFQUVJO0VBQ0E7QWI4MjNCUjtBQUNBLGtCQUFrQjtBYTEyM0JWOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FiNDIzQlo7QUFDQSxnQkFBZ0I7QWF2MjNCUjs7OztFQUlJO0VBQ0E7RUFDQTtFQUNBO0FieTIzQlo7QWF2MjNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBYnkyM0JaO0FhdjIzQlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWJ5MjNCWjtBYXYyM0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FieTIzQlo7QUFDQSx3Q0FBd0M7QWE5MTNCL0I7RUFDRztBYmcyM0JaO0FhajIzQlM7RUFDRztBYm0yM0JaO0FhcDIzQlM7RUFDRztBYnMyM0JaO0FhdjIzQlM7RUFDRztBYnkyM0JaO0FhMTIzQlM7RUFDRztBYjQyM0JaO0FhNzIzQlM7RUFDRztBYisyM0JaO0FhaDMzQlM7RUFDRztBYmszM0JaO0FhbjMzQlM7RUFDRztBYnEzM0JaO0FhdDMzQlM7RUFDRztBYnczM0JaO0FBQ0E7O21DQUVtQztBQUNuQyxVQUFVO0FhNzMzQkQ7RUFDRztBYiszM0JaO0FhaDQzQlM7RUFDRztBYms0M0JaO0FhbjQzQlM7RUFDRztBYnE0M0JaO0FhdDQzQlM7RUFDRztBYnc0M0JaO0FhejQzQlM7RUFDRztBYjI0M0JaO0FhNTQzQlM7RUFDRztBYjg0M0JaO0FhLzQzQlM7RUFDRztBYmk1M0JaO0FhbDUzQlM7RUFDRztBYm81M0JaO0FhcjUzQlM7RUFDRztBYnU1M0JaO0FheDUzQlM7RUFDRztBYjA1M0JaO0FhMzUzQlM7RUFDRztBYjY1M0JaO0FhOTUzQlM7RUFDRztBYmc2M0JaO0FhajYzQlM7RUFDRztBYm02M0JaO0FhcDYzQlM7RUFDRztBYnM2M0JaO0FhdjYzQlM7RUFDRztBYnk2M0JaO0FhMTYzQlM7RUFDRztBYjQ2M0JaO0FhNzYzQlM7RUFDRztBYis2M0JaO0FhaDczQlM7RUFDRztBYms3M0JaO0FhbjczQlM7RUFDRztBYnE3M0JaO0FhdDczQlM7RUFDRztBYnc3M0JaO0FhejczQlM7RUFDRztBYjI3M0JaO0FhNTczQlM7RUFDRztBYjg3M0JaO0FhLzczQlM7RUFDRztBYmk4M0JaO0FhbDgzQlM7RUFDRztBYm84M0JaO0FhcjgzQlM7RUFDRztBYnU4M0JaO0FheDgzQlM7RUFDRztBYjA4M0JaO0FhMzgzQlM7RUFDRztBYjY4M0JaO0FhOTgzQlM7RUFDRztBYmc5M0JaO0FhajkzQlM7RUFDRztBYm05M0JaO0FhcDkzQlM7RUFDRztBYnM5M0JaO0FhdjkzQlM7RUFDRztBYnk5M0JaO0FhMTkzQlM7RUFDRztBYjQ5M0JaO0FhNzkzQlM7RUFDRztBYis5M0JaO0FhaCszQlM7RUFDRztBYmsrM0JaO0FhbiszQlM7RUFDRztBYnErM0JaO0FhdCszQlM7RUFDRztBYncrM0JaO0FheiszQlM7RUFDRztBYjIrM0JaO0FhNSszQlM7RUFDRztBYjgrM0JaO0FhLyszQlM7RUFDRztBYmkvM0JaO0FhbC8zQlM7RUFDRztBYm8vM0JaO0Fhci8zQlM7RUFDRztBYnUvM0JaO0FheC8zQlM7RUFDRztBYjAvM0JaO0FhMy8zQlM7RUFDRztBYjYvM0JaO0FhOS8zQlM7RUFDRztBYmdnNEJaO0Fhamc0QlM7RUFDRztBYm1nNEJaO0FhcGc0QlM7RUFDRztBYnNnNEJaO0Fhdmc0QlM7RUFDRztBYnlnNEJaO0FhMWc0QlM7RUFDRztBYjRnNEJaO0FhN2c0QlM7RUFDRztBYitnNEJaO0FhaGg0QlM7RUFDRztBYmtoNEJaO0Fhbmg0QlM7RUFDRztBYnFoNEJaO0FhdGg0QlM7RUFDRztBYndoNEJaO0Fhemg0QlM7RUFDRztBYjJoNEJaO0FhNWg0QlM7RUFDRztBYjhoNEJaO0FhL2g0QlM7RUFDRztBYmlpNEJaO0FhbGk0QlM7RUFDRztBYm9pNEJaO0Fhcmk0QlM7RUFDRztBYnVpNEJaO0FheGk0QlM7RUFDRztBYjBpNEJaO0FhM2k0QlM7RUFDRztBYjZpNEJaO0FhOWk0QlM7RUFDRztBYmdqNEJaO0Fhamo0QlM7RUFDRztBYm1qNEJaO0FhcGo0QlM7RUFDRztBYnNqNEJaO0Fhdmo0QlM7RUFDRztBYnlqNEJaO0FhMWo0QlM7RUFDRztBYjRqNEJaO0FhN2o0QlM7RUFDRztBYitqNEJaO0FhaGs0QlM7RUFDRztBYmtrNEJaO0Fhbms0QlM7RUFDRztBYnFrNEJaO0FhdGs0QlM7RUFDRztBYndrNEJaO0Fhems0QlM7RUFDRztBYjJrNEJaO0FhNWs0QlM7RUFDRztBYjhrNEJaO0FhL2s0QlM7RUFDRztBYmlsNEJaO0FhbGw0QlM7RUFDRztBYm9sNEJaO0Fhcmw0QlM7RUFDRztBYnVsNEJaO0FheGw0QlM7RUFDRztBYjBsNEJaO0FhM2w0QlM7RUFDRztBYjZsNEJaO0FhOWw0QlM7RUFDRztBYmdtNEJaO0Fham00QlM7RUFDRztBYm1tNEJaO0FhcG00QlM7RUFDRztBYnNtNEJaO0Fhdm00QlM7RUFDRztBYnltNEJaO0FhMW00QlM7RUFDRztBYjRtNEJaO0FhN200QlM7RUFDRztBYittNEJaO0FhaG40QlM7RUFDRztBYmtuNEJaO0Fhbm40QlM7RUFDRztBYnFuNEJaO0FhdG40QlM7RUFDRztBYnduNEJaO0Fhem40QlM7RUFDRztBYjJuNEJaO0FhNW40QlM7RUFDRztBYjhuNEJaO0FhL240QlM7RUFDRztBYmlvNEJaO0FhbG80QlM7RUFDRztBYm9vNEJaO0Fhcm80QlM7RUFDRztBYnVvNEJaO0FheG80QlM7RUFDRztBYjBvNEJaO0FhM280QlM7RUFDRztBYjZvNEJaO0FhOW80QlM7RUFDRztBYmdwNEJaO0FhanA0QlM7RUFDRztBYm1wNEJaO0FhcHA0QlM7RUFDRztBYnNwNEJaO0FhdnA0QlM7RUFDRztBYnlwNEJaO0FhMXA0QlM7RUFDRztBYjRwNEJaO0FhN3A0QlM7RUFDRztBYitwNEJaO0FhaHE0QlM7RUFDRztBYmtxNEJaO0FhbnE0QlM7RUFDRztBYnFxNEJaO0FhdHE0QlM7RUFDRztBYndxNEJaO0FhenE0QlM7RUFDRztBYjJxNEJaO0FhNXE0QlM7RUFDRztBYjhxNEJaO0FhL3E0QlM7RUFDRztBYmlyNEJaO0FhbHI0QlM7RUFDRztBYm9yNEJaO0FhcnI0QlM7RUFDRztBYnVyNEJaO0FheHI0QlM7RUFDRztBYjByNEJaO0FhM3I0QlM7RUFDRztBYjZyNEJaO0FhOXI0QlM7RUFDRztBYmdzNEJaO0FhanM0QlM7RUFDRztBYm1zNEJaO0FhcHM0QlM7RUFDRztBYnNzNEJaO0FhdnM0QlM7RUFDRztBYnlzNEJaO0FhMXM0QlM7RUFDRztBYjRzNEJaO0FhN3M0QlM7RUFDRztBYitzNEJaO0FhaHQ0QlM7RUFDRztBYmt0NEJaO0FhbnQ0QlM7RUFDRztBYnF0NEJaO0FhdHQ0QlM7RUFDRztBYnd0NEJaO0FhenQ0QlM7RUFDRztBYjJ0NEJaO0FhNXQ0QlM7RUFDRztBYjh0NEJaO0FhL3Q0QlM7RUFDRztBYml1NEJaO0FhbHU0QlM7RUFDRztBYm91NEJaO0FhcnU0QlM7RUFDRztBYnV1NEJaO0FheHU0QlM7RUFDRztBYjB1NEJaO0FhM3U0QlM7RUFDRztBYjZ1NEJaO0FhOXU0QlM7RUFDRztBYmd2NEJaO0FhanY0QlM7RUFDRztBYm12NEJaO0FhcHY0QlM7RUFDRztBYnN2NEJaO0FhdnY0QlM7RUFDRztBYnl2NEJaO0FhMXY0QlM7RUFDRztBYjR2NEJaO0FhN3Y0QlM7RUFDRztBYit2NEJaO0FhaHc0QlM7RUFDRztBYmt3NEJaO0Fhbnc0QlM7RUFDRztBYnF3NEJaO0FhdHc0QlM7RUFDRztBYnd3NEJaO0Fhenc0QlM7RUFDRztBYjJ3NEJaO0FhNXc0QlM7RUFDRztBYjh3NEJaO0FhL3c0QlM7RUFDRztBYml4NEJaO0FhbHg0QlM7RUFDRztBYm94NEJaO0Fhcng0QlM7RUFDRztBYnV4NEJaO0FheHg0QlM7RUFDRztBYjB4NEJaO0FhM3g0QlM7RUFDRztBYjZ4NEJaO0FhOXg0QlM7RUFDRztBYmd5NEJaO0Fhank0QlM7RUFDRztBYm15NEJaO0FhcHk0QlM7RUFDRztBYnN5NEJaO0Fhdnk0QlM7RUFDRztBYnl5NEJaO0FhMXk0QlM7RUFDRztBYjR5NEJaO0FhN3k0QlM7RUFDRztBYit5NEJaO0FhaHo0QlM7RUFDRztBYmt6NEJaO0Fhbno0QlM7RUFDRztBYnF6NEJaO0FhdHo0QlM7RUFDRztBYnd6NEJaO0Fheno0QlM7RUFDRztBYjJ6NEJaO0FhNXo0QlM7RUFDRztBYjh6NEJaO0FhL3o0QlM7RUFDRztBYmkwNEJaO0FhbDA0QlM7RUFDRztBYm8wNEJaO0FhcjA0QlM7RUFDRztBYnUwNEJaO0FheDA0QlM7RUFDRztBYjAwNEJaO0FhMzA0QlM7RUFDRztBYjYwNEJaO0FhOTA0QlM7RUFDRztBYmcxNEJaO0FhajE0QlM7RUFDRztBYm0xNEJaO0FhcDE0QlM7RUFDRztBYnMxNEJaO0FhdjE0QlM7RUFDRztBYnkxNEJaO0FhMTE0QlM7RUFDRztBYjQxNEJaO0FhNzE0QlM7RUFDRztBYisxNEJaO0FhaDI0QlM7RUFDRztBYmsyNEJaO0FhbjI0QlM7RUFDRztBYnEyNEJaO0FhdDI0QlM7RUFDRztBYncyNEJaO0FhejI0QlM7RUFDRztBYjIyNEJaO0FhNTI0QlM7RUFDRztBYjgyNEJaO0FhLzI0QlM7RUFDRztBYmkzNEJaO0FhbDM0QlM7RUFDRztBYm8zNEJaO0FhcjM0QlM7RUFDRztBYnUzNEJaO0FheDM0QlM7RUFDRztBYjAzNEJaO0FhMzM0QlM7RUFDRztBYjYzNEJaO0FhOTM0QlM7RUFDRztBYmc0NEJaO0FhajQ0QlM7RUFDRztBYm00NEJaO0FhcDQ0QlM7RUFDRztBYnM0NEJaO0FhdjQ0QlM7RUFDRztBYnk0NEJaO0FhMTQ0QlM7RUFDRztBYjQ0NEJaO0FhNzQ0QlM7RUFDRztBYis0NEJaO0FhaDU0QlM7RUFDRztBYms1NEJaO0FhbjU0QlM7RUFDRztBYnE1NEJaO0FhdDU0QlM7RUFDRztBYnc1NEJaO0FhejU0QlM7RUFDRztBYjI1NEJaO0FhNTU0QlM7RUFDRztBYjg1NEJaO0FhLzU0QlM7RUFDRztBYmk2NEJaO0FhbDY0QlM7RUFDRztBYm82NEJaO0FhcjY0QlM7RUFDRztBYnU2NEJaO0FheDY0QlM7RUFDRztBYjA2NEJaO0FhMzY0QlM7RUFDRztBYjY2NEJaO0FhOTY0QlM7RUFDRztBYmc3NEJaO0Fhajc0QlM7RUFDRztBYm03NEJaO0FhcDc0QlM7RUFDRztBYnM3NEJaO0Fhdjc0QlM7RUFDRztBYnk3NEJaO0FhMTc0QlM7RUFDRztBYjQ3NEJaO0FhNzc0QlM7RUFDRztBYis3NEJaO0FhaDg0QlM7RUFDRztBYms4NEJaO0Fhbjg0QlM7RUFDRztBYnE4NEJaO0FhdDg0QlM7RUFDRztBYnc4NEJaO0Fhejg0QlM7RUFDRztBYjI4NEJaO0FhNTg0QlM7RUFDRztBYjg4NEJaO0FhLzg0QlM7RUFDRztBYmk5NEJaO0FhbDk0QlM7RUFDRztBYm85NEJaO0Fhcjk0QlM7RUFDRztBYnU5NEJaO0FheDk0QlM7RUFDRztBYjA5NEJaO0FhMzk0QlM7RUFDRztBYjY5NEJaO0FhOTk0QlM7RUFDRztBYmcrNEJaO0Fhais0QlM7RUFDRztBYm0rNEJaO0FhcCs0QlM7RUFDRztBYnMrNEJaO0Fhdis0QlM7RUFDRztBYnkrNEJaO0FhMSs0QlM7RUFDRztBYjQrNEJaO0FhNys0QlM7RUFDRztBYisrNEJaO0FhaC80QlM7RUFDRztBYmsvNEJaO0Fhbi80QlM7RUFDRztBYnEvNEJaO0FhdC80QlM7RUFDRztBYncvNEJaO0Fhei80QlM7RUFDRztBYjIvNEJaO0FhNS80QlM7RUFDRztBYjgvNEJaO0FhLy80QlM7RUFDRztBYmlnNUJaO0FhbGc1QlM7RUFDRztBYm9nNUJaO0Fhcmc1QlM7RUFDRztBYnVnNUJaO0FheGc1QlM7RUFDRztBYjBnNUJaO0FhM2c1QlM7RUFDRztBYjZnNUJaO0FhOWc1QlM7RUFDRztBYmdoNUJaO0Fhamg1QlM7RUFDRztBYm1oNUJaO0FhcGg1QlM7RUFDRztBYnNoNUJaO0Fhdmg1QlM7RUFDRztBYnloNUJaO0FhMWg1QlM7RUFDRztBYjRoNUJaO0FhN2g1QlM7RUFDRztBYitoNUJaO0FhaGk1QlM7RUFDRztBYmtpNUJaO0Fhbmk1QlM7RUFDRztBYnFpNUJaO0FhdGk1QlM7RUFDRztBYndpNUJaO0Fhemk1QlM7RUFDRztBYjJpNUJaO0FhNWk1QlM7RUFDRztBYjhpNUJaO0FhL2k1QlM7RUFDRztBYmlqNUJaO0FhbGo1QlM7RUFDRztBYm9qNUJaO0Fhcmo1QlM7RUFDRztBYnVqNUJaO0FheGo1QlM7RUFDRztBYjBqNUJaO0FhM2o1QlM7RUFDRztBYjZqNUJaO0FhOWo1QlM7RUFDRztBYmdrNUJaO0Fhams1QlM7RUFDRztBYm1rNUJaO0FhcGs1QlM7RUFDRztBYnNrNUJaO0Fhdms1QlM7RUFDRztBYnlrNUJaO0FhMWs1QlM7RUFDRztBYjRrNUJaO0FhN2s1QlM7RUFDRztBYitrNUJaO0FhaGw1QlM7RUFDRztBYmtsNUJaO0Fhbmw1QlM7RUFDRztBYnFsNUJaO0FhdGw1QlM7RUFDRztBYndsNUJaO0Fhemw1QlM7RUFDRztBYjJsNUJaO0FhNWw1QlM7RUFDRztBYjhsNUJaO0FhL2w1QlM7RUFDRztBYmltNUJaO0FhbG01QlM7RUFDRztBYm9tNUJaO0Fhcm01QlM7RUFDRztBYnVtNUJaO0FheG01QlM7RUFDRztBYjBtNUJaO0FhM201QlM7RUFDRztBYjZtNUJaO0FhOW01QlM7RUFDRztBYmduNUJaO0Fham41QlM7RUFDRztBYm1uNUJaO0FhcG41QlM7RUFDRztBYnNuNUJaO0Fhdm41QlM7RUFDRztBYnluNUJaO0FhMW41QlM7RUFDRztBYjRuNUJaO0FhN241QlM7RUFDRztBYituNUJaO0FhaG81QlM7RUFDRztBYmtvNUJaO0Fhbm81QlM7RUFDRztBYnFvNUJaO0FhdG81QlM7RUFDRztBYndvNUJaO0Fhem81QlM7RUFDRztBYjJvNUJaO0FhNW81QlM7RUFDRztBYjhvNUJaO0FhL281QlM7RUFDRztBYmlwNUJaO0FhbHA1QlM7RUFDRztBYm9wNUJaO0FhcnA1QlM7RUFDRztBYnVwNUJaO0FheHA1QlM7RUFDRztBYjBwNUJaO0FhM3A1QlM7RUFDRztBYjZwNUJaO0FhOXA1QlM7RUFDRztBYmdxNUJaO0FhanE1QlM7RUFDRztBYm1xNUJaO0FhcHE1QlM7RUFDRztBYnNxNUJaO0FhdnE1QlM7RUFDRztBYnlxNUJaO0FhMXE1QlM7RUFDRztBYjRxNUJaO0FhN3E1QlM7RUFDRztBYitxNUJaO0FhaHI1QlM7RUFDRztBYmtyNUJaO0FhbnI1QlM7RUFDRztBYnFyNUJaO0FhdHI1QlM7RUFDRztBYndyNUJaO0FhenI1QlM7RUFDRztBYjJyNUJaO0FhNXI1QlM7RUFDRztBYjhyNUJaO0FhL3I1QlM7RUFDRztBYmlzNUJaO0FhbHM1QlM7RUFDRztBYm9zNUJaO0FhcnM1QlM7RUFDRztBYnVzNUJaO0FheHM1QlM7RUFDRztBYjBzNUJaO0FhM3M1QlM7RUFDRztBYjZzNUJaO0FhOXM1QlM7RUFDRztBYmd0NUJaO0FhanQ1QlM7RUFDRztBYm10NUJaO0FhcHQ1QlM7RUFDRztBYnN0NUJaO0FhdnQ1QlM7RUFDRztBYnl0NUJaO0FhMXQ1QlM7RUFDRztBYjR0NUJaO0FhN3Q1QlM7RUFDRztBYit0NUJaO0FhaHU1QlM7RUFDRztBYmt1NUJaO0FhbnU1QlM7RUFDRztBYnF1NUJaO0FhdHU1QlM7RUFDRztBYnd1NUJaO0FhenU1QlM7RUFDRztBYjJ1NUJaO0FhNXU1QlM7RUFDRztBYjh1NUJaO0FhL3U1QlM7RUFDRztBYml2NUJaO0FhbHY1QlM7RUFDRztBYm92NUJaO0FhcnY1QlM7RUFDRztBYnV2NUJaO0FheHY1QlM7RUFDRztBYjB2NUJaO0FhM3Y1QlM7RUFDRztBYjZ2NUJaO0FhOXY1QlM7RUFDRztBYmd3NUJaO0Fhanc1QlM7RUFDRztBYm13NUJaO0FhcHc1QlM7RUFDRztBYnN3NUJaO0Fhdnc1QlM7RUFDRztBYnl3NUJaO0FhMXc1QlM7RUFDRztBYjR3NUJaO0FhN3c1QlM7RUFDRztBYit3NUJaO0FhaHg1QlM7RUFDRztBYmt4NUJaO0Fhbng1QlM7RUFDRztBYnF4NUJaO0FhdHg1QlM7RUFDRztBYnd4NUJaO0Fheng1QlM7RUFDRztBYjJ4NUJaO0FhNXg1QlM7RUFDRztBYjh4NUJaO0FhL3g1QlM7RUFDRztBYml5NUJaO0FhbHk1QlM7RUFDRztBYm95NUJaO0Fhcnk1QlM7RUFDRztBYnV5NUJaO0FheHk1QlM7RUFDRztBYjB5NUJaO0FhM3k1QlM7RUFDRztBYjZ5NUJaO0FhOXk1QlM7RUFDRztBYmd6NUJaO0Fhano1QlM7RUFDRztBYm16NUJaO0FhcHo1QlM7RUFDRztBYnN6NUJaO0Fhdno1QlM7RUFDRztBYnl6NUJaO0FhMXo1QlM7RUFDRztBYjR6NUJaO0FhN3o1QlM7RUFDRztBYit6NUJaO0FhaDA1QlM7RUFDRztBYmswNUJaO0FhbjA1QlM7RUFDRztBYnEwNUJaO0FhdDA1QlM7RUFDRztBYncwNUJaO0FhejA1QlM7RUFDRztBYjIwNUJaO0FhNTA1QlM7RUFDRztBYjgwNUJaO0FhLzA1QlM7RUFDRztBYmkxNUJaO0FhbDE1QlM7RUFDRztBYm8xNUJaO0FhcjE1QlM7RUFDRztBYnUxNUJaO0FheDE1QlM7RUFDRztBYjAxNUJaO0FhMzE1QlM7RUFDRztBYjYxNUJaO0FhOTE1QlM7RUFDRztBYmcyNUJaO0FhajI1QlM7RUFDRztBYm0yNUJaO0FhcDI1QlM7RUFDRztBYnMyNUJaO0FhdjI1QlM7RUFDRztBYnkyNUJaO0FhMTI1QlM7RUFDRztBYjQyNUJaO0FhNzI1QlM7RUFDRztBYisyNUJaO0FhaDM1QlM7RUFDRztBYmszNUJaO0FhbjM1QlM7RUFDRztBYnEzNUJaO0FhdDM1QlM7RUFDRztBYnczNUJaO0FhejM1QlM7RUFDRztBYjIzNUJaO0FhNTM1QlM7RUFDRztBYjgzNUJaO0FhLzM1QlM7RUFDRztBYmk0NUJaO0FhbDQ1QlM7RUFDRztBYm80NUJaO0FhcjQ1QlM7RUFDRztBYnU0NUJaO0FheDQ1QlM7RUFDRztBYjA0NUJaO0FhMzQ1QlM7RUFDRztBYjY0NUJaO0FhOTQ1QlM7RUFDRztBYmc1NUJaO0FhajU1QlM7RUFDRztBYm01NUJaO0FhcDU1QlM7RUFDRztBYnM1NUJaO0FhdjU1QlM7RUFDRztBYnk1NUJaO0FhMTU1QlM7RUFDRztBYjQ1NUJaO0FhNzU1QlM7RUFDRztBYis1NUJaO0FhaDY1QlM7RUFDRztBYms2NUJaO0FhbjY1QlM7RUFDRztBYnE2NUJaO0FhdDY1QlM7RUFDRztBYnc2NUJaO0FhejY1QlM7RUFDRztBYjI2NUJaO0FhNTY1QlM7RUFDRztBYjg2NUJaO0FhLzY1QlM7RUFDRztBYmk3NUJaO0FhbDc1QlM7RUFDRztBYm83NUJaO0Fhcjc1QlM7RUFDRztBYnU3NUJaO0FheDc1QlM7RUFDRztBYjA3NUJaO0FhMzc1QlM7RUFDRztBYjY3NUJaO0FhOTc1QlM7RUFDRztBYmc4NUJaO0Fhajg1QlM7RUFDRztBYm04NUJaO0FhcDg1QlM7RUFDRztBYnM4NUJaO0Fhdjg1QlM7RUFDRztBYnk4NUJaO0FhMTg1QlM7RUFDRztBYjQ4NUJaO0FhNzg1QlM7RUFDRztBYis4NUJaO0FhaDk1QlM7RUFDRztBYms5NUJaO0Fhbjk1QlM7RUFDRztBYnE5NUJaO0FhdDk1QlM7RUFDRztBYnc5NUJaO0Fhejk1QlM7RUFDRztBYjI5NUJaO0FhNTk1QlM7RUFDRztBYjg5NUJaO0FhLzk1QlM7RUFDRztBYmkrNUJaO0FhbCs1QlM7RUFDRztBYm8rNUJaO0Fhcis1QlM7RUFDRztBYnUrNUJaO0FheCs1QlM7RUFDRztBYjArNUJaO0FhMys1QlM7RUFDRztBYjYrNUJaO0FhOSs1QlM7RUFDRztBYmcvNUJaO0Fhai81QlM7RUFDRztBYm0vNUJaO0FhcC81QlM7RUFDRztBYnMvNUJaO0Fhdi81QlM7RUFDRztBYnkvNUJaO0FhMS81QlM7RUFDRztBYjQvNUJaO0FhNy81QlM7RUFDRztBYisvNUJaO0FhaGc2QlM7RUFDRztBYmtnNkJaO0Fhbmc2QlM7RUFDRztBYnFnNkJaO0FhdGc2QlM7RUFDRztBYndnNkJaO0Fhemc2QlM7RUFDRztBYjJnNkJaO0FhNWc2QlM7RUFDRztBYjhnNkJaO0FhL2c2QlM7RUFDRztBYmloNkJaO0FhbGg2QlM7RUFDRztBYm9oNkJaO0Fhcmg2QlM7RUFDRztBYnVoNkJaO0FheGg2QlM7RUFDRztBYjBoNkJaO0FhM2g2QlM7RUFDRztBYjZoNkJaO0FhOWg2QlM7RUFDRztBYmdpNkJaO0Fhamk2QlM7RUFDRztBYm1pNkJaO0FhcGk2QlM7RUFDRztBYnNpNkJaO0Fhdmk2QlM7RUFDRztBYnlpNkJaO0FhMWk2QlM7RUFDRztBYjRpNkJaO0FhN2k2QlM7RUFDRztBYitpNkJaO0FhaGo2QlM7RUFDRztBYmtqNkJaO0Fhbmo2QlM7RUFDRztBYnFqNkJaO0FhdGo2QlM7RUFDRztBYndqNkJaO0Fhemo2QlM7RUFDRztBYjJqNkJaO0FhNWo2QlM7RUFDRztBYjhqNkJaO0FhL2o2QlM7RUFDRztBYmlrNkJaO0FhbGs2QlM7RUFDRztBYm9rNkJaO0Fhcms2QlM7RUFDRztBYnVrNkJaO0FheGs2QlM7RUFDRztBYjBrNkJaO0FhM2s2QlM7RUFDRztBYjZrNkJaO0FhOWs2QlM7RUFDRztBYmdsNkJaO0Fhamw2QlM7RUFDRztBYm1sNkJaO0FhcGw2QlM7RUFDRztBYnNsNkJaO0Fhdmw2QlM7RUFDRztBYnlsNkJaO0FhMWw2QlM7RUFDRztBYjRsNkJaO0FhN2w2QlM7RUFDRztBYitsNkJaO0FhaG02QlM7RUFDRztBYmttNkJaO0Fhbm02QlM7RUFDRztBYnFtNkJaO0FhdG02QlM7RUFDRztBYndtNkJaO0Fhem02QlM7RUFDRztBYjJtNkJaO0FhNW02QlM7RUFDRztBYjhtNkJaO0FhL202QlM7RUFDRztBYmluNkJaO0FhbG42QlM7RUFDRztBYm9uNkJaO0Fhcm42QlM7RUFDRztBYnVuNkJaO0FheG42QlM7RUFDRztBYjBuNkJaO0FhM242QlM7RUFDRztBYjZuNkJaO0FhOW42QlM7RUFDRztBYmdvNkJaO0Fham82QlM7RUFDRztBYm1vNkJaO0FhcG82QlM7RUFDRztBYnNvNkJaO0Fhdm82QlM7RUFDRztBYnlvNkJaO0FhMW82QlM7RUFDRztBYjRvNkJaO0FhN282QlM7RUFDRztBYitvNkJaO0FhaHA2QlM7RUFDRztBYmtwNkJaO0FhbnA2QlM7RUFDRztBYnFwNkJaO0FhdHA2QlM7RUFDRztBYndwNkJaO0FhenA2QlM7RUFDRztBYjJwNkJaO0FhNXA2QlM7RUFDRztBYjhwNkJaO0FhL3A2QlM7RUFDRztBYmlxNkJaO0FhbHE2QlM7RUFDRztBYm9xNkJaO0FhcnE2QlM7RUFDRztBYnVxNkJaO0FheHE2QlM7RUFDRztBYjBxNkJaO0FhM3E2QlM7RUFDRztBYjZxNkJaO0FhOXE2QlM7RUFDRztBYmdyNkJaO0FhanI2QlM7RUFDRztBYm1yNkJaO0FhcHI2QlM7RUFDRztBYnNyNkJaO0FhdnI2QlM7RUFDRztBYnlyNkJaO0FhMXI2QlM7RUFDRztBYjRyNkJaO0FhN3I2QlM7RUFDRztBYityNkJaO0FhaHM2QlM7RUFDRztBYmtzNkJaO0FhbnM2QlM7RUFDRztBYnFzNkJaO0FhdHM2QlM7RUFDRztBYndzNkJaO0FhenM2QlM7RUFDRztBYjJzNkJaO0FhNXM2QlM7RUFDRztBYjhzNkJaO0FhL3M2QlM7RUFDRztBYml0NkJaO0FhbHQ2QlM7RUFDRztBYm90NkJaO0FhcnQ2QlM7RUFDRztBYnV0NkJaO0FheHQ2QlM7RUFDRztBYjB0NkJaO0FhM3Q2QlM7RUFDRztBYjZ0NkJaO0FhOXQ2QlM7RUFDRztBYmd1NkJaO0FhanU2QlM7RUFDRztBYm11NkJaO0FhcHU2QlM7RUFDRztBYnN1NkJaO0FhdnU2QlM7RUFDRztBYnl1NkJaO0FhMXU2QlM7RUFDRztBYjR1NkJaO0FhN3U2QlM7RUFDRztBYit1NkJaO0FhaHY2QlM7RUFDRztBYmt2NkJaO0FhbnY2QlM7RUFDRztBYnF2NkJaO0FhdHY2QlM7RUFDRztBYnd2NkJaO0FhenY2QlM7RUFDRztBYjJ2NkJaO0FhNXY2QlM7RUFDRztBYjh2NkJaO0FhL3Y2QlM7RUFDRztBYml3NkJaO0FhbHc2QlM7RUFDRztBYm93NkJaO0Fhcnc2QlM7RUFDRztBYnV3NkJaO0FheHc2QlM7RUFDRztBYjB3NkJaO0FhM3c2QlM7RUFDRztBYjZ3NkJaO0FhOXc2QlM7RUFDRztBYmd4NkJaO0Fhang2QlM7RUFDRztBYm14NkJaO0FhcHg2QlM7RUFDRztBYnN4NkJaO0Fhdng2QlM7RUFDRztBYnl4NkJaO0FhMXg2QlM7RUFDRztBYjR4NkJaO0FhN3g2QlM7RUFDRztBYit4NkJaO0FhaHk2QlM7RUFDRztBYmt5NkJaO0Fhbnk2QlM7RUFDRztBYnF5NkJaO0FhdHk2QlM7RUFDRztBYnd5NkJaO0Fhenk2QlM7RUFDRztBYjJ5NkJaO0FhNXk2QlM7RUFDRztBYjh5NkJaO0FhL3k2QlM7RUFDRztBYml6NkJaO0FhbHo2QlM7RUFDRztBYm96NkJaO0Fhcno2QlM7RUFDRztBYnV6NkJaO0FheHo2QlM7RUFDRztBYjB6NkJaO0FhM3o2QlM7RUFDRztBYjZ6NkJaO0FhOXo2QlM7RUFDRztBYmcwNkJaO0FhajA2QlM7RUFDRztBYm0wNkJaO0FhcDA2QlM7RUFDRztBYnMwNkJaO0FhdjA2QlM7RUFDRztBYnkwNkJaO0FhMTA2QlM7RUFDRztBYjQwNkJaO0FhNzA2QlM7RUFDRztBYiswNkJaO0FhaDE2QlM7RUFDRztBYmsxNkJaO0FhbjE2QlM7RUFDRztBYnExNkJaO0FhdDE2QlM7RUFDRztBYncxNkJaO0FhejE2QlM7RUFDRztBYjIxNkJaO0FhNTE2QlM7RUFDRztBYjgxNkJaO0FhLzE2QlM7RUFDRztBYmkyNkJaO0FhbDI2QlM7RUFDRztBYm8yNkJaO0FhcjI2QlM7RUFDRztBYnUyNkJaO0FheDI2QlM7RUFDRztBYjAyNkJaO0FhMzI2QlM7RUFDRztBYjYyNkJaO0FhOTI2QlM7RUFDRztBYmczNkJaO0FhajM2QlM7RUFDRztBYm0zNkJaO0FhcDM2QlM7RUFDRztBYnMzNkJaO0FhdjM2QlM7RUFDRztBYnkzNkJaO0FhMTM2QlM7RUFDRztBYjQzNkJaO0FhNzM2QlM7RUFDRztBYiszNkJaO0FhaDQ2QlM7RUFDRztBYms0NkJaO0FhbjQ2QlM7RUFDRztBYnE0NkJaO0FhdDQ2QlM7RUFDRztBYnc0NkJaO0FhejQ2QlM7RUFDRztBYjI0NkJaO0FhNTQ2QlM7RUFDRztBYjg0NkJaO0FhLzQ2QlM7RUFDRztBYmk1NkJaO0FhbDU2QlM7RUFDRztBYm81NkJaO0FhcjU2QlM7RUFDRztBYnU1NkJaO0FheDU2QlM7RUFDRztBYjA1NkJaO0FhMzU2QlM7RUFDRztBYjY1NkJaO0FhOTU2QlM7RUFDRztBYmc2NkJaO0FhajY2QlM7RUFDRztBYm02NkJaO0FhcDY2QlM7RUFDRztBYnM2NkJaO0FhdjY2QlM7RUFDRztBYnk2NkJaO0FhMTY2QlM7RUFDRztBYjQ2NkJaO0FhNzY2QlM7RUFDRztBYis2NkJaO0FhaDc2QlM7RUFDRztBYms3NkJaO0Fhbjc2QlM7RUFDRztBYnE3NkJaO0FhdDc2QlM7RUFDRztBYnc3NkJaO0Fhejc2QlM7RUFDRztBYjI3NkJaO0FhNTc2QlM7RUFDRztBYjg3NkJaO0FhLzc2QlM7RUFDRztBYmk4NkJaO0FhbDg2QlM7RUFDRztBYm84NkJaO0Fhcjg2QlM7RUFDRztBYnU4NkJaO0FheDg2QlM7RUFDRztBYjA4NkJaO0FhMzg2QlM7RUFDRztBYjY4NkJaO0FhOTg2QlM7RUFDRztBYmc5NkJaO0Fhajk2QlM7RUFDRztBYm05NkJaO0FhcDk2QlM7RUFDRztBYnM5NkJaO0Fhdjk2QlM7RUFDRztBYnk5NkJaO0FhMTk2QlM7RUFDRztBYjQ5NkJaO0FhNzk2QlM7RUFDRztBYis5NkJaO0FhaCs2QlM7RUFDRztBYmsrNkJaO0Fhbis2QlM7RUFDRztBYnErNkJaO0FhdCs2QlM7RUFDRztBYncrNkJaO0Fheis2QlM7RUFDRztBYjIrNkJaO0FhNSs2QlM7RUFDRztBYjgrNkJaO0FhLys2QlM7RUFDRztBYmkvNkJaO0FhbC82QlM7RUFDRztBYm8vNkJaO0Fhci82QlM7RUFDRztBYnUvNkJaO0FheC82QlM7RUFDRztBYjAvNkJaO0FhMy82QlM7RUFDRztBYjYvNkJaO0FhOS82QlM7RUFDRztBYmdnN0JaO0Fhamc3QlM7RUFDRztBYm1nN0JaO0FhcGc3QlM7RUFDRztBYnNnN0JaO0Fhdmc3QlM7RUFDRztBYnlnN0JaO0FhMWc3QlM7RUFDRztBYjRnN0JaO0FhN2c3QlM7RUFDRztBYitnN0JaO0FhaGg3QlM7RUFDRztBYmtoN0JaO0Fhbmg3QlM7RUFDRztBYnFoN0JaO0FhdGg3QlM7RUFDRztBYndoN0JaO0Fhemg3QlM7RUFDRztBYjJoN0JaO0FhNWg3QlM7RUFDRztBYjhoN0JaO0FhL2g3QlM7RUFDRztBYmlpN0JaO0FhbGk3QlM7RUFDRztBYm9pN0JaO0Fhcmk3QlM7RUFDRztBYnVpN0JaO0FheGk3QlM7RUFDRztBYjBpN0JaO0FhM2k3QlM7RUFDRztBYjZpN0JaO0FhOWk3QlM7RUFDRztBYmdqN0JaO0Fhamo3QlM7RUFDRztBYm1qN0JaO0FhcGo3QlM7RUFDRztBYnNqN0JaO0Fhdmo3QlM7RUFDRztBYnlqN0JaO0FhMWo3QlM7RUFDRztBYjRqN0JaO0FhN2o3QlM7RUFDRztBYitqN0JaO0FhaGs3QlM7RUFDRztBYmtrN0JaO0Fhbms3QlM7RUFDRztBYnFrN0JaO0FhdGs3QlM7RUFDRztBYndrN0JaO0Fhems3QlM7RUFDRztBYjJrN0JaO0FhNWs3QlM7RUFDRztBYjhrN0JaO0FhL2s3QlM7RUFDRztBYmlsN0JaO0FhbGw3QlM7RUFDRztBYm9sN0JaO0Fhcmw3QlM7RUFDRztBYnVsN0JaO0FheGw3QlM7RUFDRztBYjBsN0JaO0FhM2w3QlM7RUFDRztBYjZsN0JaO0FhOWw3QlM7RUFDRztBYmdtN0JaO0Fham03QlM7RUFDRztBYm1tN0JaO0FhcG03QlM7RUFDRztBYnNtN0JaO0Fhdm03QlM7RUFDRztBYnltN0JaO0FhMW03QlM7RUFDRztBYjRtN0JaO0FhN203QlM7RUFDRztBYittN0JaO0FhaG43QlM7RUFDRztBYmtuN0JaO0Fhbm43QlM7RUFDRztBYnFuN0JaO0FhdG43QlM7RUFDRztBYnduN0JaO0Fhem43QlM7RUFDRztBYjJuN0JaO0FhNW43QlM7RUFDRztBYjhuN0JaO0FhL243QlM7RUFDRztBYmlvN0JaO0FhbG83QlM7RUFDRztBYm9vN0JaO0Fhcm83QlM7RUFDRztBYnVvN0JaO0FheG83QlM7RUFDRztBYjBvN0JaO0FhM283QlM7RUFDRztBYjZvN0JaO0FhOW83QlM7RUFDRztBYmdwN0JaO0FhanA3QlM7RUFDRztBYm1wN0JaO0FhcHA3QlM7RUFDRztBYnNwN0JaO0FhdnA3QlM7RUFDRztBYnlwN0JaO0FhMXA3QlM7RUFDRztBYjRwN0JaO0FhN3A3QlM7RUFDRztBYitwN0JaO0FhaHE3QlM7RUFDRztBYmtxN0JaO0FhbnE3QlM7RUFDRztBYnFxN0JaO0FhdHE3QlM7RUFDRztBYndxN0JaO0FhenE3QlM7RUFDRztBYjJxN0JaO0FhNXE3QlM7RUFDRztBYjhxN0JaO0FhL3E3QlM7RUFDRztBYmlyN0JaO0FhbHI3QlM7RUFDRztBYm9yN0JaO0FhcnI3QlM7RUFDRztBYnVyN0JaO0FheHI3QlM7RUFDRztBYjByN0JaO0FhM3I3QlM7RUFDRztBYjZyN0JaO0FhOXI3QlM7RUFDRztBYmdzN0JaO0FhanM3QlM7RUFDRztBYm1zN0JaO0FhcHM3QlM7RUFDRztBYnNzN0JaO0FhdnM3QlM7RUFDRztBYnlzN0JaO0FhMXM3QlM7RUFDRztBYjRzN0JaO0FhN3M3QlM7RUFDRztBYitzN0JaO0FhaHQ3QlM7RUFDRztBYmt0N0JaO0FhbnQ3QlM7RUFDRztBYnF0N0JaO0FhdHQ3QlM7RUFDRztBYnd0N0JaO0FhenQ3QlM7RUFDRztBYjJ0N0JaO0FhNXQ3QlM7RUFDRztBYjh0N0JaO0FhL3Q3QlM7RUFDRztBYml1N0JaO0FhbHU3QlM7RUFDRztBYm91N0JaO0FhcnU3QlM7RUFDRztBYnV1N0JaO0FheHU3QlM7RUFDRztBYjB1N0JaO0FhM3U3QlM7RUFDRztBYjZ1N0JaO0FhOXU3QlM7RUFDRztBYmd2N0JaO0FhanY3QlM7RUFDRztBYm12N0JaO0FhcHY3QlM7RUFDRztBYnN2N0JaO0FhdnY3QlM7RUFDRztBYnl2N0JaO0FhMXY3QlM7RUFDRztBYjR2N0JaO0FhN3Y3QlM7RUFDRztBYit2N0JaO0FhaHc3QlM7RUFDRztBYmt3N0JaO0Fhbnc3QlM7RUFDRztBYnF3N0JaO0FhdHc3QlM7RUFDRztBYnd3N0JaO0Fhenc3QlM7RUFDRztBYjJ3N0JaO0FhNXc3QlM7RUFDRztBYjh3N0JaO0FhL3c3QlM7RUFDRztBYml4N0JaO0FhbHg3QlM7RUFDRztBYm94N0JaO0Fhcng3QlM7RUFDRztBYnV4N0JaO0FheHg3QlM7RUFDRztBYjB4N0JaO0FhM3g3QlM7RUFDRztBYjZ4N0JaO0FhOXg3QlM7RUFDRztBYmd5N0JaO0Fhank3QlM7RUFDRztBYm15N0JaO0FhcHk3QlM7RUFDRztBYnN5N0JaO0Fhdnk3QlM7RUFDRztBYnl5N0JaO0FhMXk3QlM7RUFDRztBYjR5N0JaO0FhN3k3QlM7RUFDRztBYit5N0JaO0FhaHo3QlM7RUFDRztBYmt6N0JaO0Fhbno3QlM7RUFDRztBYnF6N0JaO0FhdHo3QlM7RUFDRztBYnd6N0JaO0Fheno3QlM7RUFDRztBYjJ6N0JaO0FhNXo3QlM7RUFDRztBYjh6N0JaO0FhL3o3QlM7RUFDRztBYmkwN0JaO0FhbDA3QlM7RUFDRztBYm8wN0JaO0FhcjA3QlM7RUFDRztBYnUwN0JaO0FheDA3QlM7RUFDRztBYjAwN0JaO0FhMzA3QlM7RUFDRztBYjYwN0JaO0FhOTA3QlM7RUFDRztBYmcxN0JaO0FhajE3QlM7RUFDRztBYm0xN0JaO0FhcDE3QlM7RUFDRztBYnMxN0JaO0FhdjE3QlM7RUFDRztBYnkxN0JaO0FhMTE3QlM7RUFDRztBYjQxN0JaO0FhNzE3QlM7RUFDRztBYisxN0JaO0FhaDI3QlM7RUFDRztBYmsyN0JaO0FhbjI3QlM7RUFDRztBYnEyN0JaO0FhdDI3QlM7RUFDRztBYncyN0JaO0FhejI3QlM7RUFDRztBYjIyN0JaO0FhNTI3QlM7RUFDRztBYjgyN0JaO0FhLzI3QlM7RUFDRztBYmkzN0JaO0FhbDM3QlM7RUFDRztBYm8zN0JaO0FhcjM3QlM7RUFDRztBYnUzN0JaO0FheDM3QlM7RUFDRztBYjAzN0JaO0FhMzM3QlM7RUFDRztBYjYzN0JaO0FhOTM3QlM7RUFDRztBYmc0N0JaO0FhajQ3QlM7RUFDRztBYm00N0JaO0FhcDQ3QlM7RUFDRztBYnM0N0JaO0FhdjQ3QlM7RUFDRztBYnk0N0JaO0FhMTQ3QlM7RUFDRztBYjQ0N0JaO0FhNzQ3QlM7RUFDRztBYis0N0JaO0FhaDU3QlM7RUFDRztBYms1N0JaO0FhbjU3QlM7RUFDRztBYnE1N0JaO0FhdDU3QlM7RUFDRztBYnc1N0JaO0FhejU3QlM7RUFDRztBYjI1N0JaO0FhNTU3QlM7RUFDRztBYjg1N0JaO0FhLzU3QlM7RUFDRztBYmk2N0JaO0FhbDY3QlM7RUFDRztBYm82N0JaO0FhcjY3QlM7RUFDRztBYnU2N0JaO0FheDY3QlM7RUFDRztBYjA2N0JaO0FhMzY3QlM7RUFDRztBYjY2N0JaO0FhOTY3QlM7RUFDRztBYmc3N0JaO0Fhajc3QlM7RUFDRztBYm03N0JaO0FhcDc3QlM7RUFDRztBYnM3N0JaO0Fhdjc3QlM7RUFDRztBYnk3N0JaO0FhMTc3QlM7RUFDRztBYjQ3N0JaO0FhNzc3QlM7RUFDRztBYis3N0JaO0FhaDg3QlM7RUFDRztBYms4N0JaO0Fhbjg3QlM7RUFDRztBYnE4N0JaO0FhdDg3QlM7RUFDRztBYnc4N0JaO0Fhejg3QlM7RUFDRztBYjI4N0JaO0FhNTg3QlM7RUFDRztBYjg4N0JaO0FhLzg3QlM7RUFDRztBYmk5N0JaO0FhbDk3QlM7RUFDRztBYm85N0JaO0Fhcjk3QlM7RUFDRztBYnU5N0JaO0FheDk3QlM7RUFDRztBYjA5N0JaO0FhMzk3QlM7RUFDRztBYjY5N0JaO0FhOTk3QlM7RUFDRztBYmcrN0JaO0Fhais3QlM7RUFDRztBYm0rN0JaO0FhcCs3QlM7RUFDRztBYnMrN0JaO0Fhdis3QlM7RUFDRztBYnkrN0JaO0FhMSs3QlM7RUFDRztBYjQrN0JaO0FhNys3QlM7RUFDRztBYisrN0JaO0FhaC83QlM7RUFDRztBYmsvN0JaO0Fhbi83QlM7RUFDRztBYnEvN0JaO0FhdC83QlM7RUFDRztBYncvN0JaO0Fhei83QlM7RUFDRztBYjIvN0JaO0FhNS83QlM7RUFDRztBYjgvN0JaO0FhLy83QlM7RUFDRztBYmlnOEJaO0FhbGc4QlM7RUFDRztBYm9nOEJaO0Fhcmc4QlM7RUFDRztBYnVnOEJaO0FheGc4QlM7RUFDRztBYjBnOEJaO0FhM2c4QlM7RUFDRztBYjZnOEJaO0FhOWc4QlM7RUFDRztBYmdoOEJaO0Fhamg4QlM7RUFDRztBYm1oOEJaO0FhcGg4QlM7RUFDRztBYnNoOEJaO0Fhdmg4QlM7RUFDRztBYnloOEJaO0FhMWg4QlM7RUFDRztBYjRoOEJaO0FhN2g4QlM7RUFDRztBYitoOEJaO0FhaGk4QlM7RUFDRztBYmtpOEJaO0Fhbmk4QlM7RUFDRztBYnFpOEJaO0FhdGk4QlM7RUFDRztBYndpOEJaO0Fhemk4QlM7RUFDRztBYjJpOEJaO0FhNWk4QlM7RUFDRztBYjhpOEJaO0FhL2k4QlM7RUFDRztBYmlqOEJaO0FhbGo4QlM7RUFDRztBYm9qOEJaO0Fhcmo4QlM7RUFDRztBYnVqOEJaO0FheGo4QlM7RUFDRztBYjBqOEJaO0FhM2o4QlM7RUFDRztBYjZqOEJaO0FhOWo4QlM7RUFDRztBYmdrOEJaO0Fhams4QlM7RUFDRztBYm1rOEJaO0FhcGs4QlM7RUFDRztBYnNrOEJaO0Fhdms4QlM7RUFDRztBYnlrOEJaO0FhMWs4QlM7RUFDRztBYjRrOEJaO0FhN2s4QlM7RUFDRztBYitrOEJaO0FhaGw4QlM7RUFDRztBYmtsOEJaO0Fhbmw4QlM7RUFDRztBYnFsOEJaO0FhdGw4QlM7RUFDRztBYndsOEJaO0Fhemw4QlM7RUFDRztBYjJsOEJaO0FhNWw4QlM7RUFDRztBYjhsOEJaO0FhL2w4QlM7RUFDRztBYmltOEJaO0FhbG04QlM7RUFDRztBYm9tOEJaO0Fhcm04QlM7RUFDRztBYnVtOEJaO0FheG04QlM7RUFDRztBYjBtOEJaO0FhM204QlM7RUFDRztBYjZtOEJaO0FhOW04QlM7RUFDRztBYmduOEJaO0Fham44QlM7RUFDRztBYm1uOEJaO0FhcG44QlM7RUFDRztBYnNuOEJaO0Fhdm44QlM7RUFDRztBYnluOEJaO0FhMW44QlM7RUFDRztBYjRuOEJaO0FhN244QlM7RUFDRztBYituOEJaO0FhaG84QlM7RUFDRztBYmtvOEJaO0Fhbm84QlM7RUFDRztBYnFvOEJaO0FhdG84QlM7RUFDRztBYndvOEJaO0Fhem84QlM7RUFDRztBYjJvOEJaO0FhNW84QlM7RUFDRztBYjhvOEJaO0FhL284QlM7RUFDRztBYmlwOEJaO0FhbHA4QlM7RUFDRztBYm9wOEJaO0FhcnA4QlM7RUFDRztBYnVwOEJaO0FheHA4QlM7RUFDRztBYjBwOEJaO0FhM3A4QlM7RUFDRztBYjZwOEJaO0FhOXA4QlM7RUFDRztBYmdxOEJaO0FhanE4QlM7RUFDRztBYm1xOEJaO0FhcHE4QlM7RUFDRztBYnNxOEJaO0FhdnE4QlM7RUFDRztBYnlxOEJaO0FhMXE4QlM7RUFDRztBYjRxOEJaO0FhN3E4QlM7RUFDRztBYitxOEJaO0FhaHI4QlM7RUFDRztBYmtyOEJaO0FhbnI4QlM7RUFDRztBYnFyOEJaO0FhdHI4QlM7RUFDRztBYndyOEJaO0FhenI4QlM7RUFDRztBYjJyOEJaO0FhNXI4QlM7RUFDRztBYjhyOEJaO0FhL3I4QlM7RUFDRztBYmlzOEJaO0FhbHM4QlM7RUFDRztBYm9zOEJaO0FhcnM4QlM7RUFDRztBYnVzOEJaO0FheHM4QlM7RUFDRztBYjBzOEJaO0FhM3M4QlM7RUFDRztBYjZzOEJaO0FhOXM4QlM7RUFDRztBYmd0OEJaO0FhanQ4QlM7RUFDRztBYm10OEJaO0FhcHQ4QlM7RUFDRztBYnN0OEJaO0FhdnQ4QlM7RUFDRztBYnl0OEJaO0FhMXQ4QlM7RUFDRztBYjR0OEJaO0FhN3Q4QlM7RUFDRztBYit0OEJaO0FhaHU4QlM7RUFDRztBYmt1OEJaO0FhbnU4QlM7RUFDRztBYnF1OEJaO0FhdHU4QlM7RUFDRztBYnd1OEJaO0FhenU4QlM7RUFDRztBYjJ1OEJaO0FhNXU4QlM7RUFDRztBYjh1OEJaO0FhL3U4QlM7RUFDRztBYml2OEJaO0FhbHY4QlM7RUFDRztBYm92OEJaO0FhcnY4QlM7RUFDRztBYnV2OEJaO0FheHY4QlM7RUFDRztBYjB2OEJaO0FhM3Y4QlM7RUFDRztBYjZ2OEJaO0FhOXY4QlM7RUFDRztBYmd3OEJaO0Fhanc4QlM7RUFDRztBYm13OEJaO0FhcHc4QlM7RUFDRztBYnN3OEJaO0Fhdnc4QlM7RUFDRztBYnl3OEJaO0FhMXc4QlM7RUFDRztBYjR3OEJaO0FhN3c4QlM7RUFDRztBYit3OEJaO0FhaHg4QlM7RUFDRztBYmt4OEJaO0Fhbng4QlM7RUFDRztBYnF4OEJaO0FhdHg4QlM7RUFDRztBYnd4OEJaO0Fheng4QlM7RUFDRztBYjJ4OEJaO0FhNXg4QlM7RUFDRztBYjh4OEJaO0FhL3g4QlM7RUFDRztBYml5OEJaO0FhbHk4QlM7RUFDRztBYm95OEJaO0Fhcnk4QlM7RUFDRztBYnV5OEJaO0FheHk4QlM7RUFDRztBYjB5OEJaO0FhM3k4QlM7RUFDRztBYjZ5OEJaO0FhOXk4QlM7RUFDRztBYmd6OEJaO0Fhano4QlM7RUFDRztBYm16OEJaO0FhcHo4QlM7RUFDRztBYnN6OEJaO0Fhdno4QlM7RUFDRztBYnl6OEJaO0FhMXo4QlM7RUFDRztBYjR6OEJaO0FhN3o4QlM7RUFDRztBYit6OEJaO0FhaDA4QlM7RUFDRztBYmswOEJaO0FhbjA4QlM7RUFDRztBYnEwOEJaO0FhdDA4QlM7RUFDRztBYncwOEJaO0FhejA4QlM7RUFDRztBYjIwOEJaO0FhNTA4QlM7RUFDRztBYjgwOEJaO0FhLzA4QlM7RUFDRztBYmkxOEJaO0FhbDE4QlM7RUFDRztBYm8xOEJaO0FhcjE4QlM7RUFDRztBYnUxOEJaO0FheDE4QlM7RUFDRztBYjAxOEJaO0FhMzE4QlM7RUFDRztBYjYxOEJaO0FhOTE4QlM7RUFDRztBYmcyOEJaO0FhajI4QlM7RUFDRztBYm0yOEJaO0FhcDI4QlM7RUFDRztBYnMyOEJaO0FhdjI4QlM7RUFDRztBYnkyOEJaO0FhMTI4QlM7RUFDRztBYjQyOEJaO0FhNzI4QlM7RUFDRztBYisyOEJaO0FhaDM4QlM7RUFDRztBYmszOEJaO0FhbjM4QlM7RUFDRztBYnEzOEJaO0FhdDM4QlM7RUFDRztBYnczOEJaO0FhejM4QlM7RUFDRztBYjIzOEJaO0FhNTM4QlM7RUFDRztBYjgzOEJaO0FhLzM4QlM7RUFDRztBYmk0OEJaO0FhbDQ4QlM7RUFDRztBYm80OEJaO0FhcjQ4QlM7RUFDRztBYnU0OEJaO0FheDQ4QlM7RUFDRztBYjA0OEJaO0FhMzQ4QlM7RUFDRztBYjY0OEJaO0FhOTQ4QlM7RUFDRztBYmc1OEJaO0FhajU4QlM7RUFDRztBYm01OEJaO0FhcDU4QlM7RUFDRztBYnM1OEJaO0FhdjU4QlM7RUFDRztBYnk1OEJaO0FhMTU4QlM7RUFDRztBYjQ1OEJaO0FhNzU4QlM7RUFDRztBYis1OEJaO0FhaDY4QlM7RUFDRztBYms2OEJaO0FhbjY4QlM7RUFDRztBYnE2OEJaO0FhdDY4QlM7RUFDRztBYnc2OEJaO0FhejY4QlM7RUFDRztBYjI2OEJaO0FhNTY4QlM7RUFDRztBYjg2OEJaO0FhLzY4QlM7RUFDRztBYmk3OEJaO0FhbDc4QlM7RUFDRztBYm83OEJaO0Fhcjc4QlM7RUFDRztBYnU3OEJaO0FheDc4QlM7RUFDRztBYjA3OEJaO0FhMzc4QlM7RUFDRztBYjY3OEJaO0FhOTc4QlM7RUFDRztBYmc4OEJaO0Fhajg4QlM7RUFDRztBYm04OEJaO0FhcDg4QlM7RUFDRztBYnM4OEJaO0Fhdjg4QlM7RUFDRztBYnk4OEJaO0FhMTg4QlM7RUFDRztBYjQ4OEJaO0FhNzg4QlM7RUFDRztBYis4OEJaO0FhaDk4QlM7RUFDRztBYms5OEJaO0Fhbjk4QlM7RUFDRztBYnE5OEJaO0FhdDk4QlM7RUFDRztBYnc5OEJaO0Fhejk4QlM7RUFDRztBYjI5OEJaO0FhNTk4QlM7RUFDRztBYjg5OEJaO0FhLzk4QlM7RUFDRztBYmkrOEJaO0FhbCs4QlM7RUFDRztBYm8rOEJaO0Fhcis4QlM7RUFDRztBYnUrOEJaO0FheCs4QlM7RUFDRztBYjArOEJaO0FhMys4QlM7RUFDRztBYjYrOEJaO0FhOSs4QlM7RUFDRztBYmcvOEJaO0Fhai84QlM7RUFDRztBYm0vOEJaO0FhcC84QlM7RUFDRztBYnMvOEJaO0Fhdi84QlM7RUFDRztBYnkvOEJaO0FhMS84QlM7RUFDRztBYjQvOEJaO0FhNy84QlM7RUFDRztBYisvOEJaO0FhaGc5QlM7RUFDRztBYmtnOUJaO0Fhbmc5QlM7RUFDRztBYnFnOUJaO0FhdGc5QlM7RUFDRztBYndnOUJaO0Fhemc5QlM7RUFDRztBYjJnOUJaO0FhNWc5QlM7RUFDRztBYjhnOUJaO0FhL2c5QlM7RUFDRztBYmloOUJaO0FhbGg5QlM7RUFDRztBYm9oOUJaO0Fhcmg5QlM7RUFDRztBYnVoOUJaO0FheGg5QlM7RUFDRztBYjBoOUJaO0FhM2g5QlM7RUFDRztBYjZoOUJaO0FhOWg5QlM7RUFDRztBYmdpOUJaO0Fhamk5QlM7RUFDRztBYm1pOUJaO0FhcGk5QlM7RUFDRztBYnNpOUJaO0Fhdmk5QlM7RUFDRztBYnlpOUJaO0FhMWk5QlM7RUFDRztBYjRpOUJaO0FhN2k5QlM7RUFDRztBYitpOUJaO0FhaGo5QlM7RUFDRztBYmtqOUJaO0Fhbmo5QlM7RUFDRztBYnFqOUJaO0FhdGo5QlM7RUFDRztBYndqOUJaO0Fhemo5QlM7RUFDRztBYjJqOUJaO0FhNWo5QlM7RUFDRztBYjhqOUJaO0FhL2o5QlM7RUFDRztBYmlrOUJaO0FhbGs5QlM7RUFDRztBYm9rOUJaO0Fhcms5QlM7RUFDRztBYnVrOUJaO0FheGs5QlM7RUFDRztBYjBrOUJaO0FhM2s5QlM7RUFDRztBYjZrOUJaO0FhOWs5QlM7RUFDRztBYmdsOUJaO0Fhamw5QlM7RUFDRztBYm1sOUJaO0FhcGw5QlM7RUFDRztBYnNsOUJaO0Fhdmw5QlM7RUFDRztBYnlsOUJaO0FhMWw5QlM7RUFDRztBYjRsOUJaO0FhN2w5QlM7RUFDRztBYitsOUJaO0FhaG05QlM7RUFDRztBYmttOUJaO0Fhbm05QlM7RUFDRztBYnFtOUJaO0FhdG05QlM7RUFDRztBYndtOUJaO0Fhem05QlM7RUFDRztBYjJtOUJaO0FhNW05QlM7RUFDRztBYjhtOUJaO0FhL205QlM7RUFDRztBYmluOUJaO0FhbG45QlM7RUFDRztBYm9uOUJaO0Fhcm45QlM7RUFDRztBYnVuOUJaO0FheG45QlM7RUFDRztBYjBuOUJaO0FhM245QlM7RUFDRztBYjZuOUJaO0FhOW45QlM7RUFDRztBYmdvOUJaO0Fham85QlM7RUFDRztBYm1vOUJaO0FhcG85QlM7RUFDRztBYnNvOUJaO0Fhdm85QlM7RUFDRztBYnlvOUJaO0FhMW85QlM7RUFDRztBYjRvOUJaO0FhN285QlM7RUFDRztBYitvOUJaO0FhaHA5QlM7RUFDRztBYmtwOUJaO0FhbnA5QlM7RUFDRztBYnFwOUJaO0FhdHA5QlM7RUFDRztBYndwOUJaO0FhenA5QlM7RUFDRztBYjJwOUJaO0FhNXA5QlM7RUFDRztBYjhwOUJaO0FhL3A5QlM7RUFDRztBYmlxOUJaO0FhbHE5QlM7RUFDRztBYm9xOUJaO0FhcnE5QlM7RUFDRztBYnVxOUJaO0FheHE5QlM7RUFDRztBYjBxOUJaO0FhM3E5QlM7RUFDRztBYjZxOUJaO0FhOXE5QlM7RUFDRztBYmdyOUJaO0FhanI5QlM7RUFDRztBYm1yOUJaO0FhcHI5QlM7RUFDRztBYnNyOUJaO0FhdnI5QlM7RUFDRztBYnlyOUJaO0FhMXI5QlM7RUFDRztBYjRyOUJaO0FhN3I5QlM7RUFDRztBYityOUJaO0FhaHM5QlM7RUFDRztBYmtzOUJaO0FhbnM5QlM7RUFDRztBYnFzOUJaO0FhdHM5QlM7RUFDRztBYndzOUJaO0FhenM5QlM7RUFDRztBYjJzOUJaO0FhNXM5QlM7RUFDRztBYjhzOUJaO0FhL3M5QlM7RUFDRztBYml0OUJaO0FhbHQ5QlM7RUFDRztBYm90OUJaO0FhcnQ5QlM7RUFDRztBYnV0OUJaO0FheHQ5QlM7RUFDRztBYjB0OUJaO0FhM3Q5QlM7RUFDRztBYjZ0OUJaO0FhOXQ5QlM7RUFDRztBYmd1OUJaO0FhanU5QlM7RUFDRztBYm11OUJaO0FhcHU5QlM7RUFDRztBYnN1OUJaO0FhdnU5QlM7RUFDRztBYnl1OUJaO0FhMXU5QlM7RUFDRztBYjR1OUJaO0FhN3U5QlM7RUFDRztBYit1OUJaO0FhaHY5QlM7RUFDRztBYmt2OUJaO0FhbnY5QlM7RUFDRztBYnF2OUJaO0FhdHY5QlM7RUFDRztBYnd2OUJaO0FhenY5QlM7RUFDRztBYjJ2OUJaO0FhNXY5QlM7RUFDRztBYjh2OUJaO0FhL3Y5QlM7RUFDRztBYml3OUJaO0FhbHc5QlM7RUFDRztBYm93OUJaO0Fhcnc5QlM7RUFDRztBYnV3OUJaO0FheHc5QlM7RUFDRztBYjB3OUJaO0FhM3c5QlM7RUFDRztBYjZ3OUJaO0FhOXc5QlM7RUFDRztBYmd4OUJaO0Fhang5QlM7RUFDRztBYm14OUJaO0FhcHg5QlM7RUFDRztBYnN4OUJaO0Fhdng5QlM7RUFDRztBYnl4OUJaO0FhMXg5QlM7RUFDRztBYjR4OUJaO0FhN3g5QlM7RUFDRztBYit4OUJaO0FhaHk5QlM7RUFDRztBYmt5OUJaO0Fhbnk5QlM7RUFDRztBYnF5OUJaO0FhdHk5QlM7RUFDRztBYnd5OUJaO0Fhenk5QlM7RUFDRztBYjJ5OUJaO0FhNXk5QlM7RUFDRztBYjh5OUJaO0FhL3k5QlM7RUFDRztBYml6OUJaO0FBQ0EsWUFBWTtBYW56OUJIO0VBQ0c7QWJxejlCWjtBYXR6OUJTO0VBQ0c7QWJ3ejlCWjtBYXp6OUJTO0VBQ0c7QWIyejlCWjtBYTV6OUJTO0VBQ0c7QWI4ejlCWjtBYS96OUJTO0VBQ0c7QWJpMDlCWjtBYWwwOUJTO0VBQ0c7QWJvMDlCWjtBYXIwOUJTO0VBQ0c7QWJ1MDlCWjtBYXgwOUJTO0VBQ0c7QWIwMDlCWjtBYTMwOUJTO0VBQ0c7QWI2MDlCWjtBYTkwOUJTO0VBQ0c7QWJnMTlCWjtBYWoxOUJTO0VBQ0c7QWJtMTlCWjtBYXAxOUJTO0VBQ0c7QWJzMTlCWjtBYXYxOUJTO0VBQ0c7QWJ5MTlCWjtBYTExOUJTO0VBQ0c7QWI0MTlCWjtBYTcxOUJTO0VBQ0c7QWIrMTlCWjtBYWgyOUJTO0VBQ0c7QWJrMjlCWjtBYW4yOUJTO0VBQ0c7QWJxMjlCWjtBYXQyOUJTO0VBQ0c7QWJ3MjlCWjtBYXoyOUJTO0VBQ0c7QWIyMjlCWjtBYTUyOUJTO0VBQ0c7QWI4MjlCWjtBYS8yOUJTO0VBQ0c7QWJpMzlCWjtBYWwzOUJTO0VBQ0c7QWJvMzlCWjtBYXIzOUJTO0VBQ0c7QWJ1MzlCWjtBYXgzOUJTO0VBQ0c7QWIwMzlCWjtBYTMzOUJTO0VBQ0c7QWI2MzlCWjtBYTkzOUJTO0VBQ0c7QWJnNDlCWjtBYWo0OUJTO0VBQ0c7QWJtNDlCWjtBYXA0OUJTO0VBQ0c7QWJzNDlCWjtBYXY0OUJTO0VBQ0c7QWJ5NDlCWjtBYTE0OUJTO0VBQ0c7QWI0NDlCWjtBYTc0OUJTO0VBQ0c7QWIrNDlCWjtBYWg1OUJTO0VBQ0c7QWJrNTlCWjtBYW41OUJTO0VBQ0c7QWJxNTlCWjtBYXQ1OUJTO0VBQ0c7QWJ3NTlCWjtBYXo1OUJTO0VBQ0c7QWIyNTlCWjtBYTU1OUJTO0VBQ0c7QWI4NTlCWjtBYS81OUJTO0VBQ0c7QWJpNjlCWjtBYWw2OUJTO0VBQ0c7QWJvNjlCWjtBYXI2OUJTO0VBQ0c7QWJ1NjlCWjtBYXg2OUJTO0VBQ0c7QWIwNjlCWjtBYTM2OUJTO0VBQ0c7QWI2NjlCWjtBYTk2OUJTO0VBQ0c7QWJnNzlCWjtBYWo3OUJTO0VBQ0c7QWJtNzlCWjtBYXA3OUJTO0VBQ0c7QWJzNzlCWjtBYXY3OUJTO0VBQ0c7QWJ5NzlCWjtBYTE3OUJTO0VBQ0c7QWI0NzlCWjtBYTc3OUJTO0VBQ0c7QWIrNzlCWjtBYWg4OUJTO0VBQ0c7QWJrODlCWjtBYW44OUJTO0VBQ0c7QWJxODlCWjtBYXQ4OUJTO0VBQ0c7QWJ3ODlCWjtBYXo4OUJTO0VBQ0c7QWIyODlCWjtBYTU4OUJTO0VBQ0c7QWI4ODlCWjtBYS84OUJTO0VBQ0c7QWJpOTlCWjtBYWw5OUJTO0VBQ0c7QWJvOTlCWjtBYXI5OUJTO0VBQ0c7QWJ1OTlCWjtBYXg5OUJTO0VBQ0c7QWIwOTlCWjtBYTM5OUJTO0VBQ0c7QWI2OTlCWjtBYTk5OUJTO0VBQ0c7QWJnKzlCWjtBYWorOUJTO0VBQ0c7QWJtKzlCWjtBYXArOUJTO0VBQ0c7QWJzKzlCWjtBYXYrOUJTO0VBQ0c7QWJ5KzlCWjtBYTErOUJTO0VBQ0c7QWI0KzlCWjtBYTcrOUJTO0VBQ0c7QWIrKzlCWjtBYWgvOUJTO0VBQ0c7QWJrLzlCWjtBYW4vOUJTO0VBQ0c7QWJxLzlCWjtBYXQvOUJTO0VBQ0c7QWJ3LzlCWjtBYXovOUJTO0VBQ0c7QWIyLzlCWjtBYTUvOUJTO0VBQ0c7QWI4LzlCWjtBYS8vOUJTO0VBQ0c7QWJpZytCWjtBYWxnK0JTO0VBQ0c7QWJvZytCWjtBYXJnK0JTO0VBQ0c7QWJ1ZytCWjtBYXhnK0JTO0VBQ0c7QWIwZytCWjtBYTNnK0JTO0VBQ0c7QWI2ZytCWjtBYTlnK0JTO0VBQ0c7QWJnaCtCWjtBYWpoK0JTO0VBQ0c7QWJtaCtCWjtBYXBoK0JTO0VBQ0c7QWJzaCtCWjtBYXZoK0JTO0VBQ0c7QWJ5aCtCWjtBYTFoK0JTO0VBQ0c7QWI0aCtCWjtBYTdoK0JTO0VBQ0c7QWIraCtCWjtBYWhpK0JTO0VBQ0c7QWJraStCWjtBYW5pK0JTO0VBQ0c7QWJxaStCWjtBYXRpK0JTO0VBQ0c7QWJ3aStCWjtBYXppK0JTO0VBQ0c7QWIyaStCWjtBYTVpK0JTO0VBQ0c7QWI4aStCWjtBYS9pK0JTO0VBQ0c7QWJpaitCWjtBYWxqK0JTO0VBQ0c7QWJvaitCWjtBYXJqK0JTO0VBQ0c7QWJ1aitCWjtBYXhqK0JTO0VBQ0c7QWIwaitCWjtBYTNqK0JTO0VBQ0c7QWI2aitCWjtBYTlqK0JTO0VBQ0c7QWJnaytCWjtBYWprK0JTO0VBQ0c7QWJtaytCWjtBYXBrK0JTO0VBQ0c7QWJzaytCWjtBYXZrK0JTO0VBQ0c7QWJ5aytCWjtBYTFrK0JTO0VBQ0c7QWI0aytCWjtBYTdrK0JTO0VBQ0c7QWIraytCWjtBYWhsK0JTO0VBQ0c7QWJrbCtCWjtBYW5sK0JTO0VBQ0c7QWJxbCtCWjtBYXRsK0JTO0VBQ0c7QWJ3bCtCWjtBYXpsK0JTO0VBQ0c7QWIybCtCWjtBYTVsK0JTO0VBQ0c7QWI4bCtCWjtBYS9sK0JTO0VBQ0c7QWJpbStCWjtBYWxtK0JTO0VBQ0c7QWJvbStCWjtBYXJtK0JTO0VBQ0c7QWJ1bStCWjtBYXhtK0JTO0VBQ0c7QWIwbStCWjtBYTNtK0JTO0VBQ0c7QWI2bStCWjtBYTltK0JTO0VBQ0c7QWJnbitCWjtBYWpuK0JTO0VBQ0c7QWJtbitCWjtBYXBuK0JTO0VBQ0c7QWJzbitCWjtBYXZuK0JTO0VBQ0c7QWJ5bitCWjtBYTFuK0JTO0VBQ0c7QWI0bitCWjtBYTduK0JTO0VBQ0c7QWIrbitCWjtBYWhvK0JTO0VBQ0c7QWJrbytCWjtBYW5vK0JTO0VBQ0c7QWJxbytCWjtBYXRvK0JTO0VBQ0c7QWJ3bytCWjtBYXpvK0JTO0VBQ0c7QWIybytCWjtBYTVvK0JTO0VBQ0c7QWI4bytCWjtBYS9vK0JTO0VBQ0c7QWJpcCtCWjtBYWxwK0JTO0VBQ0c7QWJvcCtCWjtBYXJwK0JTO0VBQ0c7QWJ1cCtCWjtBYXhwK0JTO0VBQ0c7QWIwcCtCWjtBYTNwK0JTO0VBQ0c7QWI2cCtCWjtBYTlwK0JTO0VBQ0c7QWJncStCWjtBYWpxK0JTO0VBQ0c7QWJtcStCWjtBYXBxK0JTO0VBQ0c7QWJzcStCWjtBYXZxK0JTO0VBQ0c7QWJ5cStCWjtBYTFxK0JTO0VBQ0c7QWI0cStCWjtBYTdxK0JTO0VBQ0c7QWIrcStCWjtBYWhyK0JTO0VBQ0c7QWJrcitCWjtBYW5yK0JTO0VBQ0c7QWJxcitCWjtBYXRyK0JTO0VBQ0c7QWJ3citCWjtBYXpyK0JTO0VBQ0c7QWIycitCWjtBYTVyK0JTO0VBQ0c7QWI4citCWjtBYS9yK0JTO0VBQ0c7QWJpcytCWjtBYWxzK0JTO0VBQ0c7QWJvcytCWjtBYXJzK0JTO0VBQ0c7QWJ1cytCWjtBYXhzK0JTO0VBQ0c7QWIwcytCWjtBYTNzK0JTO0VBQ0c7QWI2cytCWjtBYTlzK0JTO0VBQ0c7QWJndCtCWjtBYWp0K0JTO0VBQ0c7QWJtdCtCWjtBYXB0K0JTO0VBQ0c7QWJzdCtCWjtBYXZ0K0JTO0VBQ0c7QWJ5dCtCWjtBYTF0K0JTO0VBQ0c7QWI0dCtCWjtBYTd0K0JTO0VBQ0c7QWIrdCtCWjtBYWh1K0JTO0VBQ0c7QWJrdStCWjtBYW51K0JTO0VBQ0c7QWJxdStCWjtBYXR1K0JTO0VBQ0c7QWJ3dStCWjtBYXp1K0JTO0VBQ0c7QWIydStCWjtBYTV1K0JTO0VBQ0c7QWI4dStCWjtBYS91K0JTO0VBQ0c7QWJpditCWjtBYWx2K0JTO0VBQ0c7QWJvditCWjtBYXJ2K0JTO0VBQ0c7QWJ1ditCWjtBYXh2K0JTO0VBQ0c7QWIwditCWjtBYTN2K0JTO0VBQ0c7QWI2ditCWjtBYTl2K0JTO0VBQ0c7QWJndytCWjtBYWp3K0JTO0VBQ0c7QWJtdytCWjtBYXB3K0JTO0VBQ0c7QWJzdytCWjtBYXZ3K0JTO0VBQ0c7QWJ5dytCWjtBYTF3K0JTO0VBQ0c7QWI0dytCWjtBYTd3K0JTO0VBQ0c7QWIrdytCWjtBYWh4K0JTO0VBQ0c7QWJreCtCWjtBYW54K0JTO0VBQ0c7QWJxeCtCWjtBYXR4K0JTO0VBQ0c7QWJ3eCtCWjtBYXp4K0JTO0VBQ0c7QWIyeCtCWjtBYTV4K0JTO0VBQ0c7QWI4eCtCWjtBYS94K0JTO0VBQ0c7QWJpeStCWjtBYWx5K0JTO0VBQ0c7QWJveStCWjtBYXJ5K0JTO0VBQ0c7QWJ1eStCWjtBYXh5K0JTO0VBQ0c7QWIweStCWjtBYTN5K0JTO0VBQ0c7QWI2eStCWjtBYTl5K0JTO0VBQ0c7QWJneitCWjtBYWp6K0JTO0VBQ0c7QWJteitCWjtBYXB6K0JTO0VBQ0c7QWJzeitCWjtBYXZ6K0JTO0VBQ0c7QWJ5eitCWjtBYTF6K0JTO0VBQ0c7QWI0eitCWjtBYTd6K0JTO0VBQ0c7QWIreitCWjtBYWgwK0JTO0VBQ0c7QWJrMCtCWjtBYW4wK0JTO0VBQ0c7QWJxMCtCWjtBYXQwK0JTO0VBQ0c7QWJ3MCtCWjtBYXowK0JTO0VBQ0c7QWIyMCtCWjtBYTUwK0JTO0VBQ0c7QWI4MCtCWjtBYS8wK0JTO0VBQ0c7QWJpMStCWjtBYWwxK0JTO0VBQ0c7QWJvMStCWjtBYXIxK0JTO0VBQ0c7QWJ1MStCWjtBYXgxK0JTO0VBQ0c7QWIwMStCWjtBYTMxK0JTO0VBQ0c7QWI2MStCWjtBYTkxK0JTO0VBQ0c7QWJnMitCWjtBYWoyK0JTO0VBQ0c7QWJtMitCWjtBYXAyK0JTO0VBQ0c7QWJzMitCWjtBYXYyK0JTO0VBQ0c7QWJ5MitCWjtBYTEyK0JTO0VBQ0c7QWI0MitCWjtBYTcyK0JTO0VBQ0c7QWIrMitCWjtBYWgzK0JTO0VBQ0c7QWJrMytCWjtBYW4zK0JTO0VBQ0c7QWJxMytCWjtBYXQzK0JTO0VBQ0c7QWJ3MytCWjtBYXozK0JTO0VBQ0c7QWIyMytCWjtBYTUzK0JTO0VBQ0c7QWI4MytCWjtBYS8zK0JTO0VBQ0c7QWJpNCtCWjtBYWw0K0JTO0VBQ0c7QWJvNCtCWjtBYXI0K0JTO0VBQ0c7QWJ1NCtCWjtBYXg0K0JTO0VBQ0c7QWIwNCtCWjtBYTM0K0JTO0VBQ0c7QWI2NCtCWjtBYTk0K0JTO0VBQ0c7QWJnNStCWjtBYWo1K0JTO0VBQ0c7QWJtNStCWjtBYXA1K0JTO0VBQ0c7QWJzNStCWjtBYXY1K0JTO0VBQ0c7QWJ5NStCWjtBYTE1K0JTO0VBQ0c7QWI0NStCWjtBYTc1K0JTO0VBQ0c7QWIrNStCWjtBYWg2K0JTO0VBQ0c7QWJrNitCWjtBYW42K0JTO0VBQ0c7QWJxNitCWjtBYXQ2K0JTO0VBQ0c7QWJ3NitCWjtBYXo2K0JTO0VBQ0c7QWIyNitCWjtBYTU2K0JTO0VBQ0c7QWI4NitCWjtBYS82K0JTO0VBQ0c7QWJpNytCWjtBYWw3K0JTO0VBQ0c7QWJvNytCWjtBYXI3K0JTO0VBQ0c7QWJ1NytCWjtBYXg3K0JTO0VBQ0c7QWIwNytCWjtBYTM3K0JTO0VBQ0c7QWI2NytCWjtBYTk3K0JTO0VBQ0c7QWJnOCtCWjtBYWo4K0JTO0VBQ0c7QWJtOCtCWjtBYXA4K0JTO0VBQ0c7QWJzOCtCWjtBYXY4K0JTO0VBQ0c7QWJ5OCtCWjtBYTE4K0JTO0VBQ0c7QWI0OCtCWjtBYTc4K0JTO0VBQ0c7QWIrOCtCWjtBYWg5K0JTO0VBQ0c7QWJrOStCWjtBYW45K0JTO0VBQ0c7QWJxOStCWjtBYXQ5K0JTO0VBQ0c7QWJ3OStCWjtBYXo5K0JTO0VBQ0c7QWIyOStCWjtBYTU5K0JTO0VBQ0c7QWI4OStCWjtBYS85K0JTO0VBQ0c7QWJpKytCWjtBYWwrK0JTO0VBQ0c7QWJvKytCWjtBYXIrK0JTO0VBQ0c7QWJ1KytCWjtBYXgrK0JTO0VBQ0c7QWIwKytCWjtBYTMrK0JTO0VBQ0c7QWI2KytCWjtBYTkrK0JTO0VBQ0c7QWJnLytCWjtBYWovK0JTO0VBQ0c7QWJtLytCWjtBYXAvK0JTO0VBQ0c7QWJzLytCWjtBYXYvK0JTO0VBQ0c7QWJ5LytCWjtBYTEvK0JTO0VBQ0c7QWI0LytCWjtBYTcvK0JTO0VBQ0c7QWIrLytCWjtBYWhnL0JTO0VBQ0c7QWJrZy9CWjtBYW5nL0JTO0VBQ0c7QWJxZy9CWjtBYXRnL0JTO0VBQ0c7QWJ3Zy9CWjtBYXpnL0JTO0VBQ0c7QWIyZy9CWjtBYTVnL0JTO0VBQ0c7QWI4Zy9CWjtBYS9nL0JTO0VBQ0c7QWJpaC9CWjtBYWxoL0JTO0VBQ0c7QWJvaC9CWjtBYXJoL0JTO0VBQ0c7QWJ1aC9CWjtBYXhoL0JTO0VBQ0c7QWIwaC9CWjtBYTNoL0JTO0VBQ0c7QWI2aC9CWjtBYTloL0JTO0VBQ0c7QWJnaS9CWjtBYWppL0JTO0VBQ0c7QWJtaS9CWjtBYXBpL0JTO0VBQ0c7QWJzaS9CWjtBYXZpL0JTO0VBQ0c7QWJ5aS9CWjtBYTFpL0JTO0VBQ0c7QWI0aS9CWjtBYTdpL0JTO0VBQ0c7QWIraS9CWjtBYWhqL0JTO0VBQ0c7QWJrai9CWjtBYW5qL0JTO0VBQ0c7QWJxai9CWjtBYXRqL0JTO0VBQ0c7QWJ3ai9CWjtBYXpqL0JTO0VBQ0c7QWIyai9CWjtBYTVqL0JTO0VBQ0c7QWI4ai9CWjtBYS9qL0JTO0VBQ0c7QWJpay9CWjtBYWxrL0JTO0VBQ0c7QWJvay9CWjtBYXJrL0JTO0VBQ0c7QWJ1ay9CWjtBYXhrL0JTO0VBQ0c7QWIway9CWjtBYTNrL0JTO0VBQ0c7QWI2ay9CWjtBYTlrL0JTO0VBQ0c7QWJnbC9CWjtBYWpsL0JTO0VBQ0c7QWJtbC9CWjtBYXBsL0JTO0VBQ0c7QWJzbC9CWjtBYXZsL0JTO0VBQ0c7QWJ5bC9CWjtBYTFsL0JTO0VBQ0c7QWI0bC9CWjtBYTdsL0JTO0VBQ0c7QWIrbC9CWjtBYWhtL0JTO0VBQ0c7QWJrbS9CWjtBYW5tL0JTO0VBQ0c7QWJxbS9CWjtBYXRtL0JTO0VBQ0c7QWJ3bS9CWjtBYXptL0JTO0VBQ0c7QWIybS9CWjtBYTVtL0JTO0VBQ0c7QWI4bS9CWjtBYS9tL0JTO0VBQ0c7QWJpbi9CWjtBYWxuL0JTO0VBQ0c7QWJvbi9CWjtBYXJuL0JTO0VBQ0c7QWJ1bi9CWjtBYXhuL0JTO0VBQ0c7QWIwbi9CWjtBYTNuL0JTO0VBQ0c7QWI2bi9CWjtBYTluL0JTO0VBQ0c7QWJnby9CWjtBYWpvL0JTO0VBQ0c7QWJtby9CWjtBQUNBOzttQ0FFbUM7QWF2bS9CL0I7RUFDSTtBYnltL0JSO0FBQ0EsVUFBVTtBYTNvL0JEO0VBQ0c7QWI2by9CWjtBYTlvL0JTO0VBQ0c7QWJncC9CWjtBYWpwL0JTO0VBQ0c7QWJtcC9CWjtBYXBwL0JTO0VBQ0c7QWJzcC9CWjtBYXZwL0JTO0VBQ0c7QWJ5cC9CWjtBYTFwL0JTO0VBQ0c7QWI0cC9CWjtBYTdwL0JTO0VBQ0c7QWIrcC9CWjtBYWhxL0JTO0VBQ0c7QWJrcS9CWjtBYW5xL0JTO0VBQ0c7QWJxcS9CWjtBYXRxL0JTO0VBQ0c7QWJ3cS9CWjtBYXpxL0JTO0VBQ0c7QWIycS9CWjtBYTVxL0JTO0VBQ0c7QWI4cS9CWjtBYS9xL0JTO0VBQ0c7QWJpci9CWjtBYWxyL0JTO0VBQ0c7QWJvci9CWjtBYXJyL0JTO0VBQ0c7QWJ1ci9CWjtBYXhyL0JTO0VBQ0c7QWIwci9CWjtBYTNyL0JTO0VBQ0c7QWI2ci9CWjtBYTlyL0JTO0VBQ0c7QWJncy9CWjtBYWpzL0JTO0VBQ0c7QWJtcy9CWjtBYXBzL0JTO0VBQ0c7QWJzcy9CWjtBYXZzL0JTO0VBQ0c7QWJ5cy9CWjtBYTFzL0JTO0VBQ0c7QWI0cy9CWjtBYTdzL0JTO0VBQ0c7QWIrcy9CWjtBYWh0L0JTO0VBQ0c7QWJrdC9CWjtBYW50L0JTO0VBQ0c7QWJxdC9CWjtBYXR0L0JTO0VBQ0c7QWJ3dC9CWjtBYXp0L0JTO0VBQ0c7QWIydC9CWjtBYTV0L0JTO0VBQ0c7QWI4dC9CWjtBYS90L0JTO0VBQ0c7QWJpdS9CWjtBYWx1L0JTO0VBQ0c7QWJvdS9CWjtBYXJ1L0JTO0VBQ0c7QWJ1dS9CWjtBYXh1L0JTO0VBQ0c7QWIwdS9CWjtBYTN1L0JTO0VBQ0c7QWI2dS9CWjtBYTl1L0JTO0VBQ0c7QWJndi9CWjtBYWp2L0JTO0VBQ0c7QWJtdi9CWjtBYXB2L0JTO0VBQ0c7QWJzdi9CWjtBYXZ2L0JTO0VBQ0c7QWJ5di9CWjtBYTF2L0JTO0VBQ0c7QWI0di9CWjtBYTd2L0JTO0VBQ0c7QWIrdi9CWjtBYWh3L0JTO0VBQ0c7QWJrdy9CWjtBYW53L0JTO0VBQ0c7QWJxdy9CWjtBYXR3L0JTO0VBQ0c7QWJ3dy9CWjtBYXp3L0JTO0VBQ0c7QWIydy9CWjtBYTV3L0JTO0VBQ0c7QWI4dy9CWjtBYS93L0JTO0VBQ0c7QWJpeC9CWjtBYWx4L0JTO0VBQ0c7QWJveC9CWjtBYXJ4L0JTO0VBQ0c7QWJ1eC9CWjtBYXh4L0JTO0VBQ0c7QWIweC9CWjtBYTN4L0JTO0VBQ0c7QWI2eC9CWjtBYTl4L0JTO0VBQ0c7QWJneS9CWjtBYWp5L0JTO0VBQ0c7QWJteS9CWjtBYXB5L0JTO0VBQ0c7QWJzeS9CWjtBYXZ5L0JTO0VBQ0c7QWJ5eS9CWjtBYTF5L0JTO0VBQ0c7QWI0eS9CWjtBYTd5L0JTO0VBQ0c7QWIreS9CWjtBYWh6L0JTO0VBQ0c7QWJrei9CWjtBYW56L0JTO0VBQ0c7QWJxei9CWjtBYXR6L0JTO0VBQ0c7QWJ3ei9CWjtBYXp6L0JTO0VBQ0c7QWIyei9CWjtBYTV6L0JTO0VBQ0c7QWI4ei9CWjtBYS96L0JTO0VBQ0c7QWJpMC9CWjtBYWwwL0JTO0VBQ0c7QWJvMC9CWjtBYXIwL0JTO0VBQ0c7QWJ1MC9CWjtBYXgwL0JTO0VBQ0c7QWIwMC9CWjtBYTMwL0JTO0VBQ0c7QWI2MC9CWjtBYTkwL0JTO0VBQ0c7QWJnMS9CWjtBYWoxL0JTO0VBQ0c7QWJtMS9CWjtBYXAxL0JTO0VBQ0c7QWJzMS9CWjtBYXYxL0JTO0VBQ0c7QWJ5MS9CWjtBYTExL0JTO0VBQ0c7QWI0MS9CWjtBYTcxL0JTO0VBQ0c7QWIrMS9CWjtBYWgyL0JTO0VBQ0c7QWJrMi9CWjtBYW4yL0JTO0VBQ0c7QWJxMi9CWjtBYXQyL0JTO0VBQ0c7QWJ3Mi9CWjtBYXoyL0JTO0VBQ0c7QWIyMi9CWjtBYTUyL0JTO0VBQ0c7QWI4Mi9CWjtBYS8yL0JTO0VBQ0c7QWJpMy9CWjtBYWwzL0JTO0VBQ0c7QWJvMy9CWjtBYXIzL0JTO0VBQ0c7QWJ1My9CWjtBYXgzL0JTO0VBQ0c7QWIwMy9CWjtBYTMzL0JTO0VBQ0c7QWI2My9CWjtBYTkzL0JTO0VBQ0c7QWJnNC9CWjtBYWo0L0JTO0VBQ0c7QWJtNC9CWjtBYXA0L0JTO0VBQ0c7QWJzNC9CWjtBYXY0L0JTO0VBQ0c7QWJ5NC9CWjtBYTE0L0JTO0VBQ0c7QWI0NC9CWjtBYTc0L0JTO0VBQ0c7QWIrNC9CWjtBYWg1L0JTO0VBQ0c7QWJrNS9CWjtBYW41L0JTO0VBQ0c7QWJxNS9CWjtBYXQ1L0JTO0VBQ0c7QWJ3NS9CWjtBYXo1L0JTO0VBQ0c7QWIyNS9CWjtBYTU1L0JTO0VBQ0c7QWI4NS9CWjtBYS81L0JTO0VBQ0c7QWJpNi9CWjtBYWw2L0JTO0VBQ0c7QWJvNi9CWjtBYXI2L0JTO0VBQ0c7QWJ1Ni9CWjtBYXg2L0JTO0VBQ0c7QWIwNi9CWjtBYTM2L0JTO0VBQ0c7QWI2Ni9CWjtBYTk2L0JTO0VBQ0c7QWJnNy9CWjtBYWo3L0JTO0VBQ0c7QWJtNy9CWjtBYXA3L0JTO0VBQ0c7QWJzNy9CWjtBYXY3L0JTO0VBQ0c7QWJ5Ny9CWjtBYTE3L0JTO0VBQ0c7QWI0Ny9CWjtBYTc3L0JTO0VBQ0c7QWIrNy9CWjtBYWg4L0JTO0VBQ0c7QWJrOC9CWjtBYW44L0JTO0VBQ0c7QWJxOC9CWjtBYXQ4L0JTO0VBQ0c7QWJ3OC9CWjtBYXo4L0JTO0VBQ0c7QWIyOC9CWjtBYTU4L0JTO0VBQ0c7QWI4OC9CWjtBYS84L0JTO0VBQ0c7QWJpOS9CWjtBYWw5L0JTO0VBQ0c7QWJvOS9CWjtBYXI5L0JTO0VBQ0c7QWJ1OS9CWjtBYXg5L0JTO0VBQ0c7QWIwOS9CWjtBYTM5L0JTO0VBQ0c7QWI2OS9CWjtBYTk5L0JTO0VBQ0c7QWJnKy9CWjtBYWorL0JTO0VBQ0c7QWJtKy9CWjtBYXArL0JTO0VBQ0c7QWJzKy9CWjtBYXYrL0JTO0VBQ0c7QWJ5Ky9CWjtBYTErL0JTO0VBQ0c7QWI0Ky9CWjtBYTcrL0JTO0VBQ0c7QWIrKy9CWjtBYWgvL0JTO0VBQ0c7QWJrLy9CWjtBYW4vL0JTO0VBQ0c7QWJxLy9CWjtBYXQvL0JTO0VBQ0c7QWJ3Ly9CWjtBYXovL0JTO0VBQ0c7QWIyLy9CWjtBYTUvL0JTO0VBQ0c7QWI4Ly9CWjtBYS8vL0JTO0VBQ0c7QWJpZ2dDWjtBYWxnZ0NTO0VBQ0c7QWJvZ2dDWjtBYXJnZ0NTO0VBQ0c7QWJ1Z2dDWjtBYXhnZ0NTO0VBQ0c7QWIwZ2dDWjtBYTNnZ0NTO0VBQ0c7QWI2Z2dDWjtBYTlnZ0NTO0VBQ0c7QWJnaGdDWjtBYWpoZ0NTO0VBQ0c7QWJtaGdDWjtBYXBoZ0NTO0VBQ0c7QWJzaGdDWjtBYXZoZ0NTO0VBQ0c7QWJ5aGdDWjtBYTFoZ0NTO0VBQ0c7QWI0aGdDWjtBYTdoZ0NTO0VBQ0c7QWIraGdDWjtBYWhpZ0NTO0VBQ0c7QWJraWdDWjtBYW5pZ0NTO0VBQ0c7QWJxaWdDWjtBYXRpZ0NTO0VBQ0c7QWJ3aWdDWjtBYXppZ0NTO0VBQ0c7QWIyaWdDWjtBYTVpZ0NTO0VBQ0c7QWI4aWdDWjtBYS9pZ0NTO0VBQ0c7QWJpamdDWjtBYWxqZ0NTO0VBQ0c7QWJvamdDWjtBYXJqZ0NTO0VBQ0c7QWJ1amdDWjtBYXhqZ0NTO0VBQ0c7QWIwamdDWjtBYTNqZ0NTO0VBQ0c7QWI2amdDWjtBYTlqZ0NTO0VBQ0c7QWJna2dDWjtBYWprZ0NTO0VBQ0c7QWJta2dDWjtBYXBrZ0NTO0VBQ0c7QWJza2dDWjtBYXZrZ0NTO0VBQ0c7QWJ5a2dDWjtBYTFrZ0NTO0VBQ0c7QWI0a2dDWjtBYTdrZ0NTO0VBQ0c7QWIra2dDWjtBQUNBLFlBQVk7QUFDWjs7bUNBRW1DO0FBQ25DLFVBQVU7QWFybGdDRDtFQUNHO0VBRUk7QWJzbGdDaEI7QWF6bGdDUztFQUNHO0VBRUk7QWIwbGdDaEI7QWE3bGdDUztFQUNHO0VBRUk7QWI4bGdDaEI7QWFqbWdDUztFQUNHO0VBRUk7QWJrbWdDaEI7QWFybWdDUztFQUNHO0VBRUk7QWJzbWdDaEI7QWF6bWdDUztFQUNHO0VBRUk7QWIwbWdDaEI7QWE3bWdDUztFQUNHO0VBRUk7QWI4bWdDaEI7QWFqbmdDUztFQUNHO0VBRUk7QWJrbmdDaEI7QWFybmdDUztFQUNHO0VBRUk7QWJzbmdDaEI7QWF6bmdDUztFQUNHO0VBRUk7QWIwbmdDaEI7QWE3bmdDUztFQUNHO0VBRUk7QWI4bmdDaEI7QWFqb2dDUztFQUNHO0VBRUk7QWJrb2dDaEI7QWFyb2dDUztFQUNHO0VBRUk7QWJzb2dDaEI7QWF6b2dDUztFQUNHO0VBRUk7QWIwb2dDaEI7QWE3b2dDUztFQUNHO0VBRUk7QWI4b2dDaEI7QWFqcGdDUztFQUNHO0VBRUk7QWJrcGdDaEI7QWFycGdDUztFQUNHO0VBRUk7QWJzcGdDaEI7QWF6cGdDUztFQUNHO0VBRUk7QWIwcGdDaEI7QWE3cGdDUztFQUNHO0VBRUk7QWI4cGdDaEI7QWFqcWdDUztFQUNHO0VBRUk7QWJrcWdDaEI7QWFycWdDUztFQUNHO0VBRUk7QWJzcWdDaEI7QWF6cWdDUztFQUNHO0VBRUk7QWIwcWdDaEI7QWE3cWdDUztFQUNHO0VBRUk7QWI4cWdDaEI7QWFqcmdDUztFQUNHO0VBRUk7QWJrcmdDaEI7QWFycmdDUztFQUNHO0VBRUk7QWJzcmdDaEI7QWF6cmdDUztFQUNHO0VBRUk7QWIwcmdDaEI7QWE3cmdDUztFQUNHO0VBRUk7QWI4cmdDaEI7QWFqc2dDUztFQUNHO0VBRUk7QWJrc2dDaEI7QWFyc2dDUztFQUNHO0VBRUk7QWJzc2dDaEI7QWF6c2dDUztFQUNHO0VBRUk7QWIwc2dDaEI7QWE3c2dDUztFQUNHO0VBRUk7QWI4c2dDaEI7QWFqdGdDUztFQUNHO0VBRUk7QWJrdGdDaEI7QWFydGdDUztFQUNHO0VBRUk7QWJzdGdDaEI7QWF6dGdDUztFQUNHO0VBRUk7QWIwdGdDaEI7QWE3dGdDUztFQUNHO0VBRUk7QWI4dGdDaEI7QWFqdWdDUztFQUNHO0VBRUk7QWJrdWdDaEI7QWFydWdDUztFQUNHO0VBRUk7QWJzdWdDaEI7QWF6dWdDUztFQUNHO0VBRUk7QWIwdWdDaEI7QWE3dWdDUztFQUNHO0VBRUk7QWI4dWdDaEI7QWFqdmdDUztFQUNHO0VBRUk7QWJrdmdDaEI7QWFydmdDUztFQUNHO0VBRUk7QWJzdmdDaEI7QWF6dmdDUztFQUNHO0VBRUk7QWIwdmdDaEI7QWE3dmdDUztFQUNHO0VBRUk7QWI4dmdDaEI7QWFqd2dDUztFQUNHO0VBRUk7QWJrd2dDaEI7QWFyd2dDUztFQUNHO0VBRUk7QWJzd2dDaEI7QWF6d2dDUztFQUNHO0VBRUk7QWIwd2dDaEI7QWE3d2dDUztFQUNHO0VBRUk7QWI4d2dDaEI7QWFqeGdDUztFQUNHO0VBRUk7QWJreGdDaEI7QWFyeGdDUztFQUNHO0VBRUk7QWJzeGdDaEI7QWF6eGdDUztFQUNHO0VBRUk7QWIweGdDaEI7QWE3eGdDUztFQUNHO0VBRUk7QWI4eGdDaEI7QWFqeWdDUztFQUNHO0VBRUk7QWJreWdDaEI7QWFyeWdDUztFQUNHO0VBRUk7QWJzeWdDaEI7QWF6eWdDUztFQUNHO0VBRUk7QWIweWdDaEI7QWE3eWdDUztFQUNHO0VBRUk7QWI4eWdDaEI7QWFqemdDUztFQUNHO0VBRUk7QWJremdDaEI7QWFyemdDUztFQUNHO0VBRUk7QWJzemdDaEI7QWF6emdDUztFQUNHO0VBRUk7QWIwemdDaEI7QWE3emdDUztFQUNHO0VBRUk7QWI4emdDaEI7QWFqMGdDUztFQUNHO0VBRUk7QWJrMGdDaEI7QWFyMGdDUztFQUNHO0VBRUk7QWJzMGdDaEI7QWF6MGdDUztFQUNHO0VBRUk7QWIwMGdDaEI7QWE3MGdDUztFQUNHO0VBRUk7QWI4MGdDaEI7QWFqMWdDUztFQUNHO0VBRUk7QWJrMWdDaEI7QWFyMWdDUztFQUNHO0VBRUk7QWJzMWdDaEI7QWF6MWdDUztFQUNHO0VBRUk7QWIwMWdDaEI7QWE3MWdDUztFQUNHO0VBRUk7QWI4MWdDaEI7QWFqMmdDUztFQUNHO0VBRUk7QWJrMmdDaEI7QWFyMmdDUztFQUNHO0VBRUk7QWJzMmdDaEI7QWF6MmdDUztFQUNHO0VBRUk7QWIwMmdDaEI7QWE3MmdDUztFQUNHO0VBRUk7QWI4MmdDaEI7QWFqM2dDUztFQUNHO0VBRUk7QWJrM2dDaEI7QWFyM2dDUztFQUNHO0VBRUk7QWJzM2dDaEI7QWF6M2dDUztFQUNHO0VBRUk7QWIwM2dDaEI7QWE3M2dDUztFQUNHO0VBRUk7QWI4M2dDaEI7QWFqNGdDUztFQUNHO0VBRUk7QWJrNGdDaEI7QWFyNGdDUztFQUNHO0VBRUk7QWJzNGdDaEI7QWF6NGdDUztFQUNHO0VBRUk7QWIwNGdDaEI7QWE3NGdDUztFQUNHO0VBRUk7QWI4NGdDaEI7QWFqNWdDUztFQUNHO0VBRUk7QWJrNWdDaEI7QWFyNWdDUztFQUNHO0VBRUk7QWJzNWdDaEI7QWF6NWdDUztFQUNHO0VBRUk7QWIwNWdDaEI7QWE3NWdDUztFQUNHO0VBRUk7QWI4NWdDaEI7QWFqNmdDUztFQUNHO0VBRUk7QWJrNmdDaEI7QWFyNmdDUztFQUNHO0VBRUk7QWJzNmdDaEI7QWF6NmdDUztFQUNHO0VBRUk7QWIwNmdDaEI7QWE3NmdDUztFQUNHO0VBRUk7QWI4NmdDaEI7QWFqN2dDUztFQUNHO0VBRUk7QWJrN2dDaEI7QWFyN2dDUztFQUNHO0VBRUk7QWJzN2dDaEI7QWF6N2dDUztFQUNHO0VBRUk7QWIwN2dDaEI7QWE3N2dDUztFQUNHO0VBRUk7QWI4N2dDaEI7QWFqOGdDUztFQUNHO0VBRUk7QWJrOGdDaEI7QWFyOGdDUztFQUNHO0VBRUk7QWJzOGdDaEI7QWF6OGdDUztFQUNHO0VBRUk7QWIwOGdDaEI7QWE3OGdDUztFQUNHO0VBRUk7QWI4OGdDaEI7QWFqOWdDUztFQUNHO0VBRUk7QWJrOWdDaEI7QWFyOWdDUztFQUNHO0VBRUk7QWJzOWdDaEI7QWF6OWdDUztFQUNHO0VBRUk7QWIwOWdDaEI7QWE3OWdDUztFQUNHO0VBRUk7QWI4OWdDaEI7QWFqK2dDUztFQUNHO0VBRUk7QWJrK2dDaEI7QWFyK2dDUztFQUNHO0VBRUk7QWJzK2dDaEI7QWF6K2dDUztFQUNHO0VBRUk7QWIwK2dDaEI7QWE3K2dDUztFQUNHO0VBRUk7QWI4K2dDaEI7QWFqL2dDUztFQUNHO0VBRUk7QWJrL2dDaEI7QWFyL2dDUztFQUNHO0VBRUk7QWJzL2dDaEI7QWF6L2dDUztFQUNHO0VBRUk7QWIwL2dDaEI7QWE3L2dDUztFQUNHO0VBRUk7QWI4L2dDaEI7QWFqZ2hDUztFQUNHO0VBRUk7QWJrZ2hDaEI7QWFyZ2hDUztFQUNHO0VBRUk7QWJzZ2hDaEI7QWF6Z2hDUztFQUNHO0VBRUk7QWIwZ2hDaEI7QWE3Z2hDUztFQUNHO0VBRUk7QWI4Z2hDaEI7QWFqaGhDUztFQUNHO0VBRUk7QWJraGhDaEI7QWFyaGhDUztFQUNHO0VBRUk7QWJzaGhDaEI7QWF6aGhDUztFQUNHO0VBRUk7QWIwaGhDaEI7QWE3aGhDUztFQUNHO0VBRUk7QWI4aGhDaEI7QWFqaWhDUztFQUNHO0VBRUk7QWJraWhDaEI7QWFyaWhDUztFQUNHO0VBRUk7QWJzaWhDaEI7QWF6aWhDUztFQUNHO0VBRUk7QWIwaWhDaEI7QWE3aWhDUztFQUNHO0VBRUk7QWI4aWhDaEI7QWFqamhDUztFQUNHO0VBRUk7QWJramhDaEI7QWFyamhDUztFQUNHO0VBRUk7QWJzamhDaEI7QWF6amhDUztFQUNHO0VBRUk7QWIwamhDaEI7QWE3amhDUztFQUNHO0VBRUk7QWI4amhDaEI7QWFqa2hDUztFQUNHO0VBRUk7QWJra2hDaEI7QWFya2hDUztFQUNHO0VBRUk7QWJza2hDaEI7QWF6a2hDUztFQUNHO0VBRUk7QWIwa2hDaEI7QWE3a2hDUztFQUNHO0VBRUk7QWI4a2hDaEI7QWFqbGhDUztFQUNHO0VBRUk7QWJrbGhDaEI7QWFybGhDUztFQUNHO0VBRUk7QWJzbGhDaEI7QWF6bGhDUztFQUNHO0VBRUk7QWIwbGhDaEI7QWE3bGhDUztFQUNHO0VBRUk7QWI4bGhDaEI7QWFqbWhDUztFQUNHO0VBRUk7QWJrbWhDaEI7QWFybWhDUztFQUNHO0VBRUk7QWJzbWhDaEI7QWF6bWhDUztFQUNHO0VBRUk7QWIwbWhDaEI7QWE3bWhDUztFQUNHO0VBRUk7QWI4bWhDaEI7QWFqbmhDUztFQUNHO0VBRUk7QWJrbmhDaEI7QWFybmhDUztFQUNHO0VBRUk7QWJzbmhDaEI7QWF6bmhDUztFQUNHO0VBRUk7QWIwbmhDaEI7QWE3bmhDUztFQUNHO0VBRUk7QWI4bmhDaEI7QWFqb2hDUztFQUNHO0VBRUk7QWJrb2hDaEI7QWFyb2hDUztFQUNHO0VBRUk7QWJzb2hDaEI7QWF6b2hDUztFQUNHO0VBRUk7QWIwb2hDaEI7QWE3b2hDUztFQUNHO0VBRUk7QWI4b2hDaEI7QWFqcGhDUztFQUNHO0VBRUk7QWJrcGhDaEI7QWFycGhDUztFQUNHO0VBRUk7QWJzcGhDaEI7QWF6cGhDUztFQUNHO0VBRUk7QWIwcGhDaEI7QWE3cGhDUztFQUNHO0VBRUk7QWI4cGhDaEI7QWFqcWhDUztFQUNHO0VBRUk7QWJrcWhDaEI7QWFycWhDUztFQUNHO0VBRUk7QWJzcWhDaEI7QWF6cWhDUztFQUNHO0VBRUk7QWIwcWhDaEI7QWE3cWhDUztFQUNHO0VBRUk7QWI4cWhDaEI7QWFqcmhDUztFQUNHO0VBRUk7QWJrcmhDaEI7QWFycmhDUztFQUNHO0VBRUk7QWJzcmhDaEI7QWF6cmhDUztFQUNHO0VBRUk7QWIwcmhDaEI7QWE3cmhDUztFQUNHO0VBRUk7QWI4cmhDaEI7QWFqc2hDUztFQUNHO0VBRUk7QWJrc2hDaEI7QWFyc2hDUztFQUNHO0VBRUk7QWJzc2hDaEI7QWF6c2hDUztFQUNHO0VBRUk7QWIwc2hDaEI7QWE3c2hDUztFQUNHO0VBRUk7QWI4c2hDaEI7QWFqdGhDUztFQUNHO0VBRUk7QWJrdGhDaEI7QWFydGhDUztFQUNHO0VBRUk7QWJzdGhDaEI7QWF6dGhDUztFQUNHO0VBRUk7QWIwdGhDaEI7QWE3dGhDUztFQUNHO0VBRUk7QWI4dGhDaEI7QWFqdWhDUztFQUNHO0VBRUk7QWJrdWhDaEI7QWFydWhDUztFQUNHO0VBRUk7QWJzdWhDaEI7QWF6dWhDUztFQUNHO0VBRUk7QWIwdWhDaEI7QWE3dWhDUztFQUNHO0VBRUk7QWI4dWhDaEI7QWFqdmhDUztFQUNHO0VBRUk7QWJrdmhDaEI7QWFydmhDUztFQUNHO0VBRUk7QWJzdmhDaEI7QWF6dmhDUztFQUNHO0VBRUk7QWIwdmhDaEI7QWE3dmhDUztFQUNHO0VBRUk7QWI4dmhDaEI7QWFqd2hDUztFQUNHO0VBRUk7QWJrd2hDaEI7QWFyd2hDUztFQUNHO0VBRUk7QWJzd2hDaEI7QWF6d2hDUztFQUNHO0VBRUk7QWIwd2hDaEI7QWE3d2hDUztFQUNHO0VBRUk7QWI4d2hDaEI7QWFqeGhDUztFQUNHO0VBRUk7QWJreGhDaEI7QWFyeGhDUztFQUNHO0VBRUk7QWJzeGhDaEI7QWF6eGhDUztFQUNHO0VBRUk7QWIweGhDaEI7QWE3eGhDUztFQUNHO0VBRUk7QWI4eGhDaEI7QWFqeWhDUztFQUNHO0VBRUk7QWJreWhDaEI7QWFyeWhDUztFQUNHO0VBRUk7QWJzeWhDaEI7QWF6eWhDUztFQUNHO0VBRUk7QWIweWhDaEI7QWE3eWhDUztFQUNHO0VBRUk7QWI4eWhDaEI7QWFqemhDUztFQUNHO0VBRUk7QWJremhDaEI7QWFyemhDUztFQUNHO0VBRUk7QWJzemhDaEI7QWF6emhDUztFQUNHO0VBRUk7QWIwemhDaEI7QWE3emhDUztFQUNHO0VBRUk7QWI4emhDaEI7QWFqMGhDUztFQUNHO0VBRUk7QWJrMGhDaEI7QWFyMGhDUztFQUNHO0VBRUk7QWJzMGhDaEI7QWF6MGhDUztFQUNHO0VBRUk7QWIwMGhDaEI7QWE3MGhDUztFQUNHO0VBRUk7QWI4MGhDaEI7QWFqMWhDUztFQUNHO0VBRUk7QWJrMWhDaEI7QWFyMWhDUztFQUNHO0VBRUk7QWJzMWhDaEI7QWF6MWhDUztFQUNHO0VBRUk7QWIwMWhDaEI7QWE3MWhDUztFQUNHO0VBRUk7QWI4MWhDaEI7QWFqMmhDUztFQUNHO0VBRUk7QWJrMmhDaEI7QWFyMmhDUztFQUNHO0VBRUk7QWJzMmhDaEI7QWF6MmhDUztFQUNHO0VBRUk7QWIwMmhDaEI7QWE3MmhDUztFQUNHO0VBRUk7QWI4MmhDaEI7QWFqM2hDUztFQUNHO0VBRUk7QWJrM2hDaEI7QWFyM2hDUztFQUNHO0VBRUk7QWJzM2hDaEI7QWF6M2hDUztFQUNHO0VBRUk7QWIwM2hDaEI7QWE3M2hDUztFQUNHO0VBRUk7QWI4M2hDaEI7QWFqNGhDUztFQUNHO0VBRUk7QWJrNGhDaEI7QWFyNGhDUztFQUNHO0VBRUk7QWJzNGhDaEI7QWF6NGhDUztFQUNHO0VBRUk7QWIwNGhDaEI7QWE3NGhDUztFQUNHO0VBRUk7QWI4NGhDaEI7QWFqNWhDUztFQUNHO0VBRUk7QWJrNWhDaEI7QWFyNWhDUztFQUNHO0VBRUk7QWJzNWhDaEI7QWF6NWhDUztFQUNHO0VBRUk7QWIwNWhDaEI7QWE3NWhDUztFQUNHO0VBRUk7QWI4NWhDaEI7QWFqNmhDUztFQUNHO0VBRUk7QWJrNmhDaEI7QWFyNmhDUztFQUNHO0VBRUk7QWJzNmhDaEI7QWF6NmhDUztFQUNHO0VBRUk7QWIwNmhDaEI7QWE3NmhDUztFQUNHO0VBRUk7QWI4NmhDaEI7QWFqN2hDUztFQUNHO0VBRUk7QWJrN2hDaEI7QWFyN2hDUztFQUNHO0VBRUk7QWJzN2hDaEI7QWF6N2hDUztFQUNHO0VBRUk7QWIwN2hDaEI7QWE3N2hDUztFQUNHO0VBRUk7QWI4N2hDaEI7QWFqOGhDUztFQUNHO0VBRUk7QWJrOGhDaEI7QWFyOGhDUztFQUNHO0VBRUk7QWJzOGhDaEI7QWF6OGhDUztFQUNHO0VBRUk7QWIwOGhDaEI7QWE3OGhDUztFQUNHO0VBRUk7QWI4OGhDaEI7QWFqOWhDUztFQUNHO0VBRUk7QWJrOWhDaEI7QWFyOWhDUztFQUNHO0VBRUk7QWJzOWhDaEI7QWF6OWhDUztFQUNHO0VBRUk7QWIwOWhDaEI7QWE3OWhDUztFQUNHO0VBRUk7QWI4OWhDaEI7QWFqK2hDUztFQUNHO0VBRUk7QWJrK2hDaEI7QWFyK2hDUztFQUNHO0VBRUk7QWJzK2hDaEI7QWF6K2hDUztFQUNHO0VBRUk7QWIwK2hDaEI7QWE3K2hDUztFQUNHO0VBRUk7QWI4K2hDaEI7QWFqL2hDUztFQUNHO0VBRUk7QWJrL2hDaEI7QWFyL2hDUztFQUNHO0VBRUk7QWJzL2hDaEI7QWF6L2hDUztFQUNHO0VBRUk7QWIwL2hDaEI7QWE3L2hDUztFQUNHO0VBRUk7QWI4L2hDaEI7QWFqZ2lDUztFQUNHO0VBRUk7QWJrZ2lDaEI7QWFyZ2lDUztFQUNHO0VBRUk7QWJzZ2lDaEI7QWF6Z2lDUztFQUNHO0VBRUk7QWIwZ2lDaEI7QWE3Z2lDUztFQUNHO0VBRUk7QWI4Z2lDaEI7QWFqaGlDUztFQUNHO0VBRUk7QWJraGlDaEI7QWFyaGlDUztFQUNHO0VBRUk7QWJzaGlDaEI7QWF6aGlDUztFQUNHO0VBRUk7QWIwaGlDaEI7QWE3aGlDUztFQUNHO0VBRUk7QWI4aGlDaEI7QWFqaWlDUztFQUNHO0VBRUk7QWJraWlDaEI7QWFyaWlDUztFQUNHO0VBRUk7QWJzaWlDaEI7QWF6aWlDUztFQUNHO0VBRUk7QWIwaWlDaEI7QWE3aWlDUztFQUNHO0VBRUk7QWI4aWlDaEI7QWFqamlDUztFQUNHO0VBRUk7QWJramlDaEI7QWFyamlDUztFQUNHO0VBRUk7QWJzamlDaEI7QWF6amlDUztFQUNHO0VBRUk7QWIwamlDaEI7QWE3amlDUztFQUNHO0VBRUk7QWI4amlDaEI7QWFqa2lDUztFQUNHO0VBRUk7QWJra2lDaEI7QWFya2lDUztFQUNHO0VBRUk7QWJza2lDaEI7QWF6a2lDUztFQUNHO0VBRUk7QWIwa2lDaEI7QWE3a2lDUztFQUNHO0VBRUk7QWI4a2lDaEI7QWFqbGlDUztFQUNHO0VBRUk7QWJrbGlDaEI7QWFybGlDUztFQUNHO0VBRUk7QWJzbGlDaEI7QWF6bGlDUztFQUNHO0VBRUk7QWIwbGlDaEI7QWE3bGlDUztFQUNHO0VBRUk7QWI4bGlDaEI7QWFqbWlDUztFQUNHO0VBRUk7QWJrbWlDaEI7QWFybWlDUztFQUNHO0VBRUk7QWJzbWlDaEI7QWF6bWlDUztFQUNHO0VBRUk7QWIwbWlDaEI7QWE3bWlDUztFQUNHO0VBRUk7QWI4bWlDaEI7QWFqbmlDUztFQUNHO0VBRUk7QWJrbmlDaEI7QWFybmlDUztFQUNHO0VBRUk7QWJzbmlDaEI7QWF6bmlDUztFQUNHO0VBRUk7QWIwbmlDaEI7QWE3bmlDUztFQUNHO0VBRUk7QWI4bmlDaEI7QWFqb2lDUztFQUNHO0VBRUk7QWJrb2lDaEI7QWFyb2lDUztFQUNHO0VBRUk7QWJzb2lDaEI7QWF6b2lDUztFQUNHO0VBRUk7QWIwb2lDaEI7QWE3b2lDUztFQUNHO0VBRUk7QWI4b2lDaEI7QWFqcGlDUztFQUNHO0VBRUk7QWJrcGlDaEI7QWFycGlDUztFQUNHO0VBRUk7QWJzcGlDaEI7QWF6cGlDUztFQUNHO0VBRUk7QWIwcGlDaEI7QWE3cGlDUztFQUNHO0VBRUk7QWI4cGlDaEI7QWFqcWlDUztFQUNHO0VBRUk7QWJrcWlDaEI7QWFycWlDUztFQUNHO0VBRUk7QWJzcWlDaEI7QWF6cWlDUztFQUNHO0VBRUk7QWIwcWlDaEI7QWE3cWlDUztFQUNHO0VBRUk7QWI4cWlDaEI7QWFqcmlDUztFQUNHO0VBRUk7QWJrcmlDaEI7QWFycmlDUztFQUNHO0VBRUk7QWJzcmlDaEI7QWF6cmlDUztFQUNHO0VBRUk7QWIwcmlDaEI7QWE3cmlDUztFQUNHO0VBRUk7QWI4cmlDaEI7QWFqc2lDUztFQUNHO0VBRUk7QWJrc2lDaEI7QWFyc2lDUztFQUNHO0VBRUk7QWJzc2lDaEI7QWF6c2lDUztFQUNHO0VBRUk7QWIwc2lDaEI7QWE3c2lDUztFQUNHO0VBRUk7QWI4c2lDaEI7QWFqdGlDUztFQUNHO0VBRUk7QWJrdGlDaEI7QWFydGlDUztFQUNHO0VBRUk7QWJzdGlDaEI7QWF6dGlDUztFQUNHO0VBRUk7QWIwdGlDaEI7QWE3dGlDUztFQUNHO0VBRUk7QWI4dGlDaEI7QWFqdWlDUztFQUNHO0VBRUk7QWJrdWlDaEI7QWFydWlDUztFQUNHO0VBRUk7QWJzdWlDaEI7QWF6dWlDUztFQUNHO0VBRUk7QWIwdWlDaEI7QWE3dWlDUztFQUNHO0VBRUk7QWI4dWlDaEI7QWFqdmlDUztFQUNHO0VBRUk7QWJrdmlDaEI7QWFydmlDUztFQUNHO0VBRUk7QWJzdmlDaEI7QWF6dmlDUztFQUNHO0VBRUk7QWIwdmlDaEI7QWE3dmlDUztFQUNHO0VBRUk7QWI4dmlDaEI7QWFqd2lDUztFQUNHO0VBRUk7QWJrd2lDaEI7QWFyd2lDUztFQUNHO0VBRUk7QWJzd2lDaEI7QWF6d2lDUztFQUNHO0VBRUk7QWIwd2lDaEI7QWE3d2lDUztFQUNHO0VBRUk7QWI4d2lDaEI7QWFqeGlDUztFQUNHO0VBRUk7QWJreGlDaEI7QWFyeGlDUztFQUNHO0VBRUk7QWJzeGlDaEI7QWF6eGlDUztFQUNHO0VBRUk7QWIweGlDaEI7QWE3eGlDUztFQUNHO0VBRUk7QWI4eGlDaEI7QWFqeWlDUztFQUNHO0VBRUk7QWJreWlDaEI7QWFyeWlDUztFQUNHO0VBRUk7QWJzeWlDaEI7QWF6eWlDUztFQUNHO0VBRUk7QWIweWlDaEI7QWE3eWlDUztFQUNHO0VBRUk7QWI4eWlDaEI7QWFqemlDUztFQUNHO0VBRUk7QWJremlDaEI7QWFyemlDUztFQUNHO0VBRUk7QWJzemlDaEI7QWF6emlDUztFQUNHO0VBRUk7QWIwemlDaEI7QWE3emlDUztFQUNHO0VBRUk7QWI4emlDaEI7QWFqMGlDUztFQUNHO0VBRUk7QWJrMGlDaEI7QWFyMGlDUztFQUNHO0VBRUk7QWJzMGlDaEI7QWF6MGlDUztFQUNHO0VBRUk7QWIwMGlDaEI7QWE3MGlDUztFQUNHO0VBRUk7QWI4MGlDaEI7QWFqMWlDUztFQUNHO0VBRUk7QWJrMWlDaEI7QWFyMWlDUztFQUNHO0VBRUk7QWJzMWlDaEI7QWF6MWlDUztFQUNHO0VBRUk7QWIwMWlDaEI7QWE3MWlDUztFQUNHO0VBRUk7QWI4MWlDaEI7QWFqMmlDUztFQUNHO0VBRUk7QWJrMmlDaEI7QWFyMmlDUztFQUNHO0VBRUk7QWJzMmlDaEI7QWF6MmlDUztFQUNHO0VBRUk7QWIwMmlDaEI7QWE3MmlDUztFQUNHO0VBRUk7QWI4MmlDaEI7QWFqM2lDUztFQUNHO0VBRUk7QWJrM2lDaEI7QWFyM2lDUztFQUNHO0VBRUk7QWJzM2lDaEI7QWF6M2lDUztFQUNHO0VBRUk7QWIwM2lDaEI7QWE3M2lDUztFQUNHO0VBRUk7QWI4M2lDaEI7QWFqNGlDUztFQUNHO0VBRUk7QWJrNGlDaEI7QWFyNGlDUztFQUNHO0VBRUk7QWJzNGlDaEI7QWF6NGlDUztFQUNHO0VBRUk7QWIwNGlDaEI7QWE3NGlDUztFQUNHO0VBRUk7QWI4NGlDaEI7QWFqNWlDUztFQUNHO0VBRUk7QWJrNWlDaEI7QWFyNWlDUztFQUNHO0VBRUk7QWJzNWlDaEI7QWF6NWlDUztFQUNHO0VBRUk7QWIwNWlDaEI7QWE3NWlDUztFQUNHO0VBRUk7QWI4NWlDaEI7QWFqNmlDUztFQUNHO0VBRUk7QWJrNmlDaEI7QWFyNmlDUztFQUNHO0VBRUk7QWJzNmlDaEI7QWF6NmlDUztFQUNHO0VBRUk7QWIwNmlDaEI7QWE3NmlDUztFQUNHO0VBRUk7QWI4NmlDaEI7QWFqN2lDUztFQUNHO0VBRUk7QWJrN2lDaEI7QWFyN2lDUztFQUNHO0VBRUk7QWJzN2lDaEI7QWF6N2lDUztFQUNHO0VBRUk7QWIwN2lDaEI7QWE3N2lDUztFQUNHO0VBRUk7QWI4N2lDaEI7QWFqOGlDUztFQUNHO0VBRUk7QWJrOGlDaEI7QWFyOGlDUztFQUNHO0VBRUk7QWJzOGlDaEI7QWF6OGlDUztFQUNHO0VBRUk7QWIwOGlDaEI7QWE3OGlDUztFQUNHO0VBRUk7QWI4OGlDaEI7QWFqOWlDUztFQUNHO0VBRUk7QWJrOWlDaEI7QWFyOWlDUztFQUNHO0VBRUk7QWJzOWlDaEI7QWF6OWlDUztFQUNHO0VBRUk7QWIwOWlDaEI7QWE3OWlDUztFQUNHO0VBRUk7QWI4OWlDaEI7QWFqK2lDUztFQUNHO0VBRUk7QWJrK2lDaEI7QWFyK2lDUztFQUNHO0VBRUk7QWJzK2lDaEI7QWF6K2lDUztFQUNHO0VBRUk7QWIwK2lDaEI7QWE3K2lDUztFQUNHO0VBRUk7QWI4K2lDaEI7QWFqL2lDUztFQUNHO0VBRUk7QWJrL2lDaEI7QWFyL2lDUztFQUNHO0VBRUk7QWJzL2lDaEI7QWF6L2lDUztFQUNHO0VBRUk7QWIwL2lDaEI7QWE3L2lDUztFQUNHO0VBRUk7QWI4L2lDaEI7QWFqZ2pDUztFQUNHO0VBRUk7QWJrZ2pDaEI7QWFyZ2pDUztFQUNHO0VBRUk7QWJzZ2pDaEI7QWF6Z2pDUztFQUNHO0VBRUk7QWIwZ2pDaEI7QWE3Z2pDUztFQUNHO0VBRUk7QWI4Z2pDaEI7QWFqaGpDUztFQUNHO0VBRUk7QWJraGpDaEI7QWFyaGpDUztFQUNHO0VBRUk7QWJzaGpDaEI7QWF6aGpDUztFQUNHO0VBRUk7QWIwaGpDaEI7QWE3aGpDUztFQUNHO0VBRUk7QWI4aGpDaEI7QWFqaWpDUztFQUNHO0VBRUk7QWJraWpDaEI7QWFyaWpDUztFQUNHO0VBRUk7QWJzaWpDaEI7QWF6aWpDUztFQUNHO0VBRUk7QWIwaWpDaEI7QWE3aWpDUztFQUNHO0VBRUk7QWI4aWpDaEI7QWFqampDUztFQUNHO0VBRUk7QWJrampDaEI7QWFyampDUztFQUNHO0VBRUk7QWJzampDaEI7QWF6ampDUztFQUNHO0VBRUk7QWIwampDaEI7QWE3ampDUztFQUNHO0VBRUk7QWI4ampDaEI7QWFqa2pDUztFQUNHO0VBRUk7QWJra2pDaEI7QWFya2pDUztFQUNHO0VBRUk7QWJza2pDaEI7QWF6a2pDUztFQUNHO0VBRUk7QWIwa2pDaEI7QWE3a2pDUztFQUNHO0VBRUk7QWI4a2pDaEI7QWFqbGpDUztFQUNHO0VBRUk7QWJrbGpDaEI7QWFybGpDUztFQUNHO0VBRUk7QWJzbGpDaEI7QWF6bGpDUztFQUNHO0VBRUk7QWIwbGpDaEI7QWE3bGpDUztFQUNHO0VBRUk7QWI4bGpDaEI7QWFqbWpDUztFQUNHO0VBRUk7QWJrbWpDaEI7QWFybWpDUztFQUNHO0VBRUk7QWJzbWpDaEI7QWF6bWpDUztFQUNHO0VBRUk7QWIwbWpDaEI7QWE3bWpDUztFQUNHO0VBRUk7QWI4bWpDaEI7QWFqbmpDUztFQUNHO0VBRUk7QWJrbmpDaEI7QWFybmpDUztFQUNHO0VBRUk7QWJzbmpDaEI7QWF6bmpDUztFQUNHO0VBRUk7QWIwbmpDaEI7QWE3bmpDUztFQUNHO0VBRUk7QWI4bmpDaEI7QWFqb2pDUztFQUNHO0VBRUk7QWJrb2pDaEI7QWFyb2pDUztFQUNHO0VBRUk7QWJzb2pDaEI7QWF6b2pDUztFQUNHO0VBRUk7QWIwb2pDaEI7QWE3b2pDUztFQUNHO0VBRUk7QWI4b2pDaEI7QWFqcGpDUztFQUNHO0VBRUk7QWJrcGpDaEI7QWFycGpDUztFQUNHO0VBRUk7QWJzcGpDaEI7QWF6cGpDUztFQUNHO0VBRUk7QWIwcGpDaEI7QWE3cGpDUztFQUNHO0VBRUk7QWI4cGpDaEI7QWFqcWpDUztFQUNHO0VBRUk7QWJrcWpDaEI7QWFycWpDUztFQUNHO0VBRUk7QWJzcWpDaEI7QWF6cWpDUztFQUNHO0VBRUk7QWIwcWpDaEI7QWE3cWpDUztFQUNHO0VBRUk7QWI4cWpDaEI7QWFqcmpDUztFQUNHO0VBRUk7QWJrcmpDaEI7QWFycmpDUztFQUNHO0VBRUk7QWJzcmpDaEI7QWF6cmpDUztFQUNHO0VBRUk7QWIwcmpDaEI7QWE3cmpDUztFQUNHO0VBRUk7QWI4cmpDaEI7QWFqc2pDUztFQUNHO0VBRUk7QWJrc2pDaEI7QWFyc2pDUztFQUNHO0VBRUk7QWJzc2pDaEI7QWF6c2pDUztFQUNHO0VBRUk7QWIwc2pDaEI7QWE3c2pDUztFQUNHO0VBRUk7QWI4c2pDaEI7QWFqdGpDUztFQUNHO0VBRUk7QWJrdGpDaEI7QWFydGpDUztFQUNHO0VBRUk7QWJzdGpDaEI7QWF6dGpDUztFQUNHO0VBRUk7QWIwdGpDaEI7QWE3dGpDUztFQUNHO0VBRUk7QWI4dGpDaEI7QWFqdWpDUztFQUNHO0VBRUk7QWJrdWpDaEI7QWFydWpDUztFQUNHO0VBRUk7QWJzdWpDaEI7QWF6dWpDUztFQUNHO0VBRUk7QWIwdWpDaEI7QWE3dWpDUztFQUNHO0VBRUk7QWI4dWpDaEI7QWFqdmpDUztFQUNHO0VBRUk7QWJrdmpDaEI7QWFydmpDUztFQUNHO0VBRUk7QWJzdmpDaEI7QWF6dmpDUztFQUNHO0VBRUk7QWIwdmpDaEI7QWE3dmpDUztFQUNHO0VBRUk7QWI4dmpDaEI7QWFqd2pDUztFQUNHO0VBRUk7QWJrd2pDaEI7QWFyd2pDUztFQUNHO0VBRUk7QWJzd2pDaEI7QWF6d2pDUztFQUNHO0VBRUk7QWIwd2pDaEI7QWE3d2pDUztFQUNHO0VBRUk7QWI4d2pDaEI7QWFqeGpDUztFQUNHO0VBRUk7QWJreGpDaEI7QWFyeGpDUztFQUNHO0VBRUk7QWJzeGpDaEI7QWF6eGpDUztFQUNHO0VBRUk7QWIweGpDaEI7QWE3eGpDUztFQUNHO0VBRUk7QWI4eGpDaEI7QWFqeWpDUztFQUNHO0VBRUk7QWJreWpDaEI7QWFyeWpDUztFQUNHO0VBRUk7QWJzeWpDaEI7QWF6eWpDUztFQUNHO0VBRUk7QWIweWpDaEI7QWE3eWpDUztFQUNHO0VBRUk7QWI4eWpDaEI7QWFqempDUztFQUNHO0VBRUk7QWJrempDaEI7QWFyempDUztFQUNHO0VBRUk7QWJzempDaEI7QWF6empDUztFQUNHO0VBRUk7QWIwempDaEI7QWE3empDUztFQUNHO0VBRUk7QWI4empDaEI7QWFqMGpDUztFQUNHO0VBRUk7QWJrMGpDaEI7QWFyMGpDUztFQUNHO0VBRUk7QWJzMGpDaEI7QWF6MGpDUztFQUNHO0VBRUk7QWIwMGpDaEI7QWE3MGpDUztFQUNHO0VBRUk7QWI4MGpDaEI7QWFqMWpDUztFQUNHO0VBRUk7QWJrMWpDaEI7QWFyMWpDUztFQUNHO0VBRUk7QWJzMWpDaEI7QWF6MWpDUztFQUNHO0VBRUk7QWIwMWpDaEI7QWE3MWpDUztFQUNHO0VBRUk7QWI4MWpDaEI7QWFqMmpDUztFQUNHO0VBRUk7QWJrMmpDaEI7QWFyMmpDUztFQUNHO0VBRUk7QWJzMmpDaEI7QWF6MmpDUztFQUNHO0VBRUk7QWIwMmpDaEI7QWE3MmpDUztFQUNHO0VBRUk7QWI4MmpDaEI7QUFDQSxZQUFZO0FhbDNqQ0g7RUFDRztFQUVJO0FibTNqQ2hCO0FhdDNqQ1M7RUFDRztFQUVJO0FidTNqQ2hCO0FhMTNqQ1M7RUFDRztFQUVJO0FiMjNqQ2hCO0FhOTNqQ1M7RUFDRztFQUVJO0FiKzNqQ2hCO0FhbDRqQ1M7RUFDRztFQUVJO0FibTRqQ2hCO0FhdDRqQ1M7RUFDRztFQUVJO0FidTRqQ2hCO0FhMTRqQ1M7RUFDRztFQUVJO0FiMjRqQ2hCO0FhOTRqQ1M7RUFDRztFQUVJO0FiKzRqQ2hCO0FhbDVqQ1M7RUFDRztFQUVJO0FibTVqQ2hCO0FhdDVqQ1M7RUFDRztFQUVJO0FidTVqQ2hCO0FhMTVqQ1M7RUFDRztFQUVJO0FiMjVqQ2hCO0FhOTVqQ1M7RUFDRztFQUVJO0FiKzVqQ2hCO0FhbDZqQ1M7RUFDRztFQUVJO0FibTZqQ2hCO0FhdDZqQ1M7RUFDRztFQUVJO0FidTZqQ2hCO0FhMTZqQ1M7RUFDRztFQUVJO0FiMjZqQ2hCO0FhOTZqQ1M7RUFDRztFQUVJO0FiKzZqQ2hCO0FhbDdqQ1M7RUFDRztFQUVJO0FibTdqQ2hCO0FhdDdqQ1M7RUFDRztFQUVJO0FidTdqQ2hCO0FhMTdqQ1M7RUFDRztFQUVJO0FiMjdqQ2hCO0FhOTdqQ1M7RUFDRztFQUVJO0FiKzdqQ2hCO0FhbDhqQ1M7RUFDRztFQUVJO0FibThqQ2hCO0FhdDhqQ1M7RUFDRztFQUVJO0FidThqQ2hCO0FhMThqQ1M7RUFDRztFQUVJO0FiMjhqQ2hCO0FhOThqQ1M7RUFDRztFQUVJO0FiKzhqQ2hCO0FhbDlqQ1M7RUFDRztFQUVJO0FibTlqQ2hCO0FhdDlqQ1M7RUFDRztFQUVJO0FidTlqQ2hCO0FhMTlqQ1M7RUFDRztFQUVJO0FiMjlqQ2hCO0FhOTlqQ1M7RUFDRztFQUVJO0FiKzlqQ2hCO0FhbCtqQ1M7RUFDRztFQUVJO0FibStqQ2hCO0FhdCtqQ1M7RUFDRztFQUVJO0FidStqQ2hCO0FhMStqQ1M7RUFDRztFQUVJO0FiMitqQ2hCO0FhOStqQ1M7RUFDRztFQUVJO0FiKytqQ2hCO0FhbC9qQ1M7RUFDRztFQUVJO0FibS9qQ2hCO0FhdC9qQ1M7RUFDRztFQUVJO0FidS9qQ2hCO0FhMS9qQ1M7RUFDRztFQUVJO0FiMi9qQ2hCO0FhOS9qQ1M7RUFDRztFQUVJO0FiKy9qQ2hCO0FhbGdrQ1M7RUFDRztFQUVJO0FibWdrQ2hCO0FhdGdrQ1M7RUFDRztFQUVJO0FidWdrQ2hCO0FhMWdrQ1M7RUFDRztFQUVJO0FiMmdrQ2hCO0FhOWdrQ1M7RUFDRztFQUVJO0FiK2drQ2hCO0FhbGhrQ1M7RUFDRztFQUVJO0FibWhr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QUFDQSwwQkFBMEI7QWU3bm9DdEI7RUFDSTtFQUNBO0FmK25vQ1I7QWU3bm9DSTtFQUNJO0VBQ0E7RUFDQTtBZitub0NSO0FlN25vQ0k7RUFDSTtBZitub0NSO0FBQ0EsMkJBQTJCO0FlNW5vQ3ZCO0VBQ0k7RUFDQTtFQUNBO0FmOG5vQ1I7QWU1bm9DSTtFQUNJO0VBQ0E7QWY4bm9DUjtBZTNub0NJO0VBQ0k7QWY2bm9DUjtBQUNBLGlCQUFpQjtBZXhub0NiO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWYwbm9DUjtBQUNBLDhCQUE4QjtBZXZub0MxQjs7O0VBR0k7QWZ5bm9DUjtBZXZub0NJOzs7RUFHSTtBZnlub0NSO0Fldm5vQ0k7RUFDSTtBZnlub0NSO0FBQ0EsaUJBQWlCO0FldG5vQ2I7Ozs7O0VBS0k7QWZ3bm9DUjtBZXJub0NROzs7RUFHSTtBZnVub0NaO0Flcm5vQ1E7OztFQUdJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVqbm9DUTs7RUFDSTtBZm9ub0NaO0FlbG5vQ1E7O0VBQ0k7QWZxbm9DWjtBZXBub0NZOztFQUNJO0VBQ0E7QWZ1bm9DaEI7QWVsbm9DUTtFQUNJO0Fmb25vQ1o7QWVsbm9DUTtFQUNJO0Fmb25vQ1o7QWUvbW9DUTs7RUFDSTtBZmtub0NaO0FlaG5vQ1E7Ozs7RUFFSTtBZm9ub0NaO0Flam5vQ0k7RUFDSTtJQUNJO0VmbW5vQ1Y7RWVqbm9DTTtJQUNJO0VmbW5vQ1Y7QUFDRjtBZWhub0NRO0VBQ0k7QWZrbm9DWjtBZWhub0NROztFQUVJO0Fma25vQ1o7QWUvbW9DSTs7OztFQUlJO0FmaW5vQ1I7QWU3bW9DSTtFQUNJO0FmK21vQ1I7QWU3bW9DSTtFQUNJO0FmK21vQ1I7QUFDQSwwQkFBMEI7QWUzbW9DdEI7RUFDSTtFQUNBO0FmNm1vQ1I7QWUzbW9DSTtFQUNJO0VBQ0E7QWY2bW9DUjtBQUNBLG9DQUFvQztBZXBtb0MzQjs7OztFQUlHO0VBQ0E7QWZzbW9DWjtBZXBtb0NTOzs7O0VBSUc7QWZzbW9DWjtBZXBtb0NTOzs7Ozs7OztFQVFHO0Fmc21vQ1o7QWVwbW9DUzs7RUFFRztBZnNtb0NaO0FlL25vQ1M7Ozs7RUFJRztFQUNBO0FmaW9vQ1o7QWUvbm9DUzs7OztFQUlHO0FmaW9vQ1o7QWUvbm9DUzs7Ozs7Ozs7RUFRRztBZmlvb0NaO0FlL25vQ1M7O0VBRUc7QWZpb29DWjtBZTFwb0NTOzs7O0VBSUc7RUFDQTtBZjRwb0NaO0FlMXBvQ1M7Ozs7RUFJRztBZjRwb0NaO0FlMXBvQ1M7Ozs7Ozs7O0VBUUc7QWY0cG9DWjtBZTFwb0NTOztFQUVHO0FmNHBvQ1o7QWVycm9DUzs7OztFQUlHO0VBQ0E7QWZ1cm9DWjtBZXJyb0NTOzs7O0VBSUc7QWZ1cm9DWjtBZXJyb0NTOzs7Ozs7OztFQVFHO0FmdXJvQ1o7QWVycm9DUzs7RUFFRztBZnVyb0NaO0FBQ0E7OzJCQUUyQjtBZWhyb0N2Qjs7RUFFSTtFQUNBO0VBQ0E7QWZrcm9DUjtBZWhyb0NJOztFQUVJO0VBQ0E7RUFDQTtBZmtyb0NSO0FBQ0EsdUJBQXVCO0FlL3FvQ25COztFQUVJO0VBQ0E7RUFDQTtBZmlyb0NSO0FBQ0Esd0JBQXdCO0FlOXFvQ3BCOztFQUVJO0VBQ0E7RUFDQTtBZmdyb0NSO0FBQ0Esd0JBQXdCO0FlN3FvQ3BCOzs7RUFHSTtBZitxb0NSO0FlN3FvQ0k7OztFQUdJO0FmK3FvQ1I7QWU3cW9DSTs7O0VBR0k7QWYrcW9DUjtBQUNBLGdCQUFnQjtBZTVxb0NaOztFQUVJO0FmOHFvQ1I7QWUzcW9DSTs7RUFFSTtBZjZxb0NSO0FBQ0E7OzJCQUUyQjtBQUMzQixhQUFhO0FldnFvQ1Q7RUFDSTtBZnlxb0NSO0FBQ0E7OzJCQUUyQjtBZW5xb0N2QjtFQUNJO0FmcXFvQ1I7QWVucW9DSTtFQUNJO0FmcXFvQ1I7QUFDQTs7MkJBRTJCO0FBQzNCLCtCQUErQjtBZS9wb0MzQjtFQUNJO0FmaXFvQ1I7QWVocW9DUTtFQUNJO0Fma3FvQ1o7QWU5cG9DSzs7RUFFRztBZmdxb0NSO0FlN3BvQ0k7RUFDSTtBZitwb0NSO0FlN3BvQ0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYrcG9DUjtBZTlwb0NROztFQUNJO0VBQ0E7QWZpcW9DWjtBZTdwb0NRO0VBQ0k7QWYrcG9DWjtBZTdwb0NROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmK3BvQ1o7QWU5cG9DWTs7RUFDSTtFQUNBO0FmaXFvQ2hCO0FBQ0EsbURBQW1EO0FlN3BvQzNDO0VBQ0k7O0lBRUk7RWYrcG9DZDtBQUNGO0FlM3BvQ0k7RUFDSTtBZjZwb0NSO0FlM3BvQ0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY2cG9DUjtBZTVwb0NROztFQUNJO0VBQ0E7QWYrcG9DWjtBZW5wb0NJOztFQUVJO0VBQ0E7QWZxcG9DUjtBZWxwb0NLOztFQUVHO0VBQ0E7QWZvcG9DUjtBZW5wb0NROztFQUNJO0Fmc3BvQ1o7QUFDQSxvRkFBb0Y7QWU1b29DdkU7O0VBRUc7RUFDQTtBZjhvb0NoQjtBZTdvb0NnQjs7RUFDSTtBZmdwb0NwQjtBZXJwb0NhOztFQUVHO0VBQ0E7QWZ1cG9DaEI7QWV0cG9DZ0I7O0VBQ0k7QWZ5cG9DcEI7QWU5cG9DYTs7RUFFRztFQUNBO0FmZ3FvQ2hCO0FlL3BvQ2dCOztFQUNJO0Fma3FvQ3BCO0FldnFvQ2E7O0VBRUc7RUFDQTtBZnlxb0NoQjtBZXhxb0NnQjs7RUFDSTtBZjJxb0NwQjtBZWhyb0NhOztFQUVHO0VBQ0E7QWZrcm9DaEI7QWVqcm9DZ0I7O0VBQ0k7QWZvcm9DcEI7QWV6cm9DYTs7RUFFRztFQUNBO0FmMnJvQ2hCO0FlMXJvQ2dCOztFQUNJO0FmNnJvQ3BCO0FlbHNvQ2E7O0VBRUc7RUFDQTtBZm9zb0NoQjtBZW5zb0NnQjs7RUFDSTtBZnNzb0NwQjtBZTNzb0NhOztFQUVHO0VBQ0E7QWY2c29DaEI7QWU1c29DZ0I7O0VBQ0k7QWYrc29DcEI7QWVwdG9DYTs7RUFFRztFQUNBO0Fmc3RvQ2hCO0FlcnRvQ2dCOztFQUNJO0Fmd3RvQ3BCO0FlN3RvQ2E7O0VBRUc7RUFDQTtBZit0b0NoQjtBZTl0b0NnQjs7RUFDSTtBZml1b0NwQjtBZXR1b0NhOztFQUVHO0VBQ0E7QWZ3dW9DaEI7QWV2dW9DZ0I7O0VBQ0k7QWYwdW9DcEI7QWUvdW9DYTs7RUFFRztFQUNBO0FmaXZvQ2hCO0FlaHZvQ2dCOztFQUNJO0FmbXZvQ3BCO0FleHZvQ2E7O0VBRUc7RUFDQTtBZjB2b0NoQjtBZXp2b0NnQjs7RUFDSTtBZjR2b0NwQjtBZWp3b0NhOztFQUVHO0VBQ0E7QWZtd29DaEI7QWVsd29DZ0I7O0VBQ0k7QWZxd29DcEI7QWUxd29DYTs7RUFFRztFQUNBO0FmNHdvQ2hCO0FlM3dvQ2dCOztFQUNJO0FmOHdvQ3BCO0FlbHdvQ2E7O0VBRUc7RUFDQTtBZm93b0NoQjtBZW53b0NnQjs7RUFDSTtBZnN3b0NwQjtBZWx3b0NpQjs7RUFFRztFQUNBO0Fmb3dvQ3BCO0FlbndvQ29COztFQUNJO0Fmc3dvQ3hCO0FlbHdvQ2E7O0VBRUc7RUFDQTtBZm93b0NoQjtBZW53b0NnQjs7RUFDSTtBZnN3b0NwQjtBZTd4b0NhOztFQUVHO0VBQ0E7QWYreG9DaEI7QWU5eG9DZ0I7O0VBQ0k7QWZpeW9DcEI7QWU3eG9DaUI7O0VBRUc7RUFDQTtBZit4b0NwQjtBZTl4b0NvQjs7RUFDSTtBZml5b0N4QjtBZTd4b0NhOztFQUVHO0VBQ0E7QWYreG9DaEI7QWU5eG9DZ0I7O0VBQ0k7QWZpeW9DcEI7QWV4em9DYTs7RUFFRztFQUNBO0FmMHpvQ2hCO0FlenpvQ2dCOztFQUNJO0FmNHpvQ3BCO0FleHpvQ2lCOztFQUVHO0VBQ0E7QWYwem9DcEI7QWV6em9Db0I7O0VBQ0k7QWY0em9DeEI7QWV4em9DYTs7RUFFRztFQUNBO0FmMHpvQ2hCO0FlenpvQ2dCOztFQUNJO0FmNHpvQ3BCO0FlbjFvQ2E7O0VBRUc7RUFDQTtBZnExb0NoQjtBZXAxb0NnQjs7RUFDSTtBZnUxb0NwQjtBZW4xb0NpQjs7RUFFRztFQUNBO0FmcTFvQ3BCO0FlcDFvQ29COztFQUNJO0FmdTFvQ3hCO0FlbjFvQ2E7O0VBRUc7RUFDQTtBZnExb0NoQjtBZXAxb0NnQjs7RUFDSTtBZnUxb0NwQjtBZTkyb0NhOztFQUVHO0VBQ0E7QWZnM29DaEI7QWUvMm9DZ0I7O0VBQ0k7QWZrM29DcEI7QWU5Mm9DaUI7O0VBRUc7RUFDQTtBZmczb0NwQjtBZS8yb0NvQjs7RUFDSTtBZmszb0N4QjtBZTkyb0NhOztFQUVHO0VBQ0E7QWZnM29DaEI7QWUvMm9DZ0I7O0VBQ0k7QWZrM29DcEI7QWV6NG9DYTs7RUFFRztFQUNBO0FmMjRvQ2hCO0FlMTRvQ2dCOztFQUNJO0FmNjRvQ3BCO0FlejRvQ2lCOztFQUVHO0VBQ0E7QWYyNG9DcEI7QWUxNG9Db0I7O0VBQ0k7QWY2NG9DeEI7QWV6NG9DYTs7RUFFRztFQUNBO0FmMjRvQ2hCO0FlMTRvQ2dCOztFQUNJO0FmNjRvQ3BCO0FlcDZvQ2E7O0VBRUc7RUFDQTtBZnM2b0NoQjtBZXI2b0NnQjs7RUFDSTtBZnc2b0NwQjtBZXA2b0NpQjs7RUFFRztFQUNBO0FmczZvQ3BCO0FlcjZvQ29COztFQUNJO0FmdzZvQ3hCO0FlcDZvQ2E7O0VBRUc7RUFDQTtBZnM2b0NoQjtBZXI2b0NnQjs7RUFDSTtBZnc2b0NwQjtBZS83b0NhOztFQUVHO0VBQ0E7QWZpOG9DaEI7QWVoOG9DZ0I7O0VBQ0k7QWZtOG9DcEI7QWUvN29DaUI7O0VBRUc7RUFDQTtBZmk4b0NwQjtBZWg4b0NvQjs7RUFDSTtBZm04b0N4QjtBZS83b0NhOztFQUVHO0VBQ0E7QWZpOG9DaEI7QWVoOG9DZ0I7O0VBQ0k7QWZtOG9DcEI7QWUxOW9DYTs7RUFFRztFQUNBO0FmNDlvQ2hCO0FlMzlvQ2dCOztFQUNJO0FmODlvQ3BCO0FlMTlvQ2lCOztFQUVHO0VBQ0E7QWY0OW9DcEI7QWUzOW9Db0I7O0VBQ0k7QWY4OW9DeEI7QWUxOW9DYTs7RUFFRztFQUNBO0FmNDlvQ2hCO0FlMzlvQ2dCOztFQUNJO0FmODlvQ3BCO0Flci9vQ2E7O0VBRUc7RUFDQTtBZnUvb0NoQjtBZXQvb0NnQjs7RUFDSTtBZnkvb0NwQjtBZXIvb0NpQjs7RUFFRztFQUNBO0FmdS9vQ3BCO0FldC9vQ29COztFQUNJO0FmeS9vQ3hCO0Flci9vQ2E7O0VBRUc7RUFDQTtBZnUvb0NoQjtBZXQvb0NnQjs7RUFDSTtBZnkvb0NwQjtBZWhocENhOztFQUVHO0VBQ0E7QWZraHBDaEI7QWVqaHBDZ0I7O0VBQ0k7QWZvaHBDcEI7QWVoaHBDaUI7O0VBRUc7RUFDQTtBZmtocENwQjtBZWpocENvQjs7RUFDSTtBZm9ocEN4QjtBZWhocENhOztFQUVHO0VBQ0E7QWZraHBDaEI7QWVqaHBDZ0I7O0VBQ0k7QWZvaHBDcEI7QWUzaXBDYTs7RUFFRztFQUNBO0FmNmlwQ2hCO0FlNWlwQ2dCOztFQUNJO0FmK2lwQ3BCO0FlM2lwQ2lCOztFQUVHO0VBQ0E7QWY2aXBDcEI7QWU1aXBDb0I7O0VBQ0k7QWYraXBDeEI7QWUzaXBDYTs7RUFFRztFQUNBO0FmNmlwQ2hCO0FlNWlwQ2dCOztFQUNJO0FmK2lwQ3BCO0FldGtwQ2E7O0VBRUc7RUFDQTtBZndrcENoQjtBZXZrcENnQjs7RUFDSTtBZjBrcENwQjtBZXRrcENpQjs7RUFFRztFQUNBO0Fmd2twQ3BCO0FldmtwQ29COztFQUNJO0FmMGtwQ3hCO0FldGtwQ2E7O0VBRUc7RUFDQTtBZndrcENoQjtBZXZrcENnQjs7RUFDSTtBZjBrcENwQjtBZWptcENhOztFQUVHO0VBQ0E7QWZtbXBDaEI7QWVsbXBDZ0I7O0VBQ0k7QWZxbXBDcEI7QWVqbXBDaUI7O0VBRUc7RUFDQTtBZm1tcENwQjtBZWxtcENvQjs7RUFDSTtBZnFtcEN4QjtBZWptcENhOztFQUVHO0VBQ0E7QWZtbXBDaEI7QWVsbXBDZ0I7O0VBQ0k7QWZxbXBDcEI7QWU1bnBDYTs7RUFFRztFQUNBO0FmOG5wQ2hCO0FlN25wQ2dCOztFQUNJO0FmZ29wQ3BCO0FlNW5wQ2lCOztFQUVHO0VBQ0E7QWY4bnBDcEI7QWU3bnBDb0I7O0VBQ0k7QWZnb3BDeEI7QWU1bnBDYTs7RUFFRztFQUNBO0FmOG5wQ2hCO0FlN25wQ2dCOztFQUNJO0FmZ29wQ3BCO0FBQ0E7O3VCQUV1QjtBZXhucEN2QjtFQUNJO0FmMG5wQ0o7QWVybnBDUztFQUNHO0FmdW5wQ1o7QWV4bnBDUztF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aEJxa3NDUjtBZ0Jwa3NDUzs7RUFDRztBaEJ1a3NDWjtBZ0Jwa3NDSTs7RUFFSTtBaEJza3NDUjtBZ0Jua3NDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCcWtzQ1I7QWdCbGtzQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEJva3NDUjtBZ0Jqa3NDUTs7RUFFSTtBaEJta3NDWjtBZ0Joa3NDUTs7RUFFSTtBaEJra3NDWjtBQUNBOzswQkFFMEI7QWdCM2pzQ3RCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2anNDUjtBZ0IzanNDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2anNDUjtBZ0IxanNDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI0anNDUjtBZ0J6anNDUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEIyanNDWjtBZ0J6anNDUTs7RUFFSTtBaEIyanNDWjtBQUNBOzswQkFFMEI7QWdCcGpzQ3RCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJzanNDUjtBQUNBLGVBQWU7QWdCbmpzQ1g7RUFDSTtBaEJxanNDUjtBZ0JuanNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCcWpzQ1I7QWdCbGpzQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJvanNDUjtBQUNBLGdCQUFnQjtBZ0JqanNDWjs7RUFFSTtFQUNBO0FoQm1qc0NSO0FnQmpqc0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJtanNDUjtBZ0JqanNDSTtFQUNJO0VBQ0E7QWhCbWpzQ1I7QUFDQSxZQUFZO0FnQmhqc0NSO0VBQ0k7RUFDQTtBaEJranNDUjtBZ0JoanNDSTtFQUNJO0VBQ0E7QWhCa2pzQ1I7QUFDQTs7MEJBRTBCO0FnQjVpc0N0QjtFQUNJO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBaEI4aXNDUjtBZ0IzaXNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNmlzQ1I7QUFDQSxnQkFBZ0I7QWdCMWlzQ1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEI0aXNDUjtBZ0IxaXNDSTtFQUNJO0VBQ0E7RUFDQTtBaEI0aXNDUjtBZ0J6aXNDUTtFQUNJO0VBQ0E7QWhCMmlzQ1o7QWdCemlzQ1E7RUFDSTtFQUNBO0FoQjJpc0NaO0FnQnppc0NRO0VBQ0k7RUFDQTtBaEIyaXNDWjtBZ0J6aXNDUTtFQUNJO0FoQjJpc0NaO0FnQnppc0NRO0VBQ0k7QWhCMmlzQ1o7QWdCemlzQ1E7RUFDSTtBaEIyaXNDWjtBQUNBLGlCQUFpQjtBZ0J2aXNDYjtFQUNJO0VBQ0E7RUFDQTtBaEJ5aXNDUjtBZ0J2aXNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJ5aXNDUjtBZ0J0aXNDSTtFQUNJO0VBQ0E7QWhCd2lzQ1I7QWdCdGlzQ0k7RUFDSTtFQUNBO0VBQ0E7QWhCd2lzQ1I7QWdCdGlzQ0k7RUFDSTtFQUNBO0VBQ0E7QWhCd2lzQ1I7QUFDQSxpQkFBaUI7QWdCcmlzQ2I7O0VBRUk7RUFDQTtBaEJ1aXNDUjtBZ0JyaXNDSTs7RUFFSTtBaEJ1aXNDUjtBZ0JyaXNDSTs7RUFFSTtFQUNBO0FoQnVpc0NSO0FnQnJpc0NJOztFQUVJO0VBQ0E7QWhCdWlzQ1I7QUFDQSxpQkFBaUI7QWdCcGlzQ2I7RUFDSTtBaEJzaXNDUjtBZ0JwaXNDSTtFQUNJO0VBQ0E7QWhCc2lzQ1I7QUFDQTs7MEJBRTBCO0FnQmhpc0N0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJraXNDUjtBZ0JoaXNDSTtFQUNJO0VBQ0E7RUFDQTtBaEJraXNDUjtBZ0IvaHNDSTtFQUNJO0VBQ0E7RUFDQTtBaEJpaXNDUjtBZ0I5aHNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoQmdpc0NSO0FnQjloc0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhCZ2lzQ1I7QWdCOWhzQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCZ2lzQ1I7QUFDQTs7K0JBRStCO0FBQy9COztzQkFFc0I7QWdCMWhzQ2xCOztFQUVJO0VBQ0E7QWhCNGhzQ1I7QUFDQTs7c0JBRXNCO0FnQnZoc0N0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEJ5aHNDSjtBZ0J2aHNDQTs7RUFFSTtBaEJ5aHNDSjtBQUNBOztzQkFFc0I7QWdCcmhzQ3RCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhCdWhzQ0o7QWdCcmhzQ0E7RUFDSTtFQUNBO0VBQ0E7QWhCdWhzQ0o7QUFDQTs7c0JBRXNCO0FnQm5oc0N0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEJxaHNDSjtBZ0JuaHNDQTs7RUFFSTtFQUNBO0VBQ0E7QWhCcWhzQ0o7QUFDQTs7c0JBRXNCO0FnQmpoc0N0Qjs7RUFFSTtBaEJtaHNDSjtBQUNBOztzQkFFc0I7QWdCL2dzQ3RCOztFQUVJO0FoQmloc0NKO0FBQ0E7OytCQUUrQjtBQUMvQjs7MEJBRTBCO0FnQjNnc0N0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2Z3NDUjtBZ0IzZ3NDSzs7RUFFRztBaEI2Z3NDUjtBZ0IxZ3NDUTtFQUNJO0FoQjRnc0NaO0FBQ0EsU0FBUztBZ0J4Z3NDTDs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEIwZ3NDUjtBQUNBLGFBQWE7QWdCdmdzQ0w7RUFDSTtBaEJ5Z3NDWjtBQUNBOzswQkFFMEI7QWdCbGdzQ3RCOztFQUVJO0VBQ0E7QWhCb2dzQ1I7QWdCLy9yQ0k7O0VBRUk7QWhCaWdzQ1I7QUFDQTs7MEJBRTBCO0FnQjMvckN0Qjs7RUFFSTtFQUNBO0FoQjYvckNSO0FnQjMvckNJO0VBQ0k7QWhCNi9yQ1I7QWdCMy9yQ0k7RUFDSTtFQUNBO0FoQjYvckNSO0FnQjMvckNJOzs7RUFHSTtFQUNBO0FoQjYvckNSO0FnQjMvckNJO0VBQ0k7QWhCNi9yQ1I7QUFDQTs7c0JBRXNCO0FnQjUrckNiOztFQUVHO0VBQ0E7RUFDQTtBaEI4K3JDWjtBQUNBLFNBQVM7QWdCNStyQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQjgrckNaO0FBQ0EsV0FBVztBZ0IzK3JDRTtFQUNHO0FoQjYrckNoQjtBQUNBLFVBQVU7QWdCeityQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQjIrckNoQjtBZ0J6K3JDYTs7RUFFRztFQUNBO0VBQ0E7QWhCMityQ2hCO0FBQ0EsYUFBYTtBZ0J2K3JDQTs7RUFFRztFQUNBO0VBQ0E7QWhCeStyQ2hCO0FBQ0Esa0JBQWtCO0FnQnYrckNMOztFQUVHO0VBQ0E7RUFFSTtBaEJ3K3JDcEI7QUFDQSxvQkFBb0I7QWdCaityQ0g7RUFDRztBaEJtK3JDcEI7QUFDQSxtQkFBbUI7QWdCLzlyQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQmcrckN4QjtBZ0IxOXJDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQjI5ckN4QjtBQUNBLHdCQUF3QjtBZ0J2OXJDSDs7RUFFRztBaEJ5OXJDeEI7QWdCdjlyQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCeTlyQ3hCO0FnQnRqc0NTOztFQUVHO0VBQ0E7RUFDQTtBaEJ3anNDWjtBQUNBLFNBQVM7QWdCdGpzQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQndqc0NaO0FBQ0EsV0FBVztBZ0JyanNDRTtFQUNHO0FoQnVqc0NoQjtBQUNBLFVBQVU7QWdCbmpzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQnFqc0NoQjtBZ0JuanNDYTs7RUFFRztFQUNBO0VBQ0E7QWhCcWpzQ2hCO0FBQ0EsYUFBYTtBZ0JqanNDQTs7RUFFRztFQUNBO0VBQ0E7QWhCbWpzQ2hCO0FBQ0Esa0JBQWtCO0FnQmpqc0NMOztFQUVHO0VBQ0E7RUFFSTtBaEJranNDcEI7QUFDQSxvQkFBb0I7QWdCM2lzQ0g7RUFDRztBaEI2aXNDcEI7QUFDQSxtQkFBbUI7QWdCemlzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQjBpc0N4QjtBZ0JwaXNDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQnFpc0N4QjtBQUNBLHdCQUF3QjtBZ0JqaXNDSDs7RUFFRztBaEJtaXNDeEI7QWdCamlzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCbWlzQ3hCO0FnQmhvc0NTOztFQUVHO0VBQ0E7RUFDQTtBaEJrb3NDWjtBQUNBLFNBQVM7QWdCaG9zQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQmtvc0NaO0FBQ0EsV0FBVztBZ0IvbnNDRTtFQUNHO0FoQmlvc0NoQjtBQUNBLFVBQVU7QWdCN25zQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQituc0NoQjtBZ0I3bnNDYTs7RUFFRztFQUNBO0VBQ0E7QWhCK25zQ2hCO0FBQ0EsYUFBYTtBZ0IzbnNDQTs7RUFFRztFQUNBO0VBQ0E7QWhCNm5zQ2hCO0FBQ0Esa0JBQWtCO0FnQjNuc0NMOztFQUVHO0VBQ0E7RUFFSTtBaEI0bnNDcEI7QUFDQSxvQkFBb0I7QWdCcm5zQ0g7RUFDRztBaEJ1bnNDcEI7QUFDQSxtQkFBbUI7QWdCbm5zQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQm9uc0N4QjtBZ0I5bXNDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQittc0N4QjtBQUNBLHdCQUF3QjtBZ0IzbXNDSDs7RUFFRztBaEI2bXNDeEI7QWdCM21zQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNm1zQ3hCO0FnQjFzc0NTOztFQUVHO0VBQ0E7RUFDQTtBaEI0c3NDWjtBQUNBLFNBQVM7QWdCMXNzQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQjRzc0NaO0FBQ0EsV0FBVztBZ0J6c3NDRTtFQUNHO0FoQjJzc0NoQjtBQUNBLFVBQVU7QWdCdnNzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQnlzc0NoQjtBZ0J2c3NDYTs7RUFFRztFQUNBO0VBQ0E7QWhCeXNzQ2hCO0FBQ0EsYUFBYTtBZ0Jyc3NDQTs7RUFFRztFQUNBO0VBQ0E7QWhCdXNzQ2hCO0FBQ0Esa0JBQWtCO0FnQnJzc0NMOztFQUVHO0VBQ0E7RUFFSTtBaEJzc3NDcEI7QUFDQSxvQkFBb0I7QWdCL3JzQ0g7RUFDRztBaEJpc3NDcEI7QUFDQSxtQkFBbUI7QWdCN3JzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQjhyc0N4QjtBZ0J4cnNDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQnlyc0N4QjtBQUNBLHdCQUF3QjtBZ0JycnNDSDs7RUFFRztBaEJ1cnNDeEI7QWdCcnJzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCdXJzQ3hCO0FnQnB4c0NTOztFQUVHO0VBQ0E7RUFDQTtBaEJzeHNDWjtBQUNBLFNBQVM7QWdCcHhzQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQnN4c0NaO0FBQ0EsV0FBVztBZ0JueHNDRTtFQUNHO0FoQnF4c0NoQjtBQUNBLFVBQVU7QWdCanhzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQm14c0NoQjtBZ0JqeHNDYTs7RUFFRztFQUNBO0VBQ0E7QWhCbXhzQ2hCO0FBQ0EsYUFBYTtBZ0Ivd3NDQTs7RUFFRztFQUNBO0VBQ0E7QWhCaXhzQ2hCO0FBQ0Esa0JBQWtCO0FnQi93c0NMOztFQUVHO0VBQ0E7RUFFSTtBaEJneHNDcEI7QUFDQSxvQkFBb0I7QWdCendzQ0g7RUFDRztBaEIyd3NDcEI7QUFDQSxtQkFBbUI7QWdCdndzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQnd3c0N4QjtBZ0Jsd3NDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQm13c0N4QjtBQUNBLHdCQUF3QjtBZ0IvdnNDSDs7RUFFRztBaEJpd3NDeEI7QWdCL3ZzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCaXdzQ3hCO0FnQjkxc0NTOztFQUVHO0VBQ0E7RUFDQTtBaEJnMnNDWjtBQUNBLFNBQVM7QWdCOTFzQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQmcyc0NaO0FBQ0EsV0FBVztBZ0I3MXNDRTtFQUNHO0FoQisxc0NoQjtBQUNBLFVBQVU7QWdCMzFzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQjYxc0NoQjtBZ0IzMXNDYTs7RUFFRztFQUNBO0VBQ0E7QWhCNjFzQ2hCO0FBQ0EsYUFBYTtBZ0J6MXNDQTs7RUFFRztFQUNBO0VBQ0E7QWhCMjFzQ2hCO0FBQ0Esa0JBQWtCO0FnQnoxc0NMOztFQUVHO0VBQ0E7RUFFSTtBaEIwMXNDcEI7QUFDQSxvQkFBb0I7QWdCbjFzQ0g7RUFDRztBaEJxMXNDcEI7QUFDQSxtQkFBbUI7QWdCajFzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQmsxc0N4QjtBZ0I1MHNDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQjYwc0N4QjtBQUNBLHdCQUF3QjtBZ0J6MHNDSDs7RUFFRztBaEIyMHNDeEI7QWdCejBzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCMjBzQ3hCO0FnQng2c0NTOztFQUVHO0VBQ0E7RUFDQTtBaEIwNnNDWjtBQUNBLFNBQVM7QWdCeDZzQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQjA2c0NaO0FBQ0EsV0FBVztBZ0J2NnNDRTtFQUNHO0FoQnk2c0NoQjtBQUNBLFVBQVU7QWdCcjZzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQnU2c0NoQjtBZ0JyNnNDYTs7RUFFRztFQUNBO0VBQ0E7QWhCdTZzQ2hCO0FBQ0EsYUFBYTtBZ0JuNnNDQTs7RUFFRztFQUNBO0VBQ0E7QWhCcTZzQ2hCO0FBQ0Esa0JBQWtCO0FnQm42c0NMOztFQUVHO0VBQ0E7RUFFSTtBaEJvNnNDcEI7QUFDQSxvQkFBb0I7QWdCNzVzQ0g7RUFDRztBaEIrNXNDcEI7QUFDQSxtQkFBbUI7QWdCMzVzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQjQ1c0N4QjtBZ0J0NXNDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQnU1c0N4QjtBQUNBLHdCQUF3QjtBZ0JuNXNDSDs7RUFFRztBaEJxNXNDeEI7QWdCbjVzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCcTVzQ3hCO0FnQmwvc0NTOztFQUVHO0VBQ0E7RUFDQTtBaEJvL3NDWjtBQUNBLFNBQVM7QWdCbC9zQ0E7O0VBRUc7RUFDQTtFQUNBO0FoQm8vc0NaO0FBQ0EsV0FBVztBZ0JqL3NDRTtFQUNHO0FoQm0vc0NoQjtBQUNBLFVBQVU7QWdCLytzQ0c7O0VBRUc7RUFDQTtFQUNBO0FoQmkvc0NoQjtBZ0IvK3NDYTs7RUFFRztFQUNBO0VBQ0E7QWhCaS9zQ2hCO0FBQ0EsYUFBYTtBZ0I3K3NDQTs7RUFFRztFQUNBO0VBQ0E7QWhCKytzQ2hCO0FBQ0Esa0JBQWtCO0FnQjcrc0NMOztFQUVHO0VBQ0E7RUFFSTtBaEI4K3NDcEI7QUFDQSxvQkFBb0I7QWdCditzQ0g7RUFDRztBaEJ5K3NDcEI7QUFDQSxtQkFBbUI7QWdCcitzQ0Y7O0VBRUc7RUFDQTtFQUVJO0FoQnMrc0N4QjtBZ0JoK3NDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQmkrc0N4QjtBQUNBLHdCQUF3QjtBZ0I3OXNDSDs7RUFFRztBaEIrOXNDeEI7QWdCNzlzQ3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCKzlzQ3hCO0FnQjVqdENTOztFQUVHO0VBQ0E7RUFDQTtBaEI4anRDWjtBQUNBLFNBQVM7QWdCNWp0Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQjhqdENaO0FBQ0EsV0FBVztBZ0IzanRDRTtFQUNHO0FoQjZqdENoQjtBQUNBLFVBQVU7QWdCemp0Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQjJqdENoQjtBZ0J6anRDYTs7RUFFRztFQUNBO0VBQ0E7QWhCMmp0Q2hCO0FBQ0EsYUFBYTtBZ0J2anRDQTs7RUFFRztFQUNBO0VBQ0E7QWhCeWp0Q2hCO0FBQ0Esa0JBQWtCO0FnQnZqdENMOztFQUVHO0VBQ0E7RUFFSTtBaEJ3anRDcEI7QUFDQSxvQkFBb0I7QWdCamp0Q0g7RUFDRztBaEJtanRDcEI7QUFDQSxtQkFBbUI7QWdCL2l0Q0Y7O0VBRUc7RUFDQTtFQUVJO0FoQmdqdEN4QjtBZ0IxaXRDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQjJpdEN4QjtBQUNBLHdCQUF3QjtBZ0J2aXRDSDs7RUFFRztBaEJ5aXRDeEI7QWdCdml0Q3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCeWl0Q3hCO0FnQnRvdENTOztFQUVHO0VBQ0E7RUFDQTtBaEJ3b3RDWjtBQUNBLFNBQVM7QWdCdG90Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQndvdENaO0FBQ0EsV0FBVztBZ0Jyb3RDRTtFQUNHO0FoQnVvdENoQjtBQUNBLFVBQVU7QWdCbm90Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQnFvdENoQjtBZ0Jub3RDYTs7RUFFRztFQUNBO0VBQ0E7QWhCcW90Q2hCO0FBQ0EsYUFBYTtBZ0Jqb3RDQTs7RUFFRztFQUNBO0VBQ0E7QWhCbW90Q2hCO0FBQ0Esa0JBQWtCO0FnQmpvdENMOztFQUVHO0VBQ0E7RUFFSTtBaEJrb3RDcEI7QUFDQSxvQkFBb0I7QWdCM250Q0g7RUFDRztBaEI2bnRDcEI7QUFDQSxtQkFBbUI7QWdCem50Q0Y7O0VBRUc7RUFDQTtFQUVJO0FoQjBudEN4QjtBZ0JwbnRDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQnFudEN4QjtBQUNBLHdCQUF3QjtBZ0JqbnRDSDs7RUFFRztBaEJtbnRDeEI7QWdCam50Q3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCbW50Q3hCO0FnQmh0dENTOztFQUVHO0VBQ0E7RUFDQTtBaEJrdHRDWjtBQUNBLFNBQVM7QWdCaHR0Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQmt0dENaO0FBQ0EsV0FBVztBZ0Ivc3RDRTtFQUNHO0FoQml0dENoQjtBQUNBLFVBQVU7QWdCN3N0Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQitzdENoQjtBZ0I3c3RDYTs7RUFFRztFQUNBO0VBQ0E7QWhCK3N0Q2hCO0FBQ0EsYUFBYTtBZ0Izc3RDQTs7RUFFRztFQUNBO0VBQ0E7QWhCNnN0Q2hCO0FBQ0Esa0JBQWtCO0FnQjNzdENMOztFQUVHO0VBQ0E7RUFFSTtBaEI0c3RDcEI7QUFDQSxvQkFBb0I7QWdCcnN0Q0g7RUFDRztBaEJ1c3RDcEI7QUFDQSxtQkFBbUI7QWdCbnN0Q0Y7O0VBRUc7RUFDQTtFQUVJO0FoQm9zdEN4QjtBZ0I5cnRDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQitydEN4QjtBQUNBLHdCQUF3QjtBZ0IzcnRDSDs7RUFFRztBaEI2cnRDeEI7QWdCM3J0Q3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNnJ0Q3hCO0FnQjF4dENTOztFQUVHO0VBQ0E7RUFDQTtBaEI0eHRDWjtBQUNBLFNBQVM7QWdCMXh0Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQjR4dENaO0FBQ0EsV0FBVztBZ0J6eHRDRTtFQUNHO0FoQjJ4dENoQjtBQUNBLFVBQVU7QWdCdnh0Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQnl4dENoQjtBZ0J2eHRDYTs7RUFFRztFQUNBO0VBQ0E7QWhCeXh0Q2hCO0FBQ0EsYUFBYTtBZ0JyeHRDQTs7RUFFRztFQUNBO0VBQ0E7QWhCdXh0Q2hCO0FBQ0Esa0JBQWtCO0FnQnJ4dENMOztFQUVHO0VBQ0E7RUFFSTtBaEJzeHRDcEI7QUFDQSxvQkFBb0I7QWdCL3d0Q0g7RUFDRztBaEJpeHRDcEI7QUFDQSxtQkFBbUI7QWdCN3d0Q0Y7O0VBRUc7RUFDQTtFQUVJO0FoQjh3dEN4QjtBZ0J4d3RDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQnl3dEN4QjtBQUNBLHdCQUF3QjtBZ0Jyd3RDSDs7RUFFRztBaEJ1d3RDeEI7QWdCcnd0Q3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCdXd0Q3hCO0FnQnAydENTOztFQUVHO0VBQ0E7RUFDQTtBaEJzMnRDWjtBQUNBLFNBQVM7QWdCcDJ0Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQnMydENaO0FBQ0EsV0FBVztBZ0JuMnRDRTtFQUNHO0FoQnEydENoQjtBQUNBLFVBQVU7QWdCajJ0Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQm0ydENoQjtBZ0JqMnRDYTs7RUFFRztFQUNBO0VBQ0E7QWhCbTJ0Q2hCO0FBQ0EsYUFBYTtBZ0IvMXRDQTs7RUFFRztFQUNBO0VBQ0E7QWhCaTJ0Q2hCO0FBQ0Esa0JBQWtCO0FnQi8xdENMOztFQUVHO0VBQ0E7RUFFSTtBaEJnMnRDcEI7QUFDQSxvQkFBb0I7QWdCejF0Q0g7RUFDRztBaEIyMXRDcEI7QUFDQSxtQkFBbUI7QWdCdjF0Q0Y7O0VBRUc7RUFDQTtFQUVJO0FoQncxdEN4QjtBZ0JsMXRDaUI7O0VBRUc7RUFDQTtFQUVJO0FoQm0xdEN4QjtBQUNBLHdCQUF3QjtBZ0IvMHRDSDs7RUFFRztBaEJpMXRDeEI7QWdCLzB0Q3FCOztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCaTF0Q3hCO0FnQjk2dENTOztFQUVHO0VBQ0E7RUFDQTtBaEJnN3RDWjtBQUNBLFNBQVM7QWdCOTZ0Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQmc3dENaO0FBQ0EsV0FBVztBZ0I3NnRDRTtFQUNHO0FoQis2dENoQjtBQUNBLFVBQVU7QWdCMzZ0Q0c7O0VBRUc7RUFDQTtFQUNBO0FoQjY2dENoQjtBZ0IzNnRDYTs7RUFFRztFQUNBO0VBQ0E7QWhCNjZ0Q2hCO0FBQ0EsYUFBYTtBZ0J6NnRDQTs7RUFFRztFQUNBO0VBQ0E7QWhCMjZ0Q2hCO0FBQ0Esa0JBQWtCO0FnQno2dENMOztFQUVHO0VBQ0E7RUFLSTtBaEJ1NnRDcEI7QUFDQSxvQkFBb0I7QWdCbjZ0Q0g7RUFDRztBaEJxNnRDcEI7QUFDQSxtQkFBbUI7QWdCajZ0Q0Y7O0VBRUc7RUFDQTtFQUtJO0FoQis1dEN4QjtBZ0I1NXRDaUI7O0VBRUc7RUFDQTtBaEI4NXRDcEI7QUFDQSx3QkFBd0I7QWdCeDV0Q0g7O0VBRUc7QWhCMDV0Q3hCO0FnQng1dENxQjs7RUFFRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQjA1dEN4QjtBZ0J2L3RDUzs7RUFFRztFQUNBO0VBQ0E7QWhCeS90Q1o7QUFDQSxTQUFTO0FnQnYvdENBOztFQUVHO0VBQ0E7RUFDQTtBaEJ5L3RDWjtBQUNBLFdBQVc7QWdCdC90Q0U7RUFDRztBaEJ3L3RDaEI7QUFDQSxVQUFVO0FnQnAvdENHOztFQUVHO0VBQ0E7RUFDQTtBaEJzL3RDaEI7QWdCcC90Q2E7O0VBRUc7RUFDQTtFQUNBO0FoQnMvdENoQjtBQUNBLGFBQWE7QWdCbC90Q0E7O0VBRUc7RUFDQTtFQUNBO0FoQm8vdENoQjtBQUNBLGtCQUFrQjtBZ0JsL3RDTDs7RUFFRztFQUNBO0VBS0k7QWhCZy90Q3BCO0FBQ0Esb0JBQW9CO0FnQjUrdENIO0VBQ0c7QWhCOCt0Q3BCO0FBQ0EsbUJBQW1CO0FnQjErdENGOztFQUVHO0VBQ0E7RUFLSTtBaEJ3K3RDeEI7QWdCcit0Q2lCOztFQUVHO0VBQ0E7QWhCdSt0Q3BCO0FBQ0Esd0JBQXdCO0FnQmordENIOztFQUVHO0FoQm0rdEN4QjtBZ0JqK3RDcUI7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJtK3RDeEI7QUFDQTs7c0JBRXNCO0FnQjE5dEN0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEI0OXRDSjtBQUNBOzswQkFFMEI7QWdCdjl0Q3RCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJ5OXRDUjtBZ0J2OXRDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCeTl0Q1I7QUFDQTs7MEJBRTBCO0FnQm45dEN0QjtFQUNJO0FoQnE5dENSO0FnQmw5dENJO0VBQ0k7QWhCbzl0Q1I7QWdCajl0Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQm05dENSO0FBQ0EsVUFBVTtBZ0JoOXRDTjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCazl0Q1I7QUFDQSxrQkFBa0I7QWdCLzh0Q2Q7O0VBRUk7QWhCaTl0Q1I7QWdCLzh0Q0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWhCaTl0Q1I7QUFDQSxrQkFBa0I7QWdCOTh0Q2Q7O0VBRUk7RUFDQTtBaEJnOXRDUjtBZ0I5OHRDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQmc5dENSO0FBQ0EsaUJBQWlCO0FnQjc4dENiO0VBQ0k7RUFDQTtBaEIrOHRDUjtBZ0I3OHRDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEIrOHRDUjtBQUNBLGtCQUFrQjtBZ0I1OHRDZDtFQUNJO0VBQ0E7QWhCODh0Q1I7QWdCNTh0Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCODh0Q1I7QUFDQSxtQkFBbUI7QUFDbkIsa0JBQWtCO0FnQjE4dENWOztFQUVJO0FoQjQ4dENaO0FBQ0Esa0JBQWtCO0FnQno4dENWOztFQUVJO0VBQ0E7RUFDQTtBaEIyOHRDWjtBQUNBLGlCQUFpQjtBZ0J4OHRDVDtFQUNJO0VBQ0E7QWhCMDh0Q1o7QUFDQSxrQkFBa0I7QWdCdjh0Q1Y7RUFDSTtFQUNBO0FoQnk4dENaO0FBQ0E7O3lCQUV5QjtBZ0JsOHRDckI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCbzh0Q1I7QWdCbDh0Q0k7RUFDSTtBaEJvOHRDUjtBZ0JsOHRDSTtFQUNJO0VBQ0E7RUFDQTtBaEJvOHRDUjtBZ0JsOHRDSTtFQUNJO0FoQm84dENSO0FnQmw4dENJO0VBQ0k7RUFDQTtBaEJvOHRDUjtBQUNBOztzQkFFc0I7QWdCLzd0Q3RCOztFQUVJO0FoQmk4dENKO0FnQjU3dENTOztFQUVHO0FoQjg3dENaO0FnQmg4dENTOztFQUVHO0FoQms4dENaO0FnQnA4dENTOztFQUVHO0FoQnM4dENaO0FnQng4dENTOztFQUVHO0FoQjA4dENaO0FnQjU4dENTOztFQUVHO0FoQjg4dENaO0FnQmg5dENTOztFQUVHO0FoQms5dENaO0FnQnA5dENTOztFQUVHO0FoQnM5dENaO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixTQUFTO0FBQ1QsY0FBYztBQUNkLGFBQWE7QUFDYixrQkFBa0I7QUFDbEI7O3NCQUVzQjtBQUN0QixTQUFTO0FBQ1QsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixVQUFVO0FBQ1YsZUFBZTtBQUNmLGFBQWE7QUFDYixjQUFjO0FBQ2QsdUJBQXVCO0FBQ3ZCLG1CQUFtQjtBQUNuQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLGtCQUFrQjtBQUNsQixhQUFhO0FBQ2IsdUJBQXVCO0FBQ3ZCLGlCQUFpQjtBQUNqQix1QkFBdUI7QUFDdkIsWUFBWTtBQUNaLHVCQUF1QjtBQUN2QixZQUFZO0FBQ1osdUJBQXVCO0FBQ3ZCLFlBQVk7QUFDWixpQkFBaUI7QUFDakIsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COzsyQkFFMkI7QUFDM0IsWUFBWTtBQUNaOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCx5QkFBeUI7QUFDekI7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsZUFBZTtBQUNmOzsrQkFFK0I7QWlCam94Qy9COzs7RUFHSTtFQUNBO0VBQ0E7QWpCbW94Q0o7QWlCaG94Q0E7OztFQUdJO0VBQ0E7QWpCa294Q0o7QWlCL254Q0E7OztFQUdJO0VBQ0E7QWpCaW94Q0o7QUFDQTs7K0JBRStCO0FBQy9CLGNBQWM7QWlCN254Q2Q7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCK254Q0o7QWlCNW54Q0E7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjhueENKO0FpQjNueENBOzs7O0VBSUk7QWpCNm54Q0o7QWlCM254Q0E7Ozs7RUFJSTtBakI2bnhDSjtBQUNBLGVBQWU7QWlCMW54Q2Q7OztFQUdHO0VBQ0E7RUFDQTtBakI0bnhDSjtBQUNBLGVBQWU7QWlCem54Q2Y7OztFQUdJO0VBQ0E7QWpCMm54Q0o7QUFDQSxTQUFTO0FpQnZueENMOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCeW54Q1I7QWlCeG54Q1M7O0VBQ0c7RUFDQTtBakIybnhDWjtBaUJ4bnhDSTs7RUFFSTtFQUNBO0VBQ0E7QWpCMG54Q1I7QUFDQSxVQUFVO0FpQnJueENOOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqQnVueENSO0FpQnJueENJOztFQUVJO0FqQnVueENSO0FpQnJueENJOztFQUVJO0FqQnVueENSO0FpQnBueENJOzs7O0VBSUk7QWpCc254Q1I7QUFDQSxZQUFZO0FpQmxueENaOztFQUVJO0VBQ0E7QWpCb254Q0o7QWlCam54Q0k7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtBakJtbnhDUjtBaUIvbXhDSTs7RUFFSTtBakJpbnhDUjtBaUI3bXhDSTs7RUFFSTtFQUNBO0FqQitteENSO0FpQjVteENBOztFQUVJO0VBQ0E7QWpCOG14Q0o7QUFDQSxXQUFXO0FpQjNteENQOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCNm14Q1I7QUFDQSxnQkFBZ0I7QWlCeG14Q1o7O0VBRUk7RUFDQTtBakIwbXhDUjtBQUNBLGVBQWU7QWlCdG14Q2Y7O0VBRUk7QWpCd214Q0o7QUFDQSxpQkFBaUI7QWlCcm14Q2pCOztFQUVJO0VBQ0E7QWpCdW14Q0o7QWlCcm14Q0E7O0VBRUk7QWpCdW14Q0o7QUFDQSxzQkFBc0I7QWlCbm14Q2xCOzs7O0VBSUk7QWpCcW14Q1I7QUFDQSxnQkFBZ0I7QWlCaG14Q1o7O0VBRUk7RUFDQTtBakJrbXhDUjtBaUJobXhDSTs7RUFFSTtBakJrbXhDUjtBQUNBLG9CQUFvQjtBaUI3bHhDaEI7RUFDSTtBakIrbHhDUjtBaUI3bHhDSTtFQUNJO0FqQitseENSO0FpQjVseENJOztFQUVJO0VBQ0E7QWpCOGx4Q1I7QWlCNWx4Q0k7O0VBRUk7RUFDQTtBakI4bHhDUjtBQUNBOzsrQkFFK0I7QWlCemx4Qy9COztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjJseENKO0FpQnpseENBOztFQUVJO0VBQ0E7QWpCMmx4Q0o7QWlCemx4Q0E7O0VBRUk7QWpCMmx4Q0o7QWlCemx4Q0E7O0VBRUk7QWpCMmx4Q0o7QUFDQTs7K0JBRStCO0FBQy9COzswQkFFMEI7QWlCcmx4Q3RCO0VBQ0k7RUFDQTtBakJ1bHhDUjtBaUJybHhDSTtFQUNJO0VBQ0E7RUFDQTtBakJ1bHhDUjtBaUJybHhDSztFQUNHO0VBQ0E7QWpCdWx4Q1I7QWlCcmx4Q0s7RUFDRztFQUNBO0FqQnVseENSO0FpQnJseENJOzs7Ozs7RUFNSTtBakJ1bHhDUjtBQUNBLDRCQUE0QjtBaUJwbHhDeEI7O0VBRUk7RUFDQTtBakJzbHhDUjtBQUNBLG9CQUFvQjtBaUJubHhDWjs7RUFFSTtFQUNBO0FqQnFseENaO0FpQmpseENROzs7RUFHSTtFQUNBO0VBQ0E7QWpCbWx4Q1o7QWlCL2t4Q1E7RUFDSTtBakJpbHhDWjtBQUNBOzsrQkFFK0I7QUFDL0I7OzBCQUUwQjtBaUJ6a3hDdEI7O0VBRUk7RUFDQTtBakIya3hDUjtBaUJ4a3hDUTs7RUFFSTtBakIwa3hDWjtBQUNBOztzQkFFc0I7QWlCcGt4Q2xCOzs7O0VBSUk7QWpCc2t4Q1I7QUFDQTs7K0JBRStCO0FBQy9COzswQkFFMEI7QWlCL2p4Q2xCOztFQUVJO0FqQmlreENaO0FpQjdqeENROztFQUVJO0FqQitqeENaO0FpQjNqeENROztFQUVJO0FqQjZqeENaO0FpQjFqeENJOztFQUVJO0FqQjRqeENSO0FBQ0EsY0FBYztBaUJ6anhDVjs7RUFFSTtFQUNBO0FqQjJqeENSO0FpQnpqeENJOztFQUVJO0FqQjJqeENSO0FBQ0Esb0JBQW9CO0FpQnhqeENoQjtFQUNJO0FqQjBqeENSO0FpQnhqeENJO0VBQ0k7QWpCMGp4Q1I7QUFDQTs7MEJBRTBCO0FpQnBqeEN0Qjs7O0VBR0k7QWpCc2p4Q1I7QWlCcGp4Q0k7OztFQUdJO0FqQnNqeENSO0FpQnBqeENJOzs7RUFHSTtBakJzanhDUjtBQUNBOzswQkFFMEI7QWlCaGp4Q3RCOzs7RUFHSTtFQUNBO0FqQmtqeENSO0FpQmhqeENJOztFQUVJO0FqQmtqeENSO0FpQmhqeENJOztFQUVJO0FqQmtqeENSO0FpQmhqeENJOztFQUVJO0FqQmtqeENSO0FBQ0EsYUFBYTtBaUIvaXhDTDs7O0VBR0k7QWpCaWp4Q1o7QWlCL2l4Q1E7O0VBRUk7QWpCaWp4Q1o7QWlCL2l4Q1E7O0VBRUk7QWpCaWp4Q1o7QWlCL2l4Q1E7O0VBRUk7QWpCaWp4Q1o7QUFDQTs7MEJBRTBCO0FpQjFpeEN0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakI0aXhDUjtBaUIxaXhDSTs7RUFFSTtBakI0aXhDUjtBaUIxaXhDSTs7RUFFSTtFQUNBO0FqQjRpeENSO0FpQjFpeENJOztFQUVJO0VBQ0E7QWpCNGl4Q1I7QWlCMWl4Q0k7O0VBRUk7RUFDQTtBakI0aXhDUjtBQUNBLGFBQWE7QWlCeGl4Q0w7RUFDSTtFQUNBO0FqQjBpeENaO0FpQnhpeENRO0VBQ0k7RUFDQTtBakIwaXhDWjtBaUJ4aXhDUTtFQUNJO0VBQ0E7QWpCMGl4Q1o7QWlCeGl4Q1E7RUFDSTtFQUNBO0FqQjBpeENaO0FBQ0Esb0NBQW9DO0FpQnJpeEM1Qjs7OztFQUlJO0FqQnVpeENaO0FBQ0E7OzBCQUUwQjtBaUJoaXhDdEI7RUFDSTtBakJraXhDUjtBaUJoaXhDSztFQUNHO0FqQmtpeENSO0FBQ0E7OzBCQUUwQjtBaUI3aHhDckI7O0VBRUc7RUFDQTtBakIraHhDUjtBaUI3aHhDSTs7RUFFSTtFQUNBO0FqQitoeENSO0FBQ0E7OzBCQUUwQjtBaUJ6aHhDdEI7O0VBRUk7QWpCMmh4Q1I7QWlCemh4Q0k7OztFQUdJO0FqQjJoeENSO0FpQnpoeENJOzs7RUFHSTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIyaHhDUjtBaUJ4aHhDSTs7O0VBR0k7QWpCMGh4Q1I7QWlCdmh4Q0s7O0VBRUc7QWpCeWh4Q1I7QUFDQSx3QkFBd0I7QWlCcmh4Q2hCOztFQUVJO0FqQnVoeENaO0FpQnJoeENROztFQUVJO0FqQnVoeENaO0FpQnJoeENROztFQUVJO0FqQnVoeENaO0FpQnJoeENROztFQUVJO0FqQnVoeENaO0FpQnJoeENROztFQUVJO0FqQnVoeENaO0FBQ0E7OzBCQUUwQjtBaUJoaHhDckI7Ozs7RUFJRztFQUNBO0VBQ0E7QWpCa2h4Q1I7QWlCaGh4Q0k7OztFQUdJO0VBQ0E7QWpCa2h4Q1I7QWlCaGh4Q0k7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCa2h4Q1I7QWlCOWd4Q1E7OztFQUdJO0FqQmdoeENaO0FBQ0EsVUFBVTtBaUI1Z3hDTjs7RUFFSTtBakI4Z3hDUjtBaUI1Z3hDSTtFQUNJO0FqQjhneENSO0FBQ0EsZ0JBQWdCO0FpQjNneENYOztFQUVHO0FqQjZneENSO0FpQjNneENJOztFQUVJO0FqQjZneENSO0FBQ0EsdUJBQXVCO0FpQnpneENmOztFQUVJO0FqQjJneENaO0FpQnpneENROzs7RUFHSTtFQUNBO0FqQjJneENaO0FBQ0EscUJBQXFCO0FpQnJneENqQjs7O0VBR0k7QWpCdWd4Q1I7QUFDQTs7MEJBRTBCO0FpQmpneEN0QjtFQUNJO0FqQm1neENSO0FpQmpneENJO0VBQ0k7QWpCbWd4Q1I7QWlCamd4Q0k7RUFDSTtBakJtZ3hDUjtBaUJqZ3hDSTs7RUFFSTtBakJtZ3hDUjtBQUNBLGFBQWE7QWlCaGd4Q1I7RUFDRztBakJrZ3hDUjtBQUNBLHFCQUFxQjtBaUI5L3dDWjs7RUFFRztFQUNBO0FqQmdneENaO0FpQjkvd0NTO0VBQ0c7QWpCZ2d4Q1o7QUFDQSxvQkFBb0I7QWlCMy93Q1o7RUFDSTtBakI2L3dDWjtBaUIzL3dDUTs7RUFFSTtBakI2L3dDWjtBaUIzL3dDUztFQUNHO0VBQ0E7RUFDQTtBakI2L3dDWjtBaUIzL3dDUTtFQUNJO0FqQjYvd0NaO0FBQ0Esc0JBQXNCO0FpQnYvd0NkOztFQUVJO0VBQ0E7QWpCeS93Q1o7QUFDQSx1QkFBdUI7QWlCcC93Q2Y7RUFDSTtBakJzL3dDWjtBaUJwL3dDUTtFQUNJO0FqQnMvd0NaO0FpQnAvd0NRO0VBQ0k7QWpCcy93Q1o7QWlCcC93Q1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakJzL3dDWjtBaUJwL3dDUTtFQUNJO0FqQnMvd0NaO0FBQ0EsYUFBYTtBaUJoL3dDTDs7O0VBR0k7QWpCay93Q1o7QUFDQTs7MEJBRTBCO0FpQjMrd0N0Qjs7RUFFSTtFQUNBO0VBQ0E7QWpCNit3Q1I7QWlCMyt3Q0k7RUFDSTtBakI2K3dDUjtBQUNBLDRCQUE0QjtBaUIxK3dDeEI7O0VBRUk7RUFDQTtBakI0K3dDUjtBQUNBLGFBQWE7QWlCeit3Q1Q7RUFDSTtBakIyK3dDUjtBaUJ6K3dDSTtFQUNJO0FqQjIrd0NSO0FBQ0Esb0JBQW9CO0FpQnYrd0NaO0VBQ0k7QWpCeSt3Q1o7QWlCdit3Q1E7O0VBRUk7QWpCeSt3Q1o7QWlCdit3Q1M7RUFDRztFQUNBO0VBQ0E7QWpCeSt3Q1o7QUFDQSxtQkFBbUI7QWlCcCt3Q1g7RUFDSTtBakJzK3dDWjtBaUJwK3dDUTs7RUFFSTtBakJzK3dDWjtBaUJwK3dDUztFQUNHO0VBQ0E7RUFDQTtBakJzK3dDWjtBaUJwK3dDUTtFQUNJO0FqQnMrd0NaO0FBQ0Esc0JBQXNCO0FpQmord0NkO0VBQ0k7QWpCbSt3Q1o7QWlCait3Q1E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQm0rd0NaO0FpQmord0NROztFQUVJO0VBQ0E7QWpCbSt3Q1o7QUFDQSxhQUFhO0FpQjk5d0NMOztFQUVJO0FqQmcrd0NaO0FpQjk5d0NROztFQUVJO0FqQmcrd0NaO0FBQ0E7OzBCQUUwQjtBaUJ6OXdDckI7RUFDRztBakIyOXdDUjtBaUJ6OXdDSztFQUNHO0FqQjI5d0NSO0FpQnY5d0NROztFQUVJO0FqQnk5d0NaO0FpQnY5d0NROztFQUVJO0FqQnk5d0NaO0FBQ0EsaUJBQWlCO0FpQnI5d0NSO0VBQ0c7QWpCdTl3Q1o7QWlCcjl3Q1M7RUFDRztBakJ1OXdDWjtBaUJuOXdDWTs7RUFFSTtBakJxOXdDaEI7QWlCbjl3Q1k7O0VBRUk7QWpCcTl3Q2hCO0FBQ0E7O3NCQUVzQjtBaUI5OHdDdEI7RUFDSTtBakJnOXdDSjtBaUIxOHdDUztFQUNHO0FqQjQ4d0NaO0FpQno4d0NhOztFQUVHO0FqQjI4d0NoQjtBaUJqOXdDUztFQUNHO0FqQm05d0NaO0FpQmg5d0NhOztFQUVHO0FqQms5d0NoQjtBaUJ4OXdDUztFQUNHO0FqQjA5d0NaO0FpQnY5d0NhOztFQUVHO0FqQnk5d0NoQjtBaUIvOXdDUztFQUNHO0FqQmkrd0NaO0FpQjk5d0NhOztFQUVHO0FqQmcrd0NoQjtBaUJ0K3dDUztFQUNHO0FqQncrd0NaO0FpQnIrd0NhOztFQUVHO0FqQnUrd0NoQjtBaUI3K3dDUztFQUNHO0FqQisrd0NaO0FpQjUrd0NhOztFQUVHO0FqQjgrd0NoQjtBaUJwL3dDUztFQUNHO0FqQnMvd0NaO0FpQm4vd0NhOztFQUVHO0FqQnEvd0NoQjtBQUNBOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFD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MENaO0FrQmpzMENTOzs7Ozs7OztFQVFHO0FsQm1zMENaO0FrQnZ0MENTOzs7Ozs7Ozs7O0VBVUc7QWxCeXQwQ1o7QWtCdnQwQ1M7Ozs7Ozs7O0VBUUc7QWxCeXQwQ1o7QWtCN3UwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEIrdTBDWjtBa0I3dTBDUzs7Ozs7Ozs7RUFRRztBbEIrdTBDWjtBa0JudzBDUzs7Ozs7Ozs7OztFQVVHO0FsQnF3MENaO0FrQm53MENTOzs7Ozs7OztFQVFHO0FsQnF3MENaO0FrQnp4MENTOzs7Ozs7Ozs7O0VBVUc7QWxCMngwQ1o7QWtCengwQ1M7Ozs7Ozs7O0VBUUc7QWxCMngwQ1o7QWtCL3kwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJpejBDWjtBa0IveTBDUzs7Ozs7Ozs7RUFRRztBbEJpejBDWjtBa0JyMDBDUzs7Ozs7Ozs7OztFQVVHO0FsQnUwMENaO0FrQnIwMENTOzs7Ozs7OztFQVFHO0FsQnUwMENaO0FrQjMxMENTOzs7Ozs7Ozs7O0VBVUc7QWxCNjEwQ1o7QWtCMzEwQ1M7Ozs7Ozs7O0VBUUc7QWxCNjEwQ1o7QWtCajMwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJtMzBDWjtBa0JqMzBDUzs7Ozs7Ozs7RUFRRztBbEJtMzBDWjtBa0J2NDBDUzs7Ozs7Ozs7OztFQVVHO0FsQnk0MENaO0FrQnY0MENTOzs7Ozs7OztFQVFHO0FsQnk0MENaO0FrQjc1MENTOzs7Ozs7Ozs7O0VBVUc7QWxCKzUwQ1o7QWtCNzUwQ1M7Ozs7Ozs7O0VBUUc7QWxCKzUwQ1o7QWtCbjcwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJxNzBDWjtBa0JuNzBDUzs7Ozs7Ozs7RUFRRztBbEJxNzBDWjtBa0J6ODBDUzs7Ozs7Ozs7OztFQVVHO0FsQjI4MENaO0FrQno4MENTOzs7Ozs7OztFQVFHO0FsQjI4MENaO0FrQi85MENTOzs7Ozs7Ozs7O0VBVUc7QWxCaSswQ1o7QWtCLzkwQ1M7Ozs7Ozs7O0VBUUc7QWxCaSswQ1o7QWtCNTkwQ0E7Ozs7Ozs7O0VBUUk7QWxCODkwQ0o7QWtCNTkwQ0E7RUFDSTtBbEI4OTBDSjtBa0I1OTBD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NDdDaUI7RUFDRztBdEI2NDdDcEI7QXNCejU3Q2E7RUFDRztBdEIyNTdDaEI7QXNCeDU3Q2lCO0VBQ0c7RUFDQTtBdEIwNTdDcEI7QXNCcjU3Q2lCO0VBQ0c7QXRCdTU3Q3BCO0FzQm42N0NhO0VBQ0c7QXRCcTY3Q2hCO0FzQmw2N0NpQjtFQUNHO0VBQ0E7QXRCbzY3Q3BCO0FzQi81N0NpQjtFQUNHO0F0Qmk2N0NwQjtBc0I3NjdDYTtFQUNHO0F0Qis2N0NoQjtBc0I1NjdDaUI7RUFDRztFQUNBO0F0Qjg2N0NwQjtBc0J6NjdDaUI7RUFDRztBdEIyNjdDcEI7QXNCdjc3Q2E7RUFDRztBdEJ5NzdDaEI7QXNCdDc3Q2lCO0VBQ0c7RUFDQTtBdEJ3NzdDcEI7QXNCbjc3Q2lCO0VBQ0c7QXRCcTc3Q3BCO0FzQmo4N0NhO0VBQ0c7QXRCbTg3Q2hCO0FzQmg4N0NpQjtFQUNHO0VBQ0E7QXRCazg3Q3BCO0FzQjc3N0NpQjtFQUNHO0F0Qis3N0NwQjtBc0IzODdDYTtFQUNHO0F0QjY4N0NoQjtBc0IxODdDaUI7RUFDRztFQUNBO0F0QjQ4N0NwQjtBc0J2ODdDaUI7RUFDRztBdEJ5ODdDcEI7QXNCcjk3Q2E7RUFDRztBdEJ1OTdDaEI7QXNCcDk3Q2lCO0VBQ0c7RUFDQTtBdEJzOTdDcEI7QXNCajk3Q2lCO0VBQ0c7QXRCbTk3Q3BCO0FzQi85N0NhO0VBQ0c7QXRCaSs3Q2hCO0FzQjk5N0NpQjtFQUNHO0VBQ0E7QXRCZys3Q3BCO0FzQjM5N0NpQjtFQUNHO0F0QjY5N0NwQjtBc0J6KzdDYTtFQUNHO0F0QjIrN0NoQjtBc0J4KzdDaUI7RUFDRztFQUNBO0F0QjArN0NwQjtBc0JyKzdDaUI7RUFDRztBdEJ1KzdDcEI7QUFDQTs7MEJBRTBCO0FzQjk5N0N0QjtFQUNJO0F0QmcrN0NSO0FzQjk5N0NJO0VBQ0k7QXRCZys3Q1I7QXNCOTk3Q0k7RUFDSTtBdEJnKzdDUjtBQUNBOzswQkFFMEI7QXNCMTk3Q3RCOztFQUVJO0VBQ0E7QXRCNDk3Q1I7QXNCMTk3Q0k7RUFDSTtFQUNBO0F0QjQ5N0NSO0FBQ0E7OzBCQUUwQjtBc0J2OTdDdEI7OztFQUdJO0VBQ0E7QXRCeTk3Q1I7QXNCdjk3Q0k7OztFQUdJO0VBQ0E7QXRCeTk3Q1I7QUFDQSxXQUFXO0FzQnQ5N0NQO0VBQ0k7QXRCdzk3Q1I7QXNCdDk3Q0k7RUFDSTtBdEJ3OTdDUjtBQUNBLGFBQWE7QXNCcjk3Q0w7RUFDSTtBdEJ1OTdDWjtBQUNBLFlBQVk7QXNCbjk3Q0o7O0VBRUk7QXRCcTk3Q1o7QXNCbjk3Q1E7O0VBRUk7QXRCcTk3Q1o7QUFDQTs7c0JBRXNCO0FBQ3RCLGNBQWM7QXNCLzg3Q1Y7RUFDSTtFQUNBO0F0Qmk5N0NSO0FzQjk4N0NRO0VBQ0k7RUFDQTtBdEJnOTdDWjtBQUNBLGFBQWE7QXNCMTg3Q1Q7RUFDSTtFQUNBO0F0QjQ4N0NSO0FzQno4N0NRO0VBQ0k7RUFDQTtBdEIyODdDWjtBQUNBOzswQkFFMEI7QUFDMUIsV0FBVztBc0JwODdDUDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnM4N0NSO0FzQnI4N0NTO0VBQ0c7QXRCdTg3Q1o7QXNCcDg3Q0k7RUFDSTtBdEJzODdDUjtBQUNBLFFBQVE7QXNCbjg3Q0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnE4N0NSO0FzQm44N0NJO0VBQ0k7QXRCcTg3Q1I7QXNCbjg3Q0k7RUFDSTtBdEJxODdDUjtBQUNBLFdBQVc7QXNCbDg3Q1A7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCbzg3Q1I7QXNCbDg3Q0k7RUFDSTtBdEJvODdDUjtBc0JsODdDSTtFQUNJO0F0Qm84N0NSO0FzQmw4N0NJO0VBQ0k7QXRCbzg3Q1I7QXNCbDg3Q0k7RUFDSTtBdEJvODdDUjtBc0JoODdDWTtFQUNJO0VBQ0E7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FBQ0E7O3FCQUVxQjtBc0IxNzdDakI7RUFDSTtFQUNBO0F0QjQ3N0NSO0FzQjE3N0NJO0VBQ0k7RUFDQTtBdEI0NzdDUjtBQUNBOztxQkFFcUI7QXNCdjc3Q2pCO0VBQ0k7RUFDQTtBdEJ5NzdDUjtBc0J2NzdDSTtFQUVRO0lBQ0k7RXRCdzc3Q2Q7RXNCdjc3Q2M7SUFDSTtFdEJ5NzdDbEI7RXNCcDc3Q1U7SUFDSTtFdEJzNzdDZDtFc0JyNzdDYztJQUNJO0V0QnU3N0NsQjtFc0JuNzdDTTtJQUNJO0V0QnE3N0NWO0VzQnA3N0NVO0lBQ0k7RXRCczc3Q2Q7RXNCbDc3Q1U7SUFDSTtFdEJvNzdDZDtFc0JuNzdDYztJQUNJO0V0QnE3N0NsQjtFc0JoNzdDVTtJQUNJO0V0Qms3N0NkO0VzQmo3N0NjO0lBQ0k7RXRCbTc3Q2xCO0FBQ0Y7QXNCOTY3Q0k7RUFFUTtJQUNJO0V0Qis2N0NkO0VzQjk2N0NjO0lBQ0k7RXRCZzc3Q2xCO0VzQjM2N0NVO0lBQ0k7RXRCNjY3Q2Q7RXNCNTY3Q2M7SUFDSTtFdEI4NjdDbEI7RXNCMTY3Q007SUFDSTtFdEI0NjdDVjtFc0IzNjdDVTtJQUNJO0V0QjY2N0NkO0VzQno2N0NVO0lBQ0k7RXRCMjY3Q2Q7RXNCMTY3Q2M7SUFDSTtFdEI0NjdDbEI7RXNCdjY3Q1U7SUFDSTtFdEJ5NjdDZDtFc0J4NjdDYztJQUNJO0V0QjA2N0NsQjtBQUNGO0FzQnQ2N0NJO0VBRVE7SUFDSTtFdEJ1NjdDZDtFc0J0NjdDYztJQUNJO0V0Qnc2N0NsQjtFc0JuNjdDVTtJQUNJO0V0QnE2N0NkO0VzQnA2N0NjO0lBQ0k7RXRCczY3Q2xCO0VzQmw2N0NNO0lBQ0k7RXRCbzY3Q1Y7RXNCbjY3Q1U7SUFDSTtFdEJxNjdDZDtFc0JqNjdDVTtJQUNJO0V0Qm02N0NkO0VzQmw2N0NjO0lBQ0k7RXRCbzY3Q2xCO0VzQi81N0NVO0lBQ0k7RXRCaTY3Q2Q7RXNCaDY3Q2M7SUFDSTtFdEJrNjdDbEI7QUFDRjtBc0I5NTdDSTtFQUVRO0lBQ0k7RXRCKzU3Q2Q7RXNCOTU3Q2M7SUFDSTtFdEJnNjdDbEI7RXNCMzU3Q1U7SUFDSTtFdEI2NTdDZDtFc0I1NTdDYztJQUNJO0V0Qjg1N0NsQjtFc0IxNTdD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L0NnQjtFQUNJO0F2QmtqL0NwQjtBdUJoai9DZ0I7RUFDSTtBdkJrai9DcEI7QXVCL2kvQ2dCO0VBQ0k7QXZCaWovQ3BCO0F1Qi9pL0NnQjtFQUNJO0F2QmlqL0NwQjtBdUIvaS9DZ0I7RUFDSTtBdkJpai9DcEI7QXVCL2kvQ2dCO0VBQ0k7RUFDQTtBdkJpai9DcEI7QXVCaGovQ29CO0VBQ0k7QXZCa2ovQ3hCO0F1QmpqL0N3QjtFQUNJO0VBQ0E7RUFDQTtBdkJtai9DNUI7QXVCaGovQ29CO0VBQ0k7QXZCa2ovQ3hCO0F1QmhqL0NvQjtFQUNJO0F2QmtqL0N4QjtBdUI3aS9DWTs7Ozs7O0VBTUk7QXZCK2kvQ2hCO0F1QjNpL0NRO0VBQ0k7QXZCNmkvQ1o7QXVCM2kvQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI2aS9DaEI7QXVCM2kvQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI2aS9DaEI7QXVCMWkvQ2dCO0VBQ0k7QXZCNGkvQ3BCO0F1QnppL0NnQjtFQUNJO0F2QjJpL0NwQjtBdUJ6aS9DZ0I7RUFDSTtBdkIyaS9DcEI7QXVCdmkvQ2dCO0VBQ0k7RUFDQTtBdkJ5aS9DcEI7QXVCdmkvQ2dCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnlpL0NwQjtBdUJwaS9DSTtFQUNLO0lBQ0c7RXZCc2kvQ1Y7RXVCcGkvQ087SUFDRztFdkJzaS9DVjtBQUNGO0FBQ0E7O3FCQUVxQjtBdUJoaS9DakI7RUFDSTtBdkJraS9DUjtBdUJoaS9DSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJraS9DUjtBdUJoaS9DSztFQUNHO0VBQ0E7RUFDQTtFQUNBO0F2QmtpL0NSO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjFoL0NJO0VBQ0k7RUFDQTtBdkI0aC9DUjtBQUNBOztxQkFFcUI7QXVCdGgvQ2hC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O0F1QngrK0NOO0VBQ0k7RUFDQTtBdkIwKytDUjtBQUNBOztxQkFFcUI7QUFDckIsUUFBUTtBdUJwKytDSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0F2QnMrK0NSO0F1QnArK0NLO0VBQ0c7QXZCcysrQ1I7QXVCcCsrQ0s7RUFDRztBdkJzKytDUjtBQUNBLFdBQVc7QXVCbisrQ047RUFDRztFQUNBO0F2QnErK0NSO0F1Qm4rK0NLO0VBQ0c7QXZCcSsrQ1I7QXVCbisrQ0s7RUFDRztBdkJxKytDUjtBQUNBOzswQkFFMEI7QXVCLzkrQ3RCOzs7Ozs7OztFQVFJO0F2QmkrK0NSO0F1Qi85K0NJOzs7Ozs7OztFQVFJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBdUIvOStDSTtFQUNJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBdUIvOStDSTtFQUNJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBQUNBOztzQkFFc0I7QXVCNTkrQ3RCOztFQUVJO0F2Qjg5K0NKO0F1Qno5K0NTOztFQUVHO0F2QjI5K0NaO0F1Qng5K0NhO0VBQ0c7RUFDQTtBdkIwOStDaEI7QXVCaisrQ1M7O0VBRUc7QXZCbSsrQ1o7QXVCaCsrQ2E7RUFDRztFQUNBO0F2QmsrK0NoQjtBdUJ6KytDUzs7RUFFRztBdkIyKytDWjtBdUJ4KytDYTtFQUNHO0VBQ0E7QXZCMCsrQ2hCO0F1QmovK0NTOztFQUVHO0F2Qm0vK0NaO0F1QmgvK0NhO0VBQ0c7RUFDQTtBdkJrLytDaEI7QXVCei8rQ1M7O0VBRUc7QXZCMi8rQ1o7QXVCeC8rQ2E7RUFDRztFQUNBO0F2QjAvK0NoQjtBdUJqZy9DUzs7RUFFRztBdkJtZy9DWjtBdUJoZy9DYTtFQUNHO0VBQ0E7QXZCa2cvQ2hCO0F1QnpnL0NTOztFQUVHO0F2QjJnL0NaO0F1QnhnL0NhO0VBQ0c7RUFDQTtBdkIwZy9DaEI7QUFDQTs7cUJBRXFCO0F1QmxnL0NoQjtFQUNHO0F2Qm9nL0NSO0F1QmpnL0NLO0VBQ0c7RUFDQTtFQUNBO0F2Qm1nL0NSO0F1QmhnL0NLO0VBQ0c7RUFDQTtBdkJrZy9DUjtBdUIvLytDSTtFQUNJO0F2QmlnL0NSO0FBQ0EsV0FBVztBdUI5LytDTjs7RUFFRztBdkJnZy9DUjtBdUI5LytDSzs7RUFFRztBdkJnZy9DUjtBQUNBLGFBQWE7QXVCNS8rQ0o7O0VBRUc7QXZCOC8rQ1o7QXVCNS8rQ1M7OztFQUdHO0F2QjgvK0NaO0FBQ0EsZUFBZTtBdUIxLytDVjs7OztFQUlHO0VBQ0E7QXZCNC8rQ1I7QUFDQSxjQUFjO0F1QnovK0NUOzs7O0VBSUc7RUFDQTtBdkIyLytDUjtBQUNBLGtCQUFrQjtBdUJ2LytDTjtFQUNJO0F2QnkvK0NoQjtBdUJyLytDZ0I7RUFDSTtBdkJ1LytDcEI7QXVCci8rQ2dCO0VBQ0k7QXZCdS8rQ3BCO0F1QnIvK0NnQjtFQUNJO0F2QnUvK0NwQjtBdUJwLytDWTtFQUNJO0F2QnMvK0NoQjtBdUJqLytDb0I7RUFDSTtBdkJtLytDeEI7QXVCai8rQ29CO0VBQ0k7QXZCbS8rQ3hCO0F1QnIrK0NZO0VBQ0k7QXZCdSsrQ2hCO0F1QnIrK0NZO0VBQ0k7QXZCdSsrQ2hCO0F1Qm4rK0NZOztFQUNJO0F2QnMrK0NoQjtBdUJwKytDWTs7RUFDSTtBdkJ1KytDaEI7QXVCcisrQ1k7O0VBQ0k7RUFDQTtBdkJ3KytDaEI7QXVCcCsrQ1k7O0VBQ0k7QXZCdSsrQ2hCO0F1QnArK0NTO0VBQ0c7QXZCcysrQ1o7QXVCbisrQ1k7O0VBQ0k7QXZCcysrQ2hCO0F1QmwrK0NhO0VBQ0c7QXZCbysrQ2hCO0F1QmorK0NnQjs7RUFDSTtBdkJvKytDcEI7QXVCNzkrQ2dCOztFQUNJO0F2QmcrK0NwQjtBdUI5OStDZ0I7O0VBQ0k7QXZCaSsrQ3BCO0F1QmxoL0NZO0VBQ0k7QXZCb2gvQ2hCO0F1QmxoL0NZO0VBQ0k7QXZCb2gvQ2hCO0F1QmhoL0NZOztFQUNJO0F2Qm1oL0NoQjtBdUJqaC9DWTs7RUFDSTtBdkJvaC9DaEI7QXVCbGgvQ1k7O0VBQ0k7RUFDQTtBdkJxaC9DaEI7QXVCamgvQ1k7O0VBQ0k7QXZCb2gvQ2hCO0F1QmpoL0NTO0VBQ0c7QXZCbWgvQ1o7QXVCaGgvQ1k7O0VBQ0k7QXZCbWgvQ2hCO0F1Qi9nL0NhO0VBQ0c7QXZCaWgvQ2hCO0F1QjlnL0NnQjs7RUFDSTtBdkJpaC9DcEI7QXVCMWcvQ2dCOztFQUNJO0F2QjZnL0NwQjtBdUIzZy9DZ0I7O0VBQ0k7QXZCOGcvQ3BCO0F1Qi9qL0NZO0VBQ0k7QXZCaWsvQ2hCO0F1Qi9qL0NZO0VBQ0k7QXZCaWsvQ2hCO0F1QjdqL0NZOztFQUNJO0F2QmdrL0NoQjtBdUI5ai9DWTs7RUFDSTtBdkJpay9DaEI7QXVCL2ovQ1k7O0VBQ0k7RUFDQTtBdkJray9DaEI7QXVCOWovQ1k7O0VBQ0k7QXZCaWsvQ2hCO0F1QjlqL0NTO0VBQ0c7QXZCZ2svQ1o7QXVCN2ovQ1k7O0VBQ0k7QXZCZ2svQ2hCO0F1QjVqL0NhO0VBQ0c7QXZCOGovQ2hCO0F1QjNqL0NnQjs7RUFDSTtBdkI4ai9DcEI7QXVCdmovQ2dCOztFQUNJO0F2QjBqL0NwQjtBdUJ4ai9DZ0I7O0VBQ0k7QXZCMmovQ3BCO0F1QjVtL0NZO0VBQ0k7QXZCOG0vQ2hCO0F1QjVtL0NZO0VBQ0k7QXZCOG0vQ2hCO0F1QjFtL0NZOztFQUNJO0F2QjZtL0NoQjtBdUIzbS9DWTs7RUFDSTtBdkI4bS9DaEI7QXVCNW0vQ1k7O0VBQ0k7RUFDQTtBdkIrbS9DaEI7QXVCM20vQ1k7O0VBQ0k7QXZCOG0vQ2hCO0F1QjNtL0NTO0VBQ0c7QXZCNm0vQ1o7QXVCMW0vQ1k7O0VBQ0k7QXZCNm0vQ2hCO0F1QnptL0NhO0VBQ0c7QXZCMm0vQ2hCO0F1QnhtL0NnQjs7RUFDSTtBdkIybS9DcEI7QXVCcG0vQ2dCOztFQUNJO0F2QnVtL0NwQjtBdUJybS9DZ0I7O0VBQ0k7QXZCd20vQ3BCO0F1QnpwL0NZO0VBQ0k7QXZCMnAvQ2hCO0F1QnpwL0NZO0VBQ0k7QXZCMnAvQ2hCO0F1QnZwL0NZOztFQUNJO0F2QjBwL0NoQjtBdUJ4cC9DWTs7RUFDSTtBdkIycC9DaEI7QXVCenAvQ1k7O0VBQ0k7RUFDQTtBdkI0cC9DaEI7QXVCeHAvQ1k7O0VBQ0k7QXZCMnAvQ2hCO0F1QnhwL0NTO0VBQ0c7QXZCMHAvQ1o7QXVCdnAvQ1k7O0VBQ0k7QXZCMHAvQ2hCO0F1QnRwL0NhO0VBQ0c7QXZCd3AvQ2hCO0F1QnJwL0NnQjs7RUFDSTtBdkJ3cC9DcEI7QXVCanAvQ2dCOztFQUNJO0F2Qm9wL0NwQjtBdUJscC9DZ0I7O0VBQ0k7QXZCcXAvQ3BCO0F1QnRzL0NZO0VBQ0k7QXZCd3MvQ2hCO0F1QnRzL0NZO0VBQ0k7QXZCd3MvQ2hCO0F1QnBzL0NZOztFQUNJO0F2QnVzL0NoQjtBdUJycy9DWTs7RUFDSTtBdkJ3cy9DaEI7QXVCdHMvQ1k7O0VBQ0k7RUFDQTtBdkJ5cy9DaEI7QXVCcnMvQ1k7O0VBQ0k7QXZCd3MvQ2hCO0F1QnJzL0NTO0VBQ0c7QXZCdXMvQ1o7QXVCcHMvQ1k7O0VBQ0k7QXZCdXMvQ2hCO0F1Qm5zL0NhO0VBQ0c7QXZCcXMvQ2hCO0F1QmxzL0NnQjs7RUFDSTtBdkJxcy9DcEI7QXVCOXIvQ2dCOztFQUNJO0F2QmlzL0NwQjtBdUIvci9DZ0I7O0VBQ0k7QXZCa3MvQ3BCO0F1Qm52L0NZO0VBQ0k7QXZCcXYvQ2hCO0F1Qm52L0NZO0VBQ0k7QXZCcXYvQ2hCO0F1Qmp2L0NZOztFQUNJO0F2Qm92L0NoQjtBdUJsdi9DWTs7RUFDSTtBdkJxdi9DaEI7QXVCbnYvQ1k7O0VBQ0k7RUFDQTtBdkJzdi9DaEI7QXVCbHYvQ1k7O0VBQ0k7QXZCcXYvQ2hCO0F1Qmx2L0NTO0VBQ0c7QXZCb3YvQ1o7QXVCanYvQ1k7O0VBQ0k7QXZCb3YvQ2hCO0F1Qmh2L0NhO0VBQ0c7QXZCa3YvQ2hCO0F1Qi91L0NnQjs7RUFDSTtBdkJrdi9DcEI7QXVCM3UvQ2dCOztFQUNJO0F2Qjh1L0NwQjtBdUI1dS9DZ0I7O0VBQ0k7QXZCK3UvQ3BCO0F1Qmh5L0NZO0VBQ0k7QXZCa3kvQ2hCO0F1Qmh5L0NZO0VBQ0k7QXZCa3kvQ2hCO0F1Qjl4L0NZOztFQUNJO0F2Qml5L0NoQjtBdUIveC9DWTs7RUFDSTtBdkJreS9DaEI7QXVCaHkvQ1k7O0VBQ0k7RUFDQTtBdkJteS9DaEI7QXVCL3gvQ1k7O0VBQ0k7QXZCa3kvQ2hCO0F1Qi94L0NTO0VBQ0c7QXZCaXkvQ1o7QXVCOXgvQ1k7O0VBQ0k7QXZCaXkvQ2hCO0F1Qjd4L0NhO0VBQ0c7QXZCK3gvQ2hCO0F1QjV4L0NnQjs7RUFDSTtBdkIreC9DcEI7QXVCeHgvQ2dCOztFQUNJO0F2QjJ4L0NwQjtBdUJ6eC9DZ0I7O0VBQ0k7QXZCNHgvQ3BCO0F1QjcwL0NZO0VBQ0k7QXZCKzAvQ2hCO0F1QjcwL0NZO0VBQ0k7QXZCKzAvQ2hCO0F1QjMwL0NZOztFQUNJO0F2QjgwL0NoQjtBdUI1MC9DWTs7RUFDSTtBdkIrMC9DaEI7QXVCNzAvQ1k7O0VBQ0k7RUFDQTtBdkJnMS9DaEI7QXVCNTAvQ1k7O0VBQ0k7QXZCKzAvQ2hCO0F1QjUwL0NTO0VBQ0c7QXZCODAvQ1o7QXVCMzAvQ1k7O0VBQ0k7QXZCODAvQ2hCO0F1QjEwL0NhO0VBQ0c7QXZCNDAvQ2hCO0F1QnowL0NnQjs7RUFDSTtBdkI0MC9DcEI7QXVCcjAvQ2dCOztFQUNJO0F2QncwL0NwQjtBdUJ0MC9DZ0I7O0VBQ0k7QXZCeTAvQ3BCO0F1QjEzL0NZO0VBQ0k7QXZCNDMvQ2hCO0F1QjEzL0NZO0VBQ0k7QXZCNDMvQ2hCO0F1QngzL0NZOztFQUNJO0F2QjIzL0NoQjtBdUJ6My9DWTs7RUFDSTtBdkI0My9DaEI7QXVCMTMvQ1k7O0VBQ0k7RUFDQTtBdkI2My9DaEI7QXVCejMvQ1k7O0VBQ0k7QXZCNDMvQ2hCO0F1QnozL0NTO0VBQ0c7QXZCMjMvQ1o7QXVCeDMvQ1k7O0VBQ0k7QXZCMjMvQ2hCO0F1QnYzL0NhO0VBQ0c7QXZCeTMvQ2hCO0F1QnQzL0NnQjs7RUFDSTtBdkJ5My9DcEI7QXVCbDMvQ2dCOztFQUNJO0F2QnEzL0NwQjtBdUJuMy9DZ0I7O0VBQ0k7QXZCczMvQ3BCO0F1QnY2L0NZO0VBQ0k7QXZCeTYvQ2hCO0F1QnY2L0NZO0VBQ0k7QXZCeTYvQ2hCO0F1QnI2L0NZOztFQUNJO0F2Qnc2L0NoQjtBdUJ0Ni9DWTs7RUFDSTtBdkJ5Ni9DaEI7QXVCdjYvQ1k7O0VBQ0k7RUFDQTtBdkIwNi9DaEI7QXVCdDYvQ1k7O0VBQ0k7QXZCeTYvQ2hCO0F1QnQ2L0NTO0VBQ0c7QXZCdzYvQ1o7QXVCcjYvQ1k7O0VBQ0k7QXZCdzYvQ2hCO0F1QnA2L0NhO0VBQ0c7QXZCczYvQ2hCO0F1Qm42L0NnQjs7RUFDSTtBdkJzNi9DcEI7QXVCLzUvQ2dCOztFQUNJO0F2Qms2L0NwQjtBdUJoNi9DZ0I7O0VBQ0k7QXZCbTYvQ3BCO0F1QnA5L0NZO0VBQ0k7QXZCczkvQ2hCO0F1QnA5L0NZO0VBQ0k7QXZCczkvQ2hCO0F1Qmw5L0NZOztFQUNJO0F2QnE5L0NoQjtBdUJuOS9DWTs7RUFDSTtBdkJzOS9DaEI7QXVCcDkvQ1k7O0VBQ0k7RUFDQTtBdkJ1OS9DaEI7QXVCbjkvQ1k7O0VBQ0k7QXZCczkvQ2hCO0F1Qm45L0NTO0VBQ0c7QXZCcTkvQ1o7QXVCbDkvQ1k7O0VBQ0k7QXZCcTkvQ2hCO0F1Qmo5L0NhO0VBQ0c7QXZCbTkvQ2hCO0F1Qmg5L0NnQjs7RUFDSTtBdkJtOS9DcEI7QXVCNTgvQ2dCOztFQUNJO0F2Qis4L0NwQjtBdUI3OC9DZ0I7O0VBQ0k7QXZCZzkvQ3BCO0F1QmpnZ0RZO0VBQ0k7QXZCbWdnRGhCO0F1QmpnZ0RZO0VBQ0k7QXZCbWdnRGhCO0F1Qi8vL0NZOztFQUNJO0F2QmtnZ0RoQjtBdUJoZ2dEWTs7RUFDSTtBdkJtZ2dEaEI7QXVCamdnRFk7O0VBQ0k7RUFDQTtBdkJvZ2dEaEI7QXVCaGdnRFk7O0VBQ0k7QXZCbWdnRGhCO0F1QmhnZ0RTO0VBQ0c7QXZCa2dnRFo7QXVCLy8vQ1k7O0VBQ0k7QXZCa2dnRGhCO0F1QjkvL0NhO0VBQ0c7QXZCZ2dnRGhCO0F1QjcvL0NnQjs7RUFDSTtBdkJnZ2dEcEI7QXVCei8vQ2dCOztFQUNJO0F2QjQvL0NwQjtBdUIxLy9DZ0I7O0VBQ0k7QXZCNi8vQ3BCO0F1QjlpZ0RZO0VBQ0k7QXZCZ2pnRGhCO0F1QjlpZ0RZO0VBQ0k7QXZCZ2pnRGhCO0F1QjVpZ0RZOztFQUNJO0F2Qitp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RUFDRztBekJtb2pEWjtBeUJob2pEYTtFQUNHO0F6QmtvakRoQjtBeUJ2b2pEUztFQUNHO0F6QnlvakRaO0F5QnRvakRhO0VBQ0c7QXpCd29qRGhCO0F5QjdvakRTO0VBQ0c7QXpCK29qRFo7QXlCNW9qRGE7RUFDRztBekI4b2pEaEI7QXlCbnBqRFM7RUFDRztBekJxcGpEWjtBeUJscGpEYTtFQUNHO0F6Qm9wakRoQjtBeUJ6cGpEUztFQUNHO0F6QjJwakRaO0F5QnhwakRhO0VBQ0c7QXpCMHBqRGhCO0F5Qi9wakRTO0VBQ0c7QXpCaXFqRFo7QXlCOXBqRGE7RUFDRztBekJncWpEaEI7QXlCcnFqRFM7RUFDRztBekJ1cWpEWjtBeUJwcWpEYTtFQUNHO0F6QnNxakRoQjtBeUIzcWpEUztFQUNHO0F6QjZxakRaO0F5QjFxakRhO0VBQ0c7QXpCNHFqRGhCO0F5QmpyakRTO0VBQ0c7QXpCbXJqRFo7QXlCaHJqRGE7RUFDRztBekJrcmpEaEI7QXlCdnJqRFM7RUFDRztBekJ5cmpEWjtBeUJ0cmpEYTtFQUNHO0F6QndyakRoQjtBeUI3cmpEUztFQUNHO0F6QityakRaO0F5QjVyakRhO0VBQ0c7QXpCOHJqRGhCO0F5Qm5zakRTO0VBQ0c7QXpCcXNqRFo7QXlCbHNqRGE7RUFDRztBekJvc2pEaEI7QXlCenNqRFM7RUFDRztBekIyc2pEWjtBeUJ4c2pEYTtFQUNHO0F6QjBzakRoQjtBeUIvc2pEUztFQUNHO0F6Qml0akRaO0F5QjlzakRhO0VBQ0c7QXpCZ3RqRGhCO0F5QnJzakRTO0VBQ0c7QXpCdXNqRFo7QXlCeHNqRFM7RUFDRztBekIwc2pEWjtBeUIzc2pEUztFQUNHO0F6QjZzakRaO0F5QjlzakRTO0VBQ0c7QXpCZ3RqRFo7QXlCMXNqREk7RUFDSTtBekI0c2pEUjtBQUNBLFVBQVU7QXlCeHNqRFY7RUFDSTtBekIwc2pESjtBeUJyc2pEUztFQUNHO0F6QnVzakRaO0F5QnhzakRTO0VBQ0c7QXpCMHNqRFo7QXlCM3NqRFM7RUFDRztBekI2c2pEWjtBeUI5c2pEUztFQUNHO0F6Qmd0akRaO0F5Qmp0akRTO0VBQ0c7QXpCbXRqRFo7QXlCcHRqRFM7RUFDRztBekJzdGpEWjtBeUJ2dGpEUztFQUNHO0F6Qnl0akRaO0FBQ0E7OytCQUUrQjtBQUMvQixnQkFBZ0I7QUFDaEI7Ozs7Ozs7O0VBUUU7QUFDRjs7K0JBRStCO0FBQy9COzs7Ozs7Ozs7Q0FTQztBQUNEOzsrQkFFK0I7QUFDL0I7O0NBRUM7QUFDRCxXQUFXO0FBQ1gsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQixZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsMkJBQTJCO0FBQzNCLGlDQUFpQztBQUNqQzs7K0JBRStCO0FBQy9COzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COzsyREFFMkQ7QUFDM0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0IsV0FBVztBQUNYLGNBQWM7QUFDZCxZQUFZO0FBQ1osV0FBVztBQUNYLFNBQVM7QUFDVCwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLFVBQVU7QUFDVixVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxXQUFXO0FBQ1gsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1Q7OytCQUUrQjtBQUMvQixlQUFlO0FBQ2YsU0FBUztBQUNULFNBQVM7QUFDVCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLE9BQU87QUFDUCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1QsY0FBYztBQUNkOzsrQkFFK0I7QUFDL0IsY0FBYztBQUNkLGFBQWE7QUFDYixhQUFhO0FBQ2IsV0FBVztBQUNYLGFBQWE7QUFDYixVQUFVO0FBQ1YsV0FBVztBQUNYLFVBQVU7QUFDVixRQUFRO0FBQ1IsVUFBVTtBQUNWLGFBQWE7QUFDYixXQUFXO0FBQ1gsV0FBVztBQUNYLFVBQVU7QUFDVixZQUFZO0FBQ1osV0FBVztBQUNYLFFBQVE7QUFDUixVQUFVO0FBQ1YsZUFBZTtBQUNmLFdBQVc7QUFDWDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsdURBQXVEO0FBQ3ZELDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCOztDQUVDO0FBQ0Q7O3NCQUVzQjtBQUN0Qix1RkFBdUY7QUFDdkY7O2lCQUVpQjtBQUNqQjs7aUJBRWlCO0FBQ2pCLDREQUE0RDtBQUM1RCxxQkFBcUI7QUFDckIsb0ZBQW9GO0FBQ3BGOztzQkFFc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNEOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLHdCQUF3QjtBQUN4QixjQUFjO0FBQ2Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLDJCQUEyQjtBQUMzQix3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQywyQkFBMkI7QUFDM0Isb0JBQW9CO0FBQ3BCLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2IsU0FBUztBQUNULFlBQVk7QUFDWjs7c0JBRXNCO0FBQ3RCLCtDQUErQztBQUMvQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNELE9BQU87QUFDUCxRQUFRO0FBQ1I7O3NCQUVzQjtBQUN0QixnQ0FBZ0M7QUFDaEM7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDBEQUEwRDtBQUMxRCxtQ0FBbUM7QUFDbkMsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmOztzQkFFc0I7QUFDdEI7Ozs7Ozs7O0NBUUM7QUFDRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjs7Z0NBRWdDO0FBQ2hDLGVBQWU7QUFDZixnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qjs7K0JBRStCO0FBQy9COzsyREFFMkQ7QUFDM0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0IsV0FBVztBQUNYLGNBQWM7QUFDZCxZQUFZO0FBQ1osV0FBVztBQUNYLFNBQVM7QUFDVCwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLFVBQVU7QUFDVixVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxXQUFXO0FBQ1gsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1Q7OytCQUUrQjtBQUMvQixlQUFlO0FBQ2YsU0FBUztBQUNULFNBQVM7QUFDVCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLE9BQU87QUFDUCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1QsY0FBYztBQUNkOzsrQkFFK0I7QUFDL0IsY0FBYztBQUNkLGFBQWE7QUFDYixhQUFhO0FBQ2IsV0FBVztBQUNYLGFBQWE7QUFDYixVQUFVO0FBQ1YsV0FBVztBQUNYLFVBQVU7QUFDVixRQUFRO0FBQ1IsVUFBVTtBQUNWLGFBQWE7QUFDYixXQUFXO0FBQ1gsV0FBVztBQUNYLFVBQVU7QUFDVixZQUFZO0FBQ1osV0FBVztBQUNYLFFBQVE7QUFDUixVQUFVO0FBQ1YsZUFBZTtBQUNmLFdBQVc7QUFDWDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsdURBQXVEO0FBQ3ZELDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCOztDQUVDO0FBQ0Q7O3NCQUVzQjtBQUN0Qix1RkFBdUY7QUFDdkY7O2lCQUVpQjtBQUNqQjs7aUJBRWlCO0FBQ2pCLDREQUE0RDtBQUM1RCxxQkFBcUI7QUFDckIsb0ZBQW9GO0FBQ3BGOztzQkFFc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNEOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLHdCQUF3QjtBQUN4QixjQUFjO0FBQ2Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLDJCQUEyQjtBQUMzQix3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQywyQkFBMkI7QUFDM0Isb0JBQW9CO0FBQ3BCLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2IsU0FBUztBQUNULFlBQVk7QUFDWjs7c0JBRXNCO0FBQ3RCLCtDQUErQztBQUMvQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNELE9BQU87QUFDUCxRQUFRO0FBQ1I7O3NCQUVzQjtBQUN0QixnQ0FBZ0M7QUFDaEM7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDBEQUEwRDtBQUMxRCxtQ0FBbUM7QUFDbkMsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmOztzQkFFc0I7QUFDdEI7Ozs7Ozs7O0NBUUM7QUFDRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjs7Z0NBRWdDO0FBQ2hDLGVBQWU7QUFDZixnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLCtCQUErQjtBQUMvQiw4QkFBOEI7QUFDOUI7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QixZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2I7O3NCQUVzQjtBQUN0QixtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7OzJCQUUyQjtBQUMzQixZQUFZO0FBQ1o7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELHlCQUF5QjtBQUN6Qjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQixlQUFlO0FBQ2Y7OytCQUUrQjtBMEIzNWtEL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMUI2NWtESjtBMEIzNWtEQTtFQUNJO0ExQjY1a0RKO0EwQjM1a0RBO0VBQ0k7QTFCNjVrREo7QUFDQTs7K0JBRStCO0FBQy9CLFlBQVk7QTBCejVrRFo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCMjVrREo7QUFDQSxTQUFTO0EwQng1a0RUO0VBQ0k7QTFCMDVrREo7QTBCeDVrREE7RUFDSTtBMUIwNWtESjtBQUNBLGlCQUFpQjtBMEJ2NWtEakI7RUFDSTtFQUNBO0ExQnk1a0RKO0FBQ0EsWUFBWTtBMEJ0NWtEWjtFQUNJO0ExQnc1a0RKO0EwQnQ1a0RBO0VBQ0k7RUFDQTtFQUNBO0ExQnc1a0RKO0FBQ0EsbUJBQW1CO0EwQnI1a0RuQjtFQUNJO0VBQ0E7QTFCdTVrREo7QUFDQSxhQUFhO0EwQm41a0RUO0VBQ0k7QTFCcTVrRFI7QTBCbjVrREk7RUFDSTtBMUJxNWtEUjtBMEJuNWtESTtFQUNJO0ExQnE1a0RSO0FBQ0E7OytCQUUrQjtBMEJoNWtEL0I7RUFDSTtBMUJrNWtESjtBQUNBOzsrQkFFK0I7QTBCOTRrRC9CO0VBQ0k7QTFCZzVrREo7QTBCMzRrRFM7RUFDRztBMUI2NGtEWjtBMEI5NGtEUztFQUNHO0ExQmc1a0RaO0EwQmo1a0RTO0VBQ0c7QTFCbTVrRFo7QTBCcDVrRFM7RUFDRztBMUJzNWtEWjtBMEJ2NWtEUztFQUNHO0ExQnk1a0RaO0EwQjE1a0RTO0VBQ0c7QTFCNDVrRFo7QTBCNzVrRFM7RUFDRztBMUIrNWtEWjtBQUNBOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFDL0I7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsNEJBQTRCO0FBQzVCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5Qjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsU0FBUztBQUNULFNBQVM7QUFDVCxVQUFVO0FBQ1YsV0FBVztBQUNYLGVBQWU7QUFDZixVQUFVO0FBQ1YsV0FBVztBQUNYLGNBQWM7QUFDZCxhQUFhO0FBQ2IsNkJBQTZCO0FBQzdCOztzQkFFc0I7QUFDdEIsVUFBVTtBQUNWLGdCQUFnQjtBQUNoQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGlCQUFpQjtBQUNqQixtQkFBbUI7QUFDbkIsb0JBQW9CO0FBQ3BCOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYjs7c0JBRXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixTQUFTO0FBQ1QsV0FBVztBQUNYOztzQkFFc0I7QUFDdEIsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COzsyQkFFMkI7QUFDM0IsWUFBWTtBQUNaOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCx5QkFBeUI7QUFDekI7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3VCQUV1QjtBMkI5cG1EdkI7RUFDSTtFQUNBO0EzQmdxbURKO0FBQ0E7O3VCQUV1QjtBMkI1cG1EdkI7RUFDSTtBM0I4cG1ESjtBQUNBOzt1QkFFdUI7QTJCMXBtRHZCO0VBQ0k7RUFDQTtBM0I0cG1ESjtBMkJ6cG1EQTs7O0VBR0k7QTNCMnBtREo7QTJCeHBtREE7RUFDSTtFQUNBO0EzQjBwbURKO0FBQ0E7O3VCQUV1QjtBMkJ0cG1EdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQndwbURKO0EyQnRwbURDO0VBQ0c7QTNCd3BtREo7QUFDQTs7dUJBRXVCO0EyQnBwbUR2Qjs7Ozs7Ozs7Ozs7Ozs7OztFQWdCSTtFQUNBO0EzQnNwbURKO0FBQ0Esb0NBQW9DO0EyQm5wbURwQzs7RUFFSTtBM0JxcG1ESjtBMkJscG1EQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JvcG1ESjtBMkJscG1EQTtFQUNJO0EzQm9wbURKO0EyQmpwbURBO0VBQ0k7RUFDQTtFQUNBO0VBQUE7RUFDQTtBM0JtcG1ESjtBQUNBLGNBQWM7QTJCaHBtRGQ7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCa3BtREo7QTJCaHBtREE7RUFDSTtFQUNBO0EzQmtwbURKO0EyQmhwbURBO0VBQ0k7RUFDQTtFQUNBO0EzQmtwbURKO0EyQi9vbURBOztFQUVJO0EzQmlwbURKO0FBQ0E7O3VCQUV1QjtBMkI3b21EdEI7RUFDRztBM0Irb21ESjtBMkI3b21EQztFQUNHO0EzQitvbURKO0EyQjdvbURDO0VBQ0c7QTNCK29tREo7QTJCN29tREM7RUFDRztBM0Irb21ESjtBMkI3b21EQTtFQUNJO0EzQitvbURKO0EyQjdvbURBO0VBQ0k7QTNCK29tREo7QTJCN29tREE7RUFDSTtBM0Irb21ESjtBQUNBOzsyQkFFMkI7QTJCMW9tRHRCOzs7RUFHRztBM0I0b21EUjtBMkJ6b21ESTs7RUFFSTtFQUNBO0VBQ0E7QTNCMm9tRFI7QUFDQTs7NkJBRTZCO0EyQnRvbUQ3QjtFQUNJO0EzQndvbURKO0FBQ0E7O3VCQUV1QjtBMkJwb21EdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Jzb21ESjtBQUNBOzt1QkFFdUI7QUFDdkIsVUFBVTtBMkJsb21EVDtFQUNHO0VBQ0E7QTNCb29tREo7QTJCbG9tREE7RUFDSTtBM0Jvb21ESjtBQUNBLFdBQVc7QTJCaG9tRFA7O0VBRUk7QTNCa29tRFI7QTJCaG9tREk7O0VBRUk7QTNCa29tRFI7QUFDQTs7dUJBRXVCO0FBQ3ZCLFVBQVU7QTJCN25tRFY7OztFQUdJO0EzQitubURKO0FBQ0EsV0FBVztBMkIzbm1ETjs7RUFFRztFQUNBO0EzQjZubURSO0FBQ0EsZUFBZTtBMkJ6bm1EZjs7OztFQUlJO0EzQjJubURKO0FBQ0EscUJBQXFCO0EyQnZubURqQjs7Ozs7Ozs7OztFQVVJO0VBQ0E7QTNCeW5tRFI7QUFDQTs7dUJBRXVCO0EyQmxubURkOztFQUVHO0EzQm9ubURaO0EyQnRubURTOztFQUVHO0EzQndubURaO0EyQjFubURTOztFQUVHO0EzQjRubURaO0EyQjlubURTOztFQUVHO0EzQmdvbURaO0FBQ0EsZ0JBQWdCO0EyQjNubURoQjtFQUNJO0EzQjZubURKO0FBQ0E7O3VCQUV1QjtBMkJ6bm1EdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0Iybm1ESjtBMkIxbm1ESTtFQUNJO0EzQjRubURSO0EyQnhubURJOztFQUVJO0VBQ0E7QTNCMG5tRFI7QTJCeG5tREk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Iwbm1EUjtBQUNBOzsrQkFFK0I7QUFDL0I7O3VCQUV1QjtBMkJwbm1EdkI7RUFDSTtFQUNBO0EzQnNubURKO0FBQ0EsVUFBVTtBMkJubm1EVjtFQUNJO0VBQ0E7QTNCcW5tREo7QUFDQTs7dUJBRXVCO0FBQ3ZCLDBDQUEwQztBMkJqbm1EMUM7RUFDSTtBM0Jtbm1ESjtBMkJwbm1EQTtFQUNJO0EzQm1ubURKO0EyQjltbURBO0VBQ0k7QTNCbW5tREo7QTJCaG5tREE7RUFDSTtBM0Jrbm1ESjtBMkJubm1EQTtFQUNJO0EzQmtubURKO0EyQmhubURBO0VBQ0k7QTNCa25tREo7QUFDQTs7dUJBRXVCO0EyQjltbUR2Qjs7Ozs7Ozs7Ozs7Ozs7O0VBZUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Jnbm1ESjtBMkI1bW1EUTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCSTtFQUNBO0EzQjhtbURaO0EyQnptbURROzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JJO0VBQ0E7QTNCMm1tRFo7QTJCdm1tREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCeW1tREo7QUFDQSxVQUFVO0EyQnRtbURWO0VBQ0k7QTNCd21tREo7QUFDQTs7MkJBRTJCO0FBQzNCLFlBQVk7QTJCN2xtREg7RUFDRztBM0IrbG1EWjtBMkI3bG1EUztFQUNHO0EzQitsbURaO0EyQjdsbURTO0VBQ0c7QTNCK2xtRFo7QUFDQSxnQkFBZ0I7QTJCNWxtRFA7O0VBRUc7QTNCOGxtRFo7QTJCNWxtRFM7O0VBRUc7QTNCOGxtRFo7QTJCNWxtRFM7O0VBRUc7QTNCOGxtRFo7QTJCM2xtRFM7Ozs7OztFQU1HO0EzQjZsbURaO0EyQjFsbURRO0VBQ0k7SUFDSTtFM0I0bG1EZDtBQUNGO0EyQnpsbURTOztFQUVHO0EzQjJsbURaO0EyQnhsbURTOztFQUVHO0VBQ0E7QTNCMGxtRFo7QTJCdmxtRFM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J5bG1EWjtBMkJ0bG1EWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCd2xtRGhCO0EyQnBsbURTOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRztFQUNBO0VBQ0E7RUFFQTtBM0JxbG1EWjtBMkJsbG1EUzs7RUFFRztBM0JvbG1EWjtBQUNBLG9DQUFvQztBMkJqbG1EM0I7RUFDRztBM0JtbG1EWjtBQUNBOzs2QkFFNkI7QUFDN0IsZ0JBQWdCO0EyQi9rbURIOzs7O0VBSUc7RUFDQTtBM0JpbG1EaEI7QUFDQSxlQUFlO0EyQjdrbUROO0VBQ0c7RUFDQTtBM0Ira21EWjtBQUNBLGdCQUFnQjtBMkI1a21EUDtFQUVHO0EzQjhrbURaO0EyQmhsbURTOztFQUVHO0EzQjhrbURaO0EyQnhrbURTO0VBRUc7QTNCNmttRFo7QTJCL2ttRFM7O0VBRUc7QTNCNmttRFo7QTJCM2ttRFM7RUFDRztBM0I2a21EWjtBQUNBOzs2QkFFNkI7QTJCemttRHBCOzs7OztFQUtHO0VBQ0E7QTNCMmttRFo7QTJCemttRFM7O0VBRUc7QTNCMmttRFo7QTJCemttRFM7O0VBRUc7QTNCMmttRFo7QTJCemttRFM7O0VBRUc7QTNCMmttRFo7QTJCemttRFM7O0VBRUc7RUFDQTtBM0Iya21EWjtBQUNBLFVBQVU7QTJCeGttREQ7O0VBRUc7QTNCMGttRFo7QUFDQSxhQUFhO0EyQnZrbURKOztFQUVHO0EzQnlrbURaO0FBQ0EsV0FBVztBMkJ0a21ERjs7RUFFRztBM0J3a21EWjtBQUNBOzs4QkFFOEI7QTJCcmttRHJCOztFQUVHO0EzQnVrbURaO0EyQnJrbURTOztFQUVHO0VBQ0E7QTNCdWttRFo7QTJCcmttRFM7O0VBRUc7QTNCdWttRFo7QTJCbmttRGE7O0VBRUc7QTNCcWttRGhCO0EyQmxrbURZO0VBQ0k7SUFDSTtFM0Jva21EbEI7QUFDRjtBQUNBLFlBQVk7QTJCMXptREg7RUFDRztBM0I0em1EWjtBMkIxem1EUztFQUNHO0EzQjR6bURaO0EyQjF6bURTO0VBQ0c7QTNCNHptRFo7QUFDQSxnQkFBZ0I7QTJCenptRFA7O0VBRUc7QTNCMnptRFo7QTJCenptRFM7O0VBRUc7QTNCMnptRFo7QTJCenptRFM7O0VBRUc7QTNCMnptRFo7QTJCeHptRFM7Ozs7OztFQU1HO0EzQjB6bURaO0EyQnZ6bURRO0VBQ0k7SUFDSTtFM0J5em1EZDtBQUNGO0EyQnR6bURTOztFQUVHO0EzQnd6bURaO0EyQnJ6bURTOztFQUVHO0VBQ0E7QTNCdXptRFo7QTJCcHptRFM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Jzem1EWjtBMkIxeW1EUzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkc7RUFDQTtFQUNBO0VBRUE7QTNCMnltRFo7QTJCeHltRFM7O0VBRUc7QTNCMHltRFo7QUFDQSxvQ0FBb0M7QTJCdnltRDNCO0VBQ0c7QTNCeXltRFo7QUFDQTs7NkJBRTZCO0FBQzdCLGdCQUFnQjtBMkJyeW1ESDs7OztFQUlHO0VBQ0E7QTNCdXltRGhCO0FBQ0EsZUFBZTtBMkJueW1ETjtFQUNHO0VBQ0E7QTNCcXltRFo7QUFDQSxnQkFBZ0I7QTJCbHltRFA7RUFFRztBM0JveW1EWjtBMkJ0eW1EUzs7RUFFRztBM0JveW1EWjtBMkI5eG1EUztFQUVHO0EzQm15bURaO0EyQnJ5bURTOztFQUVHO0EzQm15bURaO0EyQmp5bURTO0VBQ0c7QTNCbXltRFo7QUFDQTs7NkJBRTZCO0EyQi94bURwQjs7Ozs7RUFLRztFQUNBO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0VBQ0E7QTNCaXltRFo7QUFDQSxVQUFVO0EyQjl4bUREOztFQUVHO0EzQmd5bURaO0FBQ0EsYUFBYTtBMkI3eG1ESjs7RUFFRztBM0IreG1EWjtBQUNBLFdBQVc7QTJCNXhtREY7O0VBRUc7QTNCOHhtRFo7QUFDQTs7OEJBRThCO0EyQjN4bURyQjs7RUFFRztBM0I2eG1EWjtBMkIzeG1EUzs7RUFFRztFQUNBO0EzQjZ4bURaO0EyQjN4bURTOztFQUVHO0EzQjZ4bURaO0EyQnp4bURhOztFQUVHO0EzQjJ4bURoQjtBMkJ4eG1EWTtFQUNJO0lBQ0k7RTNCMHhtRGxCO0FBQ0Y7QUFDQSxZQUFZO0EyQmhobkRIO0VBQ0c7QTNCa2huRFo7QTJCaGhuRFM7RUFDRztBM0JraG5EWjtBMkJoaG5EUztFQUNHO0EzQmtobkRaO0FBQ0EsZ0JBQWdCO0EyQi9nbkRQOztFQUVHO0EzQmlobkRaO0EyQi9nbkRTOztFQUVHO0EzQmlobkRaO0EyQi9nbkRTOztFQUVHO0EzQmlobkRaO0EyQjlnbkRTOzs7Ozs7RUFNRztBM0JnaG5EWjtBMkI3Z25EUTtFQUNJO0lBQ0k7RTNCK2duRGQ7QUFDRjtBMkI1Z25EUzs7RUFFRztBM0I4Z25EWjtBMkIzZ25EUzs7RUFFRztFQUNBO0EzQjZnbkRaO0EyQjFnbkRTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0NHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCNGduRFo7QTJC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RUFDSTtFQUNBO0VBQ0E7QTNCZ3FuREo7QTJCOXBuREE7RUFDSTtFQUNBO0VBQ0E7QTNCZ3FuREo7QTJCOXBuREE7RUFDSTtFQUNBO0EzQmdxbkRKO0FBQ0EsdUJBQXVCO0EyQjVwbkRuQjs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBQUNBLGlDQUFpQztBMkIxcG5EakM7RUFDSTtJQUNJO0lBQ0E7RTNCNHBuRE47RTJCenBuREc7O0lBRUc7SUFDQTtFM0IycG5ETjtBQUNGO0FBQ0Esd0JBQXdCO0EyQnZwbkRwQjtFQUNJO0VBQ0E7RUFDQTtBM0J5cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0FBQ0E7O3VCQUV1QjtBMkJscG5EbkI7O0VBRUk7RUFDQTtBM0JvcG5EUjtBQUNBOzsyQkFFMkI7QTJCOW9uRHZCO0VBQ0k7RUFDQTtBM0JncG5EUjtBMkI5b25E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Q0E7SUFDQTtJQUNBO0U1QjQ4cURWO0FBQ0Y7QTRCMThxREk7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVCNDhxRFY7QUFDRjtBNEIxOHFESTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUI0OHFEVjtBQUNGO0FBQ0E7O3NCQUVzQjtBQUN0QixzQ0FBc0M7QTRCdjhxRHRDOztFQUVJO0E1Qnk4cURKO0FBQ0EsZUFBZTtBNEJ0OHFEZjs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBQUNBLHdCQUF3QjtBNEJyOHFEeEI7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBQUNBLGdCQUFnQjtBNEJuOHFEWjtFQUNJO0E1QnE4cURSO0FBQ0E7OzBCQUUwQjtBQUMxQix3QkFBd0I7QTRCLzdxRHBCOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QUFDQTs7NkJBRTZCO0FBQzdCLCtCQUErQjtBNEI3N3FEM0I7RUFDSTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0FBQ0Y7QUFDQSwrQkFBK0I7QTRCNTdxRDNCO0VBQ0k7Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtBQUNGO0FBQ0EseUNBQXlDO0E0QjM3cURyQztFQUNJOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7QUFDRjtBQUNBLHNDQUFzQztBNEIxN3FEbEM7RUFDSTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0FBQ0Y7QUFDQSxtQ0FBbUM7QTRCejdxRC9CO0VBQ0k7Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7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RHRCO0lBQ0k7RTVCNjVxRGQ7RTRCMzVxRFU7SUFDSTtFNUI2NXFEZDtFQUNBLG9CQUFvQjtFNEJ6NXFEVjtJQUNJO0U1QjI1cURkO0U0Qno1cURVO0lBQ0k7RTVCMjVxRGQ7QUFDRjtBQUNBLGFBQWE7QTRCdjVxRFQ7RUFDSTs7O0lBR0k7RTVCeTVxRFY7RTRCdjVxRE07SUFDSTtFNUJ5NXFEVjtFQUNBLHFCQUFxQjtFNEJ0NXFEWDs7SUFFSTtFNUJ3NXFEZDtFNEJ0NXFEVTs7SUFFSTtFNUJ3NXFEZDtFQUNBLGdDQUFnQztFNEJyNXFEdEI7SUFDSTtFNUJ1NXFEZDtFNEJyNXFEVTtJQUNJO0U1QnU1cURkO0VBQ0Esb0JBQW9CO0U0Qm41cURWO0lBQ0k7RTVCcTVxRGQ7RTRCbjVxRFU7SUFDSTtFNUJxNXFEZDtBQUNGO0FBQ0E7OzBCQUUwQjtBQUMxQixnQkFBZ0I7QTRCOTRxRFo7RUFDSTtJQUNJO0U1Qmc1cURWO0U0Qjk0cURNOztJQUVJO0lBQ0E7RTVCZzVxRFY7RTRCOTRxRE07O0lBRUk7SUFDQTtJQUNBO0lBQ0E7RTVCZzVxRFY7RTRCOTRxRE87O0lBRUc7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7QUFDRjtBQUNBLGdCQUFnQjtBNEI3NHFEWjtFQUNJ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QmwwdkRpQjtFQUNHO0E3Qm8wdkRwQjtBNkJqMHZEcUI7RUFDRztBN0JtMHZEeEI7QTZCLzB2RGlCOztFQUVHO0E3QmkxdkRwQjtBNkIvMHZEaUI7RUFDRztBN0JpMXZEcEI7QTZCLzB2RGlCO0VBQ0c7QTdCaTF2RHBCO0E2QjkwdkRxQjtFQUNHO0E3QmcxdkR4QjtBNkI1MXZEaUI7O0VBRUc7QTdCODF2RHBCO0E2QjUxdkRpQjtFQUNHO0E3QjgxdkRwQjtBNkI1MXZEaUI7RUFDRztBN0I4MXZEcEI7QTZCMzF2RHFCO0VBQ0c7QTdCNjF2RHhCO0E2QnoydkRpQjs7RUFFRztBN0IyMnZEcEI7QTZCejJ2RGlCO0VBQ0c7QTdCMjJ2RHBCO0E2QnoydkRpQjtFQUNHO0E3QjIydkRwQjtBNkJ4MnZEcUI7RUFDRztBN0IwMnZEeEI7QTZCdDN2RGlCOztFQUVHO0E3QnczdkRwQjtBNkJ0M3ZEaUI7RUFDRztBN0J3M3ZEcEI7QTZCdDN2RGlCO0VBQ0c7QTdCdzN2RHBCO0E2QnIzdkRxQjtFQUNHO0E3QnUzdkR4QjtBNkJuNHZEaUI7O0VBRUc7QTdCcTR2RHBCO0E2Qm40dkRpQjtFQUNHO0E3QnE0dkRwQjtBNkJuNHZEaUI7RUFDRztBN0JxNHZEcEI7QTZCbDR2RHFCO0VBQ0c7QTdCbzR2RHhCO0E2Qmg1dkRpQjs7RUFFRztBN0JrNXZEcEI7QTZCaDV2RGlCO0VBQ0c7QTdCazV2RHBCO0E2Qmg1dkRpQjtFQUNHO0E3Qms1dkRwQjtBNkIvNHZEcUI7RUFDRztBN0JpNXZEeEI7QTZCNzV2RGlCOztFQUVHO0E3Qis1dkRwQjtBNkI3NXZEaUI7RUFDRztBN0IrNXZEcEI7QTZCNzV2RGlCO0VBQ0c7QTdCKzV2RHBCO0E2QjU1dkRxQjtFQUNHO0E3Qjg1dkR4QjtBNkIxNnZEaUI7O0VBRUc7QTdCNDZ2RHBCO0E2QjE2dkRpQjtFQUNHO0E3QjQ2dkRwQjtBNkIxNnZEaUI7RUFDRztBN0I0NnZEcEI7QTZCejZ2RHFCO0VBQ0c7QTdCMjZ2RHhCO0E2QnY3dkRpQjs7RUFFRztBN0J5N3ZEcEI7QTZCdjd2RGlCO0VBQ0c7QTdCeTd2RHBCO0E2QnY3dkRpQjtFQUNHO0E3Qnk3dkRwQjtBNkJ0N3ZEcUI7RUFDRztBN0J3N3ZEeEI7QTZCcDh2RGlCOztFQUVHO0E3QnM4dkRwQjtBNkJwOHZEaUI7RUFDRztBN0JzOHZEcEI7QTZCcDh2RGlCO0VBQ0c7QTdCczh2RHBCO0E2Qm44dkRxQjtFQUNHO0E3QnE4dkR4QjtBNkI3N3ZEUTtFQUNJO0E3Qis3dkRaO0FBQ0E7O3FCQUVxQjtBNkJ4N3ZEakI7OztFQUdJO0E3QjA3dkRSO0E2Qng3dkRJOzs7RUFHSTtFQUNBO0E3QjA3dkRSO0E2Qng3dkRJOzs7RUFHSTtFQUNBO0E3QjA3dkRSO0FBQ0E7O3FCQUVxQjtBNkJwN3ZEakI7OztFQUdJO0E3QnM3dkRSO0FBQ0E7OzBCQUUwQjtBNkJoN3ZEdEI7RUFDSTtFQUNBO0VBQ0E7QTdCazd2RFI7QTZCLzZ2RFE7RTdCaTd2RE4saURBQWlEO0U2Qjc2dkRuQztFQUdKO0E3QjY2dkRaO0E2QjE2dkRLO0VBQ0c7QTdCNDZ2RFI7QTZCMTZ2REk7RUFDSTtBN0I0NnZEUjtBNkJ6NnZEUTtFQUNJO0E3QjI2dkRaO0E2Qno2dkRRO0VBQ0k7QTdCMjZ2RFo7QUFDQTs7MEJBRTBCO0E2QnA2dkR0Qjs7RUFFSTtBN0JzNnZEUjtBQUNBOzswQkFFMEI7QTZCaDZ2RHRCO0VBQ0k7QTdCazZ2RFI7QTZCLzV2REk7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qmk2dkRSO0E2Qi81dkRLOztFQUVHO0E3Qmk2dkRSO0E2Qjk1dkRJOztFQUVJO0E3Qmc2dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBQUNBOztxQkFFcUI7QTZCejV2RGpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdCMjV2RFI7QTZCejV2REk7OztFQUdJO0E3QjI1dkRSO0E2Qng1dkRJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0E3QjA1dkRSO0E2Qng1dkRJO0VBQ0k7RUFDQTtFQUNBO0E3QjA1dkRSO0E2Qng1dkRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjA1dkRSO0E2Qng1dkRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCMDV2RFI7QTZCeDV2REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCMDV2RFI7QUFDQSx1QkFBdUI7QTZCdjV2RG5CO0VBQ0k7QTdCeTV2RFI7QUFDQTs7MEJBRTBCO0E2Qm41dkR0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JxNXZEUjtBNkJsNXZEUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qm81dkRaO0E2Qmo1dkRJOztFQUVJO0E3Qm01dkRSO0FBQ0EsV0FBVztBNkJoNXZEUDtFQUNJO0E3Qms1dkRSO0E2Qmg1dkRJO0VBQ0k7QTdCazV2RFI7QUFDQSw2QkFBNkI7QTZCLzR2RHpCOztFQUVJO0E3Qmk1dkRSO0FBQ0EsV0FBVztBNkI5NHZEUDtFQUNJO0E3Qmc1dkRSO0E2Qjk0dkRJO0VBQ0k7QTdCZzV2RFI7QTZCOTR2REk7RUFDSTtBN0JnNXZEUjtBNkI3NHZEUTtFQUNJO0E3Qis0dkRaO0E2Qjc0dkRRO0VBQ0k7QTdCKzR2RFo7QTZCNzR2RFE7RUFDSTtBN0IrNHZEWjtBNkI1NHZEWTtFQUNJO0lBQ0k7RTdCODR2RGxCO0FBQ0Y7QTZCbjR2RFM7RUFDRztBN0JxNHZEWjtBNkJ0NHZEUztFQUNHO0E3Qnc0dkRaO0E2Qno0dkRTO0VBQ0c7QTdCMjR2RFo7QTZCNTR2RFM7RUFDRztBN0I4NHZEWjtBNkIvNHZEUztFQUNHO0E3Qmk1dkRaO0E2Qmw1dkRTO0VBQ0c7QTdCbzV2RFo7QTZCcjV2RFM7RUFDRztBN0J1NXZEWjtBNkJ4NXZEUztFQUNHO0E3QjA1dkRaO0E2QjM1dkRTO0VBQ0c7QTdCNjV2RFo7QTZCOTV2RFM7RUFDRztBN0JnNnZEWjtBNkJqNnZEUztFQUNHO0E3Qm02dkRaO0E2QnA2dkRTO0VBQ0c7QTdCczZ2RFo7QTZCdjZ2RFM7RUFDRztBN0J5NnZEWjtBNkIxNnZEUztFQUNHO0E3QjQ2dkRaO0E2Qjc2dkRTO0VBQ0c7QTdCKzZ2RFo7QUFDQTs7cUJBRXFCO0FBQ3JCLFdBQVc7QTZCeDZ2RFA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0IwNnZEUjtBNkJ4NnZESTtFQUNJO0E3QjA2dkRSO0FBQ0EsUUFBUTtBNkJ2NnZESjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCeTZ2RFI7QTZCdjZ2REk7RUFDSTtBN0J5NnZEUjtBQUNBLFdBQVc7QTZCdDZ2RFA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCdzZ2RFI7QTZCdDZ2REk7RUFDSTtBN0J3NnZEUjtBQUNBLHVCQUF1QjtBNkJyNnZEbkI7RUFDSTtBN0J1NnZEUjtBNkJyNnZESTtFQUNJO0E3QnU2dkRSO0FBQ0EscUJBQXFCO0E2QnA2dkRoQjtFQUNHO0E3QnM2dkRSO0E2Qm42dkRRO0VBQ0k7QTdCcTZ2RFo7QTZCbDZ2RFk7RUFDSTtBN0JvNnZEaEI7QTZCLzV2RFE7RUFDSTtFQUNBO0VBQ0E7QTdCaTZ2RFo7QTZCMzV2REk7RUFDSTtBN0I2NXZEUjtBNkI1NXZEUTtFQUNJO0VBQ0E7QTdCODV2RFo7QTZCNTV2RFE7RUFDSTtBN0I4NXZEWjtBNkIzNXZEWTs7RUFFSTtBN0I2NXZEaEI7QTZCdjV2RFk7RUFDSTtBN0J5NXZEaEI7QTZCdjV2RFk7RUFDSTtBN0J5NXZEaEI7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O0EvQjY5MERaO0ErQjE5MERhOztFQUVHO0EvQjQ5MERoQjtBK0JoLzBEUztFQUNHO0VBQ0E7QS9Cay8wRFo7QStCLyswRFM7O0VBRUc7QS9CaS8wRFo7QStCOSswRGE7RUFDRztBL0JnLzBEaEI7QStCNyswRFM7RUFDRztBL0IrKzBEWjtBK0I1KzBEYTs7RUFFRztBL0I4KzBEaEI7QStCbGcxRFM7RUFDRztFQUNBO0EvQm9nMURaO0ErQmpnMURTOztFQUVHO0EvQm1nMURaO0ErQmhnMURhO0VBQ0c7QS9Ca2cxRGhCO0ErQi8vMERTO0VBQ0c7QS9CaWcxRFo7QStCOS8wRGE7O0VBRUc7QS9CZ2cxRGhCO0ErQnBoMURTO0VBQ0c7RUFDQTtBL0JzaDFEWjtBK0JuaDFEUzs7RUFFRztBL0JxaDFEWjtBK0JsaDFEYTtFQUNHO0EvQm9oMURoQjtBK0JqaDFEUztFQUNHO0EvQm1oMURaO0ErQmhoMURhOztFQUVHO0EvQmtoMURoQjtBK0J0aTFEUztFQUNHO0VBQ0E7QS9Cd2kxRFo7QStCcmkxRFM7O0VBRUc7QS9CdWkxRFo7QStCcGkxRGE7RUFDRztBL0JzaTFEaEI7QStCbmkxRFM7RUFDRztBL0JxaTFEWjtBK0JsaTFEYTs7RUFFRztBL0JvaTFEaEI7QStCcmgxRFM7RUFFTztFQUNBO0EvQnNoMURoQjtBK0I5ZzFEUzs7RUFHTztBL0IrZzFEaEI7QStCM2cxRGE7RUFFTztBL0I0ZzFEcEI7QStCdmcxRFM7RUFFTztBL0J3ZzFEaEI7QStCbmkxRFM7RUFFTztFQUNBO0EvQm9pMURoQjtBK0I1aDFEUzs7RUFHTztBL0I2aDFEaEI7QStCemgxRGE7RUFFTztBL0IwaDFEcEI7QStCcmgxRFM7RUFFTztBL0JzaDFEaEI7QStCamoxRFM7RUFFTztFQUNBO0EvQmtqMURoQjtBK0IxaTFEUzs7RUFHTztBL0IyaTFEaEI7QStCdmkxRGE7RUFFTztBL0J3aTFEcEI7QStCbmkxRFM7RUFFTztBL0JvaTFEaEI7QStCL2oxRFM7RUFFTztFQUNBO0EvQmdrMURoQjtBK0J4ajFEUzs7RUFHTztBL0J5ajFEaEI7QStCcmoxRGE7RUFFTztBL0JzajFEcEI7QStCamoxRFM7RUFFTztBL0JrajFEaEI7QStCN2sxRFM7RUFFTztFQUNBO0EvQjhrMURoQjtBK0J0azFEUzs7RUFHTztBL0J1azFEaEI7QStCbmsxRGE7RUFFTztBL0JvazFEcEI7QStCL2oxRFM7RUFFTztBL0JnazFEaEI7QStCM2wxRFM7RUFFTztFQUNBO0EvQjRsMURoQjtBK0JwbDFEUzs7RUFHTztBL0JxbDFEaEI7QStCamwxRGE7RUFFTztBL0JrbDFEcEI7QStCN2sxRFM7RUFFTztBL0I4azFEaEI7QStCem0xRFM7RUFFTztFQUNBO0EvQjBtMURoQjtBK0JsbTFEUzs7RUFHTztBL0JtbTFEaEI7QStCL2wxRGE7RUFFTztBL0JnbTFEcEI7QStCM2wxRFM7RUFFTztBL0I0bDFEaEI7QStCdm4xRFM7RUFFTztFQUNBO0EvQnduMURoQjtBK0JobjFEUzs7RUFHTztBL0JpbjFEaEI7QStCN20xRGE7RUFFTztBL0I4bTFEcEI7QStCem0xRFM7RUFFTztBL0IwbTFEaEI7QStCcm8xRFM7RUFFTztFQUNBO0EvQnNvMURoQjtBK0I5bjFEUzs7RUFHTztBL0IrbjFEaEI7QStCM24xRGE7RUFFTztBL0I0bjFEcEI7QStCdm4xRFM7RUFFTztBL0J3bjFEaEI7QStCbnAxRFM7RUFFTztFQUNBO0EvQm9wMURoQjtBK0I1bzFEUzs7RUFHTztBL0I2bzFEaEI7QStCem8xRGE7RUFFTztBL0IwbzFEcEI7QStCcm8xRFM7RUFFTztBL0JzbzFEaEI7QStCanExRFM7RUFFTztFQUNBO0EvQmtxMURoQjtBK0IxcDFEUzs7RUFHTztBL0IycDFEaEI7QStCdnAxRGE7RUFFTztBL0J3cDFEcEI7QStCbnAxRFM7RUFFTztBL0JvcDFEaEI7QStCL3ExRFM7RUFFTztFQUNBO0EvQmdyMURoQjtBK0J4cTFEUzs7RUFHTztBL0J5cTFEaEI7QStCcnExRGE7RUFFTztBL0JzcTFEcEI7QStCanExRFM7RUFFTztBL0JrcTFEaEI7QStCN3IxRFM7RUFFTztFQUNBO0EvQjhyMURoQjtBK0J0cjFEUzs7RUFHTztB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QzV3M0RBO0VBQ0k7QWhDOHczREo7QUFDQSxrQkFBa0I7QWdDM3czRGxCO0VBQ0k7QWhDNnczREo7QWdDM3czREE7RUFDSTtBaEM2dzNESjtBZ0MzdzNEQTtFQUNJO0FoQzZ3M0RKO0FBQ0EsZUFBZTtBZ0MxdzNEZjtFQUNLO0lBQ0c7SUFDQTtFaEM0dzNETjtFZ0MxdzNERzs7Ozs7Ozs7Ozs7Ozs7SUFjRztJQUNBO0VoQzR3M0ROO0VnQ3p3M0RHO0lBQ0c7RWhDMnczRE47RWdDenczREc7SUFDRztFaEMydzNETjtFZ0N6dzNERzs7OztJQUlHO0lBQ0E7SUFDQTtFaEMydzNETjtFZ0N4dzNERzs7Ozs7OztJQU9HO0lBQ0E7SUFDQTtJQUNBO0VoQzB3M0ROO0VnQ3h3M0RHOzs7Ozs7O0lBT0c7RWhDMHczRE47RUFDQSxxQkFBcUI7RWdDdnczRGxCO0lBQ0c7RWhDeXczRE47RWdDanczRGM7SUFDSTtFaENtdzNEbEI7RWdDanczRGM7SUFDSTtFaENtdzNEbEI7RWdDOXYzRGtCO0lBQ0k7RWhDZ3czRHRCO0VnQzl2M0RrQjtJQUNJO0VoQ2d3M0R0QjtFZ0M3dzNEYztJQUNJO0VoQyt3M0RsQjtFZ0M3dzNEYztJQUNJO0VoQyt3M0RsQjtFZ0MxdzNEa0I7SUFDSTtFaEM0dzNEdEI7RWdDMXczRGtCO0lBQ0k7RWhDNHczRHRCO0VnQ3p4M0RjO0lBQ0k7RWhDMngzRGxCO0VnQ3p4M0RjO0lBQ0k7RWhDMngzRGxCO0VnQ3R4M0RrQjtJQUNJO0VoQ3d4M0R0QjtFZ0N0eDNEa0I7SUFDSTtFaEN3eDNEdEI7RWdDcnkzRGM7SUFDSTtFaEN1eTNEbEI7RWdDcnkzRGM7SUFDSTtFaEN1eTNEbEI7RWdDbHkzRGtCO0lBQ0k7RWhDb3kzRHRCO0VnQ2x5M0RrQjtJQUNJO0VoQ295M0R0QjtFZ0NqejNEYztJQUNJO0VoQ216M0RsQjtFZ0NqejNEYztJQUNJO0VoQ216M0RsQjtFZ0M5eTNEa0I7SUFDSTtFaENnejNEdEI7RWdDOXkzRGtCO0lBQ0k7RWhDZ3ozRHRCO0VnQzd6M0RjO0lBQ0k7RWhDK3ozRGxCO0VnQzd6M0RjO0lBQ0k7RWhDK3ozRGxCO0VnQzF6M0RrQjtJQUNJO0VoQzR6M0R0QjtFZ0MxejNEa0I7SUFDSTtFaEM0ejNEdEI7RWdDejAzRGM7SUFDSTtFaEMyMDNEbEI7RWdDejAzRGM7SUFDSTtFaEMyMDNEbEI7RWdDdDAzRGtCO0lBQ0k7RWhDdzAzRHRCO0VnQ3QwM0RrQjtJQUNJO0VoQ3cwM0R0QjtFZ0NyMTNEYztJQUNJO0VoQ3UxM0RsQjtFZ0NyMTNEYztJQUNJO0VoQ3UxM0RsQjtFZ0NsMTNEa0I7SUFDSTtFaENvMTNEdEI7RWdDbDEzRGtCO0lBQ0k7RWhDbzEzRHRCO0VnQ2oyM0RjO0lBQ0k7RWhDbTIzRGxCO0VnQ2oyM0RjO0lBQ0k7RWhDbTIzRGxCO0VnQzkxM0RrQjtJQUNJO0VoQ2cyM0R0QjtFZ0M5MTNEa0I7SUFDSTtFaENnMjNEdEI7RWdDNzIzRGM7SUFDSTtFaEMrMjNEbEI7RWdDNzIzRGM7SUFDSTtFaEMrMjNEbEI7RWdDMTIzRGtCO0lBQ0k7RWhDNDIzRHRCO0VnQzEyM0RrQjtJQUNJO0VoQzQyM0R0QjtFZ0N6MzNEYztJQUNJO0VoQzIzM0RsQjtFZ0N6MzNEYztJQUNJO0VoQzIzM0RsQjtFZ0N0MzNEa0I7SUFDSTtFaEN3MzNEdEI7RWdDdDMzRGtCO0lBQ0k7RWhDdzMzRHRCO0VnQ3I0M0RjO0lBQ0k7RWhDdTQzRGxCO0VnQ3I0M0RjO0lBQ0k7RWhDdTQzRGxCO0VnQ2w0M0RrQjtJQUNJO0VoQ280M0R0QjtFZ0NsNDNEa0I7SUFDSTtFaENvNDNEdEI7RWdDajUzRGM7SUFDSTtFaENtNTNEbEI7RWdDajUzRGM7SUFDSTtFaENtNTNEbEI7RWdDOTQzRGtCO0lBQ0k7RWhDZzUzRHRCO0VnQzk0M0RrQjtJQUNJO0VoQ2c1M0R0QjtFZ0M3NTNEYztJQUNJO0VoQys1M0RsQjtFZ0M3NTNEYztJQUNJO0VoQys1M0RsQjtFZ0MxNTNEa0I7SUFDSTtFaEM0NTNEdEI7RWdDMTUzRGtCO0lBQ0k7RWhDNDUzRHRCO0VnQ3o2M0RjO0lBQ0k7RWhDMjYzRGxCO0VnQ3o2M0RjO0lBQ0k7RWhDMjYzRGxCO0VnQ3Q2M0RrQjtJQUNJO0VoQ3c2M0R0QjtFZ0N0NjNEa0I7SUFDSTtFaEN3NjNEdEI7RWdDaDYzRFU7SUFDSTtFaENrNjNEZDtFZ0NqNjNEYztJQUNJO0VoQ202M0RsQjtFZ0M5NTNEVTtJQUNJO0VoQ2c2M0RkO0VnQy81M0RjO0lBQ0k7RWhDaTYzRGxCO0VnQzc1M0RNO0lBQ0k7RWhDKzUzRFY7RWdDOTUzRFU7SUFDSTtFaENnNjNEZDtFZ0M1NTNEVTtJQUNJO0VoQzg1M0RkO0VnQzc1M0RjO0lBQ0k7RWhDKzUzRGxCO0VnQzE1M0RVO0lBQ0k7RWhDNDUzRGQ7RWdDMzUzRGM7SUFDSTtFaEM2NTNEbEI7RWdDdDUzRFU7SUFDSTtFaEN3NTNEZDtFZ0NwNTNEVTtJQUNJO0VoQ3M1M0RkO0VnQ241M0RNO0lBQ0k7RWhDcTUzRFY7RWdDbDUzRFU7SUFDSTtFaENvNTNEZDtFZ0NoNTNEVTtJQUNJO0VoQ2s1M0RkO0FBQ0Y7QUFDQTs7cUJBRXFCO0FnQzc0M0RqQjtFQUVRO0lBQ0k7RWhDODQzRGQ7RWdDNzQzRGM7SUFDSTtFaEMrNDNEbEI7RWdDMTQzRFU7SUFDSTtFaEM0NDNEZDtFZ0MzNDNEYztJQUNJO0VoQzY0M0RsQjtFZ0N6NDNETTtJQUNJO0VoQzI0M0RWO0VnQzE0M0RVO0lBQ0k7RWhDNDQzRGQ7RWdDeDQzRFU7SUFDSTtFaEMwNDNEZDtFZ0N6NDNEYztJQUNJO0VoQzI0M0RsQjtFZ0N0NDNEVTtJQUNJO0VoQ3c0M0RkO0VnQ3Y0M0RjO0lBQ0k7RWhDeTQzRGxCO0FBQ0Y7QWdDcjQzREk7RUFFUTtJQUNJO0VoQ3M0M0RkO0VnQ3I0M0RjO0lBQ0k7RWhDdTQzRGxCO0VnQ2w0M0RVO0lBQ0k7RWhDbzQzRGQ7RWdDbjQzRGM7SUFDSTtFaENxNDNEbEI7RWdDajQzRE07SUFDSTtFaENtNDNEVjtFZ0NsNDNEVTtJQUNJO0VoQ280M0RkO0VnQ2g0M0RVO0lBQ0k7RWhDazQzRGQ7RWdDajQzRGM7SUFDSTtFaENtNDNEbEI7RWdDOTMzRFU7SUFDSTtFaENnNDNEZDtFZ0MvMzNEYztJQUNJO0VoQ2k0M0RsQjtBQUNGO0FnQzczM0RJO0VBRVE7SUFDSTtFaEM4MzNEZDtFZ0M3MzNEYztJQUNJO0VoQyszM0RsQjtFZ0MxMzNEVTtJQUNJO0VoQzQzM0RkO0VnQzMzM0RjO0lBQ0k7RWhDNjMzRGxCO0VnQ3ozM0RNO0lBQ0k7RWhDMjMzRFY7RWdDMTMzRFU7SUFDSTtFaEM0MzNEZDtFZ0N4MzNEVTtJQUNJO0VoQzAzM0RkO0VnQ3ozM0RjO0lBQ0k7RWhDMjMzRGxCO0VnQ3QzM0RVO0lBQ0k7RWhDdzMzRGQ7RWdDdjMzRGM7SUFDSTtFaEN5MzNEbEI7QUFDRjtBZ0NwMzNESTs7O0VBR0k7RUFDQTtFQUNBO0FoQ3MzM0RSO0FnQ3IzM0RROzs7RUFDSTtFQUNBO0VBQ0E7QWhDeTMzRFo7QWdDcjMzRFE7RUFDSTs7O0lBR0k7RWhDdTMzRGQ7QUFDRjtBQUNBLDZFQUE2RTtBZ0NuMzNEekU7RUFDSTtFQUNBO0VBQ0E7QWhDcTMzRFI7QWdDbjMzREk7RUFDSTtFQUNBO0VBQ0E7QWhDcTMzRFI7QWdDbDMzRFE7RUFDSTtFQUNBO0FoQ28zM0RaO0FnQ2wzM0RRO0VBQ0k7RUFDQTtBaENvMzNEWjtBZ0NqMzNESTs7RUFFSTtFQUNBO0FoQ20zM0RSO0FnQ2gzM0RRO0VBQ0k7O0lBRUk7RWhDazMzRGQ7QUFDRjtBQUNBLHdDQUF3QztBZ0M5MjNENUI7RUFDSTs7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFaENnMzNEbEI7RWdDOTIzRGM7SUFDSTtFaENnMzNEbEI7RWdDOTIzRGM7SUFDSTtFaENnMzNEbEI7RWdDNzIzRGtCO0lBQ0k7RWhDKzIzRHRCO0VnQzcyM0RrQjtJQUNJO0VoQysyM0R0QjtBQUNGO0FnQzEyM0RZO0VBQ0k7QWhDNDIzRGhCO0FnQzEyM0RZO0VBQ0k7QWhDNDIzRGhCO0FnQzEyM0RZO0VBQ0k7QWhDNDIzRGhCO0FnQzEyM0RZO0VBQ0k7QWhDNDIzRGhCO0FnQ3oyM0RnQjtFaEMyMjNEZCxTQUFTO0VnQ3oyM0RTO0VBQ0E7RUFDQTtFQUNBO0FoQzIyM0RwQjtBZ0N4MjNEWTtFQUNJO0loQzAyM0RaLDZDQUE2QztJZ0N4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Z0I7RUFDSTtBaENneDNEcEI7QWdDOXczRGdCO0VBQ0k7QWhDZ3gzRHBCO0FnQzN3M0RvQjtFQUNJO0FoQzZ3M0R4QjtBZ0MzdzNEb0I7RUFDSTtBaEM2dzNEeEI7QWdDMXgzRGdCO0VBQ0k7QWhDNHgzRHBCO0FnQzF4M0RnQjtFQUNJO0FoQzR4M0RwQjtBZ0N2eDNEb0I7RUFDSTtBaEN5eDNEeEI7QWdDdngzRG9CO0VBQ0k7QWhDeXgzRHhCO0FnQ3R5M0RnQjtFQUNJO0FoQ3d5M0RwQjtBZ0N0eTNEZ0I7RUFDSTtBaEN3eTNEcEI7QWdDbnkzRG9CO0VBQ0k7QWhDcXkzRHhCO0FnQ255M0RvQjtFQUNJO0FoQ3F5M0R4QjtBZ0NsejNEZ0I7RUFDSTtBaENvejNEcEI7QWdDbHozRGdCO0VBQ0k7QWhDb3ozRHBCO0FnQy95M0RvQjtFQUNJO0FoQ2l6M0R4QjtBZ0MveTNEb0I7RUFDSTtBaENpejNEeEI7QWdDOXozRGdCO0VBQ0k7QWhDZzAzRHBCO0FnQzl6M0RnQjtFQUNJO0FoQ2cwM0RwQjtBZ0MzejNEb0I7RUFDSTtBaEM2ejNEeEI7QWdDM3ozRG9CO0VBQ0k7QWhDNnozRHhCO0FnQzEwM0RnQjtFQUNJO0FoQzQwM0RwQjtBZ0MxMDNEZ0I7RUFDSTtBaEM0MDNEcEI7QWdDdjAzRG9CO0VBQ0k7QWhDeTAzRHhCO0FnQ3YwM0RvQjtFQUNJO0FoQ3kwM0R4QjtBZ0N0MTNEZ0I7RUFDSTtBaEN3MTNEcEI7QWdDdDEzRGdCO0VBQ0k7QWhDdzEzRHBCO0FnQ24xM0RvQjtFQUNJO0FoQ3ExM0R4QjtBZ0NuMTNEb0I7RUFDSTtBaENxMTNEeEI7QWdDbDIzRGdCO0VBQ0k7QWhDbzIzRHBCO0FnQ2wyM0RnQjtFQUNJO0FoQ28yM0RwQjtBZ0MvMTNEb0I7RUFDSTtBaENpMjNEeEI7QWdDLzEzRG9CO0VBQ0k7QWhDaTIzRHhCO0FnQzkyM0RnQjtFQUNJO0FoQ2czM0RwQjtBZ0M5MjNEZ0I7RUFDSTtBaENnMzNEcEI7QWdDMzIzRG9CO0VBQ0k7QWhDNjIzRHhCO0FnQzMyM0RvQjtFQUNJO0FoQzYyM0R4QjtBZ0MxMzNEZ0I7RUFDSTtBaEM0MzNEcEI7QWdDMTMzRGdCO0VBQ0k7QWhDNDMzRHBCO0FnQ3YzM0RvQjtFQUNJO0FoQ3kzM0R4QjtBZ0N2MzNEb0I7RUFDSTtBaEN5MzNEeEI7QWdDdDQzRGdCO0VBQ0k7QWhDdzQzRHBCO0FnQ3Q0M0RnQjtFQUNJO0FoQ3c0M0RwQjtBZ0NuNDNEb0I7RUFDSTtBaENxNDNEeEI7QWdDbjQzRG9CO0VBQ0k7QWhDcTQzRHhCO0FnQ2w1M0RnQjtFQUNJO0FoQ281M0RwQjtBZ0NsNTNEZ0I7RUFDSTtBaENvNTNEcEI7QWdDLzQzRG9CO0VBQ0k7QWhDaTUzRHhCO0FnQy80M0RvQjtFQUNJO0FoQ2k1M0R4QjtBZ0M5NTNEZ0I7RUFDSTtBaENnNjNEcEI7QWdDOTUzRGdCO0VBQ0k7QWhDZzYzRHBCO0FnQzM1M0RvQjtFQUNJO0FoQzY1M0R4QjtBZ0MzNTNEb0I7RUFDSTtBaEM2NTNEeEI7QWdDMTYzRGdCO0VBQ0k7QWhDNDYzRHBCO0FnQzE2M0RnQjtFQUNJO0FoQzQ2M0RwQjtBZ0N2NjNEb0I7RUFDSTtBaEN5NjNEeEI7QWdDdjYzRG9CO0VBQ0k7QWhDeTYzRHhCO0FBQ0E7O3FCQUVxQjtBZ0MvNTNEakI7O0VBRUk7QWhDaTYzRFI7QWdDLzUzREk7O0VBRUk7QWhDaTYzRFI7QWdDLzUzREk7O0VBRUk7QWhDaTYzRFI7QUFDQTs7d0JBRXdCO0FnQzc1M0RwQjs7RUFFSTtBaEMrNTNEUjtBZ0M3NTNESTs7RUFFSTtBaEMrNTNEUjtBZ0M3NTNESTs7RUFFSTtBaEMrNTNEUjtBQUNBOztxQkFFcUI7QWdDejUzRGpCOztFQUVJO0VBQ0E7QWhDMjUzRFI7QUFDQTs7cUJBRXFCO0FnQ3I1M0RqQjtFQUNJO0FoQ3U1M0RSO0FnQ3A1M0RJOztFQUVJO0VBQ0E7QWhDczUzRFI7QUFDQTs7cUJBRXFCO0FnQ2g1M0RqQjs7RUFFSTtFQUNBO0FoQ2s1M0RSO0FnQy80M0RROztFQUVJO0VBQ0E7QWhDaTUzRFo7QUFDQSx5QkFBeUI7QWdDNzQzRHJCO0VBQ0k7QWhDKzQzRFI7QWdDNzQzREk7RUFDSTtFQUNBO0FoQys0M0RSO0FnQzc0M0RJO0VBQ0k7QWhDKzQzRFI7QWdDNzQzREk7Ozs7RUFJSTtBaEMrNDNEUjtBQUNBLGlCQUFpQjtBZ0M1NDNEVDs7O0VBR0k7RUFDQTtBaEM4NDNEWjtBZ0MxNDNEUTs7O0VBR0k7RUFDQTtBaEM0NDNEWjtBZ0N4NDNEUTs7O0VBR0k7RUFDQTtBaEMwNDNEWjtBZ0N0NDNEUTs7O0VBR0k7RUFDQTtBaEN3NDNEWjtBZ0NwNDNEUTs7O0VBR0k7RUFDQTtBaENzNDNEWjtBQUNBOzswQkFFMEI7QUFDMUIsV0FBVztBZ0MvMzNEUDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDaTQzRFI7QWdDLzMzREk7RUFDSTtBaENpNDNEUjtBQUNBLFFBQVE7QWdDOTMzREo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ2c0M0RSO0FnQzkzM0RJO0VBQ0k7QWhDZzQzRFI7QUFDQSxXQUFXO0FnQzczM0RQO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQyszM0RSO0FnQzczM0RJO0VBQ0k7QWhDKzMzRFI7QUFDQTs7cUJBRXFCO0FBQ3JCLG1CQUFtQjtBZ0N6MzNEZjs7RUFFSTtBaEMyMzNEUjtBQUNBLFlBQVk7QWdDeDMzREo7O0VBRUk7QWhDMDMzRFo7QUFDQSwrQkFBK0I7QWdDdDMzRHZCO0VBQ0k7RUFDQTtBaEN3MzNEWjtBQUNBOztpQkFFaUI7QWdDbDMzRGpCOztFQUVJO0FoQ28zM0RKO0FBQ0E7O3NCQUVzQjtBZ0NuMjNEYjtFQUNHO0FoQ3EyM0RaO0FnQ2wyM0RhO0VBQ0c7RUFDQTtBaENvMjNEaEI7QUFDQSxvRUFBb0U7QWdDaDIzRHZEOztFQU9PO0VBQ0E7QWhDNjEzRHBCO0FnQzMxM0RnQjs7OztFQUVJO0VBS0k7QWhDMjEzRHhCO0FnQ3QxM0RpQjs7RUFFRztFQUNBO0FoQ3cxM0RwQjtBZ0N2MTNEb0I7Ozs7RUFFSTtFQUNBO0FoQzIxM0R4QjtBZ0N0MTNEUzs7Ozs7O0VBYU87RUFNQTtBaEM0MDNEaEI7QWdDejAzRFM7Ozs7OztFQU1HO0VBS0k7QWhDdTAzRGhCO0FnQ2wwM0RhOzs7Ozs7RUFNRztFQUNBO0FoQ28wM0RoQjtBZ0NsMDNEYTs7Ozs7O0VBTUc7RUFDQTtBaENvMDNEaEI7QWdDaDAzRGE7Ozs7OztFQVVPO0VBTUE7QWhDeXozRHBCO0FnQ3J6M0RpQjs7Ozs7O0VBVU87RUFNQTtBaEM4eTNEeEI7QWdDdHkzRGdCOztFQUNJO0FoQ3l5M0RwQjtBZ0N2eTNEZ0I7O0VBQ0k7QWhDMHkzRHBCO0FnQ3B5M0RvQjs7RUFDSTtBaEN1eTNEeEI7QWdDcnkzRG9COztFQUNJO0FoQ3d5M0R4QjtBZ0N6ODNEUztFQUNHO0FoQzI4M0RaO0FnQ3g4M0RhO0VBQ0c7RUFDQTtBaEMwODNEaEI7QUFDQSxvRUFBb0U7QWdDdDgzRHZEOztFQU9PO0VBQ0E7QWhDbTgzRHBCO0FnQ2o4M0RnQjs7OztFQUVJO0VBS0k7QWhDaTgzRHhCO0FnQzU3M0RpQjs7RUFFRztFQUNBO0FoQzg3M0RwQjtBZ0M3NzNEb0I7Ozs7RUFFSTtFQUNBO0FoQ2k4M0R4QjtBZ0M1NzNEUzs7Ozs7O0VBYU87RUFNQTtBaENrNzNEaEI7QWdDLzYzRFM7Ozs7OztFQU1HO0VBS0k7QWhDNjYzRGhCO0FnQ3g2M0RhOzs7Ozs7RUFNRztFQUNBO0FoQzA2M0RoQjtBZ0N4NjNEYTs7Ozs7O0VBTUc7RUFDQTtBaEMwNjNEaEI7QWdDdDYzRGE7Ozs7OztFQVVPO0VBTUE7QWhDKzUzRHBCO0FnQzM1M0RpQjs7Ozs7O0VBVU87RUFNQTtBaENvNTNEeEI7QWdDNTQzRGdCOztFQUNJO0FoQys0M0RwQjtBZ0M3NDNEZ0I7O0VBQ0k7QWhDZzUzRHBCO0FnQzE0M0RvQjs7RUFDSTtBaEM2NDNEeEI7QWdDMzQzRG9COztFQUNJO0FoQzg0M0R4QjtBZ0MvaTREUztFQUNHO0FoQ2lqNERaO0FnQzlpNERhO0VBQ0c7RUFDQTtBaENnajREaEI7QUFDQSxvRUFBb0U7QWdDNWk0RHZEOztFQU9PO0VBQ0E7QWhDeWk0RHBCO0FnQ3ZpNERnQjs7OztFQUVJO0VBS0k7QWhDdWk0RHhCO0FnQ2xpNERpQjs7RUFFRztFQUNBO0FoQ29pNERwQjtBZ0NuaTREb0I7Ozs7RUFFSTtFQUNBO0FoQ3VpNER4QjtBZ0NsaTREUzs7Ozs7O0VBYU87RUFNQTtBaEN3aDREaEI7QWdDcmg0RFM7Ozs7OztFQU1HO0VBS0k7QWhDbWg0RGhCO0FnQzlnNERhOzs7Ozs7RUFNRztFQUNBO0FoQ2doNERoQjtBZ0M5ZzREYTs7Ozs7O0VBTUc7RUFDQTtBaENnaDREaEI7QWdDNWc0RGE7Ozs7OztFQVVPO0VBTUE7QWhDcWc0RHBCO0FnQ2pnNERpQjs7Ozs7O0VBVU87RUFNQTtBaEMwLzNEeEI7QWdDbC8zRGdCOztFQUNJO0FoQ3EvM0RwQjtBZ0NuLzNEZ0I7O0VBQ0k7QWhDcy8zRHBCO0FnQ2gvM0RvQjs7RUFDSTtBaENtLzNEeEI7QWdDai8zRG9COztFQUNJO0FoQ28vM0R4QjtBZ0NycDREUztFQUNHO0FoQ3VwNERaO0FnQ3BwNERhO0VBQ0c7RUFDQTtBaENzcDREaEI7QUFDQSxvRUFBb0U7QWdDbHA0RHZEOztFQU9PO0VBQ0E7QWhDK280RHBCO0FnQzdvNERnQjs7OztFQUVJO0VBS0k7QWhDNm80RHhCO0FnQ3hvNERpQjs7RUFFRztFQUNBO0FoQzBvNERwQjtBZ0N6bzREb0I7Ozs7RUFFSTtFQUNBO0FoQzZvNER4QjtBZ0N4bzREUzs7Ozs7O0VBYU87RUFNQTtBaEM4bjREaEI7QWdDM240RFM7Ozs7OztFQU1HO0VBS0k7QWhDeW40RGhCO0FnQ3BuNERhOzs7Ozs7RUFNRztFQUNBO0FoQ3NuNERoQjtBZ0NwbjREYTs7Ozs7O0VBTUc7RUFDQTtBaENzbjREaEI7QWdDbG40RGE7Ozs7OztFQVVPO0VBTUE7QWhDMm00RHBCO0FnQ3ZtNERpQjs7Ozs7O0VBVU87RUFNQTtBaENnbTREeEI7QWdDeGw0RGdCOztFQUNJO0FoQzJsNERwQjtBZ0N6bDREZ0I7O0VBQ0k7QWhDNGw0RHBCO0FnQ3RsNERvQjs7RUFDSTtBaEN5bDREeEI7QWdDdmw0RG9COztFQUNJO0FoQzBsNER4QjtBZ0MzdjREUztFQUNHO0FoQzZ2NERaO0FnQzF2NERhO0VBQ0c7RUFDQTtBaEM0djREaEI7QUFDQSxvRUFBb0U7QWdDeHY0RHZEOztFQU9PO0VBQ0E7QWhDcXY0RHBCO0FnQ252NERnQjs7OztFQUVJO0VBS0k7QWhDbXY0RHhCO0FnQzl1NERpQjs7RUFFRztFQUNBO0FoQ2d2NERwQjtBZ0MvdTREb0I7Ozs7RUFFSTtFQUNBO0FoQ212NER4QjtBZ0M5dTREUzs7Ozs7O0VBYU87RUFNQTtBaENvdTREaEI7QWdDanU0RFM7Ozs7OztFQU1HO0VBS0k7QWhDK3Q0RGhCO0FnQzF0NERhOzs7Ozs7RUFNRztFQUNBO0FoQzR0NERoQjtBZ0MxdDREYTs7Ozs7O0VBTUc7RUFDQTtBaEM0dDREaEI7QWdDeHQ0RGE7Ozs7OztFQVVPO0VBTUE7QWhDaXQ0RHBCO0FnQzdzNERpQjs7Ozs7O0VBVU87RUFNQTtBaENzczREeEI7QWdDOXI0RGdCOztFQUNJO0FoQ2lzNERwQjtBZ0MvcjREZ0I7O0VBQ0k7QWhDa3M0RHBCO0FnQzVyNERvQjs7RUFDSTtBaEMrcjREeEI7QWdDN3I0RG9COztFQUNJO0FoQ2dzNER4QjtBZ0NqMjREUztFQUNHO0FoQ20yNERaO0FnQ2gyNERhO0VBQ0c7RUFDQTtBaENrMjREaEI7QUFDQSxvRUFBb0U7QWdDOTE0RHZEOztFQU9PO0VBQ0E7QWhDMjE0RHBCO0FnQ3oxNERnQjs7OztFQUVJO0VBS0k7QWhDeTE0RHhCO0FnQ3AxNERpQjs7RUFFRztFQUNBO0FoQ3MxNERwQjtBZ0NyMTREb0I7Ozs7RUFFSTtFQUNBO0FoQ3kxNER4QjtBZ0NwMTREUzs7Ozs7O0VBYU87RUFNQTtBaEMwMDREaEI7QWdDdjA0RFM7Ozs7OztFQU1HO0VBS0k7QWhDcTA0RGhCO0FnQ2gwNERhOzs7Ozs7RUFNRztFQUNBO0FoQ2swNERoQjtBZ0NoMDREYTs7Ozs7O0VBTUc7RUFDQTtBaENrMDREaEI7QWdDOXo0RGE7Ozs7OztFQVVPO0VBTUE7QWhDdXo0RHBCO0FnQ256NERpQjs7Ozs7O0VBVU87RUFNQTtBaEM0eTREeEI7QWdDcHk0RGdCOztFQUNJO0FoQ3V5NERwQjtBZ0NyeTREZ0I7O0VBQ0k7QWhDd3k0RHBCO0FnQ2x5NERvQjs7RUFDSTtBaENxeTREeEI7QWdDbnk0RG9COztFQUNJO0FoQ3N5NER4QjtBZ0N2ODREUztFQUNHO0FoQ3k4NERaO0FnQ3Q4NERhO0VBQ0c7RUFDQTtBaEN3ODREaEI7QUFDQSxvRUFBb0U7QWdDcDg0RHZEOztFQU9PO0VBQ0E7QWhDaTg0RHBCO0FnQy83NERnQjs7OztFQUVJO0VBS0k7QWhDKzc0RHhCO0FnQzE3NERpQjs7RUFFRztFQUNBO0FoQzQ3NERwQjtBZ0MzNzREb0I7Ozs7RUFFSTtFQUNBO0FoQys3NER4QjtBZ0MxNzREUzs7Ozs7O0VBYU87RUFNQTtBaENnNzREaEI7QWdDNzY0RFM7Ozs7OztFQU1HO0VBS0k7QWhDMjY0RGhCO0FnQ3Q2NERhOzs7Ozs7RUFNRztFQUNBO0FoQ3c2NERoQjtBZ0N0NjREYTs7Ozs7O0VBTUc7RUFDQTtBaEN3NjREaEI7QWdDcDY0RGE7Ozs7OztFQVVPO0VBTUE7QWhDNjU0RHBCO0FnQ3o1NERpQjs7Ozs7O0VBVU87RUFNQTtBaENrNTREeEI7QWdDMTQ0RGdCOztFQUNJO0FoQzY0NERwQjtBZ0MzNDREZ0I7O0VBQ0k7QWhDODQ0RHBCO0FnQ3g0NERvQjs7RUFDSTtBaEMyNDREeEI7QWdDejQ0RG9COztFQUNJO0FoQzQ0NER4QjtBZ0M3aTVEUztFQUNHO0FoQytpNURaO0FnQzVpNURhO0VBQ0c7RUFDQTtBaEM4aTVEaEI7QUFDQSxvRUFBb0U7QWdDMWk1RHZEOztFQU9PO0VBQ0E7QWhDdWk1RHBCO0FnQ3JpNURnQjs7OztFQUVJO0VBS0k7QWhDcWk1RHhCO0FnQ2hpNURpQjs7RUFFRztFQUNBO0FoQ2tpNURwQjtBZ0NqaTVEb0I7Ozs7RUFFSTtFQUNBO0FoQ3FpNUR4QjtBZ0NoaTVEUzs7Ozs7O0VBYU87RUFNQTtBaENzaDVEaEI7QWdDbmg1RFM7Ozs7OztFQU1HO0VBS0k7QWhDaWg1RGhCO0FnQzVnNURhOzs7Ozs7RUFNRztFQUNBO0FoQzhnNURoQjtBZ0M1ZzVEYTs7Ozs7O0VBTUc7RUFDQTtBaEM4ZzVEaEI7QWdDMWc1RGE7Ozs7OztFQVVPO0VBTUE7QWhDbWc1RHBCO0FnQy8vNERpQjs7Ozs7O0VBVU87RUFNQTtBaEN3LzREeEI7QWdDaC80RGdCOztFQUNJO0FoQ20vNERwQjtBZ0NqLzREZ0I7O0VBQ0k7QWhDby80RHBCO0FnQzkrNERvQjs7RUFDSTtBaENpLzREeEI7QWdDLys0RG9COztFQUNJO0FoQ2svNER4QjtBZ0NucDVEUztFQUNHO0FoQ3FwNURaO0FnQ2xwNURhO0VBQ0c7RUFDQTtBaENvcDVEaEI7QUFDQSxvRUFBb0U7QWdDaHA1RHZEOztFQU9PO0VBQ0E7QWhDNm81RHBCO0FnQzNvNURnQjs7OztFQUVJO0VBS0k7QWhDMm81RHhCO0FnQ3RvNURpQjs7RUFFRztFQUNBO0FoQ3dvNURwQjtBZ0N2bzVEb0I7Ozs7RUFFSTtFQUNBO0FoQzJvNUR4QjtBZ0N0bzVEUzs7Ozs7O0VBYU87RUFNQTtBaEM0bjVEaEI7QWdDem41RFM7Ozs7OztFQU1HO0VBS0k7QWhDdW41RGhCO0FnQ2xuNURhOzs7Ozs7RUFNRztFQUNBO0FoQ29uNURoQjtBZ0NsbjVEYTs7Ozs7O0VBTUc7RUFDQTtBaENvbjVEaEI7QWdDaG41RGE7Ozs7OztFQVVPO0VBTUE7QWhDeW01RHBCO0FnQ3JtNURpQjs7Ozs7O0VBVU87RUFNQTtBaEM4bDVEeEI7QWdDdGw1RGdCOztFQUNJO0FoQ3lsNURwQjtBZ0N2bDVEZ0I7O0VBQ0k7QWhDMGw1RHBCO0FnQ3BsNURvQjs7RUFDSTtBaEN1bDVEeEI7QWdDcmw1RG9COztFQUNJO0FoQ3dsNUR4QjtBZ0N6djVEUztFQUNHO0FoQzJ2NURaO0FnQ3h2NURhO0VBQ0c7RUFDQTtBaEMwdjVEaEI7QUFDQSxvRUFBb0U7QWdDdHY1RHZEOztFQU9PO0VBQ0E7QWhDbXY1RHBCO0FnQ2p2NURnQjs7OztFQUVJO0VBS0k7QWhDaXY1RHhCO0FnQzV1NURpQjs7RUFFRztFQUNBO0FoQzh1NURwQjtBZ0M3dTVEb0I7Ozs7RUFFSTtFQUNBO0FoQ2l2NUR4QjtBZ0M1dTVEUzs7Ozs7O0VBYU87RUFNQTtBaENrdTVEaEI7QWdDL3Q1RFM7Ozs7OztFQU1HO0VBS0k7QWhDNnQ1RGhCO0FnQ3h0NURhOzs7Ozs7RUFNRztFQUNBO0FoQzB0NURoQjtBZ0N4dDVEYTs7Ozs7O0VBTUc7RUFDQTtBaEMwdDVEaEI7QWdDdHQ1RGE7Ozs7OztFQVVPO0VBTUE7QWhDK3M1RHBCO0FnQzNzNURpQjs7Ozs7O0VBVU87RUFNQTtBaENvczVEeEI7QWdDNXI1RGdCOztFQUNJO0FoQytyNURwQjtBZ0M3cjVEZ0I7O0VBQ0k7QWhDZ3M1RHBCO0FnQzFyNURvQjs7RUFDSTtBaEM2cjVEeEI7QWdDM3I1RG9COztFQUNJO0FoQzhyNUR4QjtBZ0MvMTVEUztFQUNHO0FoQ2kyNURaO0FnQzkxNURhO0VBQ0c7RUFDQTtBaENnMjVEaEI7QUFDQSxvRUFBb0U7QWdDNTE1RHZEOztFQU9PO0VBQ0E7QWhDeTE1RHBCO0FnQ3YxNURnQjs7OztFQUVJO0VBS0k7QWhDdTE1RHhCO0FnQ2wxNURpQjs7RUFFRztFQUNBO0FoQ28xNURwQjtBZ0NuMTVEb0I7Ozs7RUFFSTtFQUNBO0FoQ3UxNUR4QjtBZ0NsMTVEUzs7Ozs7O0VBYU87RUFNQTtBaEN3MDVEaEI7QWdDcjA1RFM7Ozs7OztFQU1HO0VBS0k7QWhDbTA1RGhCO0FnQzl6NURhOzs7Ozs7RUFNRztFQUNBO0FoQ2cwNURoQjtBZ0M5ejVEYTs7Ozs7O0VBTUc7RUFDQTtBaENnMDVEaEI7QWdDNXo1RGE7Ozs7OztFQVVPO0VBTUE7QWhDcXo1RHBCO0FnQ2p6NURpQjs7Ozs7O0VBVU87RUFNQTtBaEMweTVEeEI7QWdDbHk1RGdCOztFQUNJO0FoQ3F5NURwQjtBZ0NueTVEZ0I7O0VBQ0k7QWhDc3k1RHBCO0FnQ2h5NURvQjs7RUFDSTtBaENteTVEeEI7QWdDank1RG9COztFQUNJO0FoQ295NUR4QjtBZ0NyODVEUztFQUNHO0FoQ3U4NURaO0FnQ3A4NURhO0VBQ0c7RUFDQTtBaENzODVEaEI7QUFDQSxvRUFBb0U7QWdDbDg1RHZEOztFQU9PO0VBQ0E7QWhDKzc1RHBCO0FnQzc3NURnQjs7OztFQUVJO0VBS0k7QWhDNjc1RHhCO0FnQ3g3NURpQjs7RUFFRztFQUNBO0FoQzA3NURwQjtBZ0N6NzVEb0I7Ozs7RUFFSTtFQUNBO0FoQzY3NUR4QjtBZ0N4NzVEUzs7Ozs7O0VBYU87RUFNQTtBaEM4NjVEaEI7QWdDMzY1RFM7Ozs7OztFQU1HO0VBS0k7QWhDeTY1RGhCO0FnQ3A2NURhOzs7Ozs7RUFNRztFQUNBO0FoQ3M2NURoQjtBZ0NwNjVEYTs7Ozs7O0VBTUc7RUFDQTtBaENzNjVEaEI7QWdDbDY1RGE7Ozs7OztFQVVPO0VBTUE7QWhDMjU1RHBCO0FnQ3Y1NURpQjs7Ozs7O0VBVU87RUFNQTtBaENnNTVEeEI7QWdDeDQ1RGdCOztFQUNJO0FoQzI0NURwQjtBZ0N6NDVEZ0I7O0VBQ0k7QWhDNDQ1RHBCO0FnQ3Q0NURvQjs7RUFDSTtBaEN5NDVEeEI7QWdDdjQ1RG9COztFQUNJO0FoQzA0NUR4QjtBZ0MzaTZEUztFQUNHO0FoQzZpNkRaO0FnQzFpNkRhO0VBQ0c7RUFDQTtBaEM0aTZEaEI7QUFDQSxvRUFBb0U7QWdDeGk2RHZEOztFQU9PO0VBQ0E7QWhDcWk2RHBCO0FnQ25pNkRnQjs7OztFQUVJO0VBS0k7QWhDbWk2RHhCO0FnQzloNkRpQjs7RUFFRztFQUNBO0FoQ2dpNkRwQjtBZ0MvaDZEb0I7Ozs7RUFFSTtFQUNBO0FoQ21pNkR4QjtBZ0M5aDZEUzs7Ozs7O0VBYU87RUFNQTtBaENvaDZEaEI7QWdDamg2RFM7Ozs7OztFQU1HO0VBS0k7QWhDK2c2RGhCO0FnQzFnNkRhOzs7Ozs7RUFNRztFQUNBO0FoQzRnNkRoQjtBZ0MxZzZEYTs7Ozs7O0VBTUc7RUFDQTtBaEM0ZzZEaEI7QWdDeGc2RGE7Ozs7OztFQVVPO0VBTUE7QWhDaWc2RHBCO0FnQzcvNURpQjs7Ozs7O0VBVU87RUFNQTtBaENzLzVEeEI7QWdDOSs1RGdCOztFQUNJO0FoQ2kvNURwQjtBZ0MvKzVEZ0I7O0VBQ0k7QWhDay81RHBCO0FnQzUrNURvQjs7RUFDSTtBaEMrKzVEeEI7QWdDNys1RG9COztFQUNJO0FoQ2cvNUR4QjtBZ0NqcDZEUztFQUNHO0FoQ21wNkRaO0FnQ2hwNkRhO0VBQ0c7RUFDQTtBaENrcDZEaEI7QUFDQSxvRUFBb0U7QWdDOW82RHZEOztFQUdPO0VBQ0E7QWhDK282RHBCO0FnQ3pvNkRnQjs7OztFQUVJO0VBS0k7QWhDeW82RHhCO0FnQ3BvNkRpQjs7RUFFRztFQUNBO0FoQ3NvNkRwQjtBZ0NybzZEb0I7Ozs7RUFFSTtFQUNBO0FoQ3lvNkR4QjtBZ0NwbzZEUzs7Ozs7O0VBVU87RUFTQTtBaEMwbjZEaEI7QWdDdm42RFM7Ozs7OztFQU1HO0VBS0k7QWhDcW42RGhCO0FnQ2huNkRhOzs7Ozs7RUFNRztFQUNBO0FoQ2tuNkRoQjtBZ0NobjZEYTs7Ozs7O0VBTUc7RUFDQTtBaENrbjZEaEI7QWdDOW02RGE7Ozs7OztFQU9PO0VBU0E7QWhDdW02RHBCO0FnQ25tNkRpQjs7Ozs7O0VBT087RUFTQTtBaEM0bDZEeEI7QWdDcGw2RGdCOztFQUNJO0FoQ3VsNkRwQjtBZ0NybDZEZ0I7O0VBQ0k7QWhDd2w2RHBCO0FnQ2xsNkRvQjs7RUFDSTtBaENxbDZEeEI7QWdDbmw2RG9COztFQUNJO0FoQ3NsNkR4QjtBZ0N2djZEUztFQUNHO0FoQ3l2NkRaO0FnQ3R2NkRhO0VBQ0c7RUFDQTtBaEN3djZEaEI7QUFDQSxvRUFBb0U7QWdDcHY2RHZEOztFQUdPO0VBQ0E7QWhDcXY2RHBCO0FnQy91NkRnQjs7OztFQUVJO0VBRUk7QWhDa3Y2RHhCO0FnQzF1NkRpQjs7RUFFRztFQUNBO0FoQzR1NkRwQjtBZ0MzdTZEb0I7Ozs7RUFFSTtFQUNBO0FoQyt1NkR4QjtBZ0MxdTZEUzs7Ozs7O0VBVU87RUFNQTtBaENtdTZEaEI7QWdDN3Q2RFM7Ozs7OztFQU1HO0VBRUk7QWhDOHQ2RGhCO0FnQ3R0NkRhOzs7Ozs7RUFNRztFQUNBO0FoQ3d0NkRoQjtBZ0N0dDZEYTs7Ozs7O0VBTUc7RUFDQTtBaEN3dDZEaEI7QWdDcHQ2RGE7Ozs7OztFQU9PO0VBTUE7QWhDZ3Q2RHBCO0FnQ3pzNkRpQjs7Ozs7O0VBT087RUFNQTtBaENxczZEeEI7QWdDMXI2RGdCOztFQUNJO0FoQzZyNkRwQjtBZ0MzcjZEZ0I7O0VBQ0k7QWhDOHI2RHBCO0FnQ3hyNkRvQjs7RUFDSTtBaEMycjZEeEI7QWdDenI2RG9COztFQUNJO0FoQzRyNkR4QjtBQUNBOztxQkFFcUI7QUFDckIsZUFBZTtBZ0NqcjZEWDtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FBQ0EsaUJBQWlCO0FnQzlxNkRiOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FnQzlxNkRJOztFQUVJO0FoQ2dyNkRSO0FBQ0E7O3FCQUVxQjtBZ0MxcTZEakI7RUFDSTtFQUNBO0VBQ0E7QWhDNHE2RFI7QWdDenE2RFE7RUFDSTtBaEMycTZEWjtBZ0N4cTZESTs7RUFFSTtLQUFBO1VBQUE7QWhDMHE2RFI7QWdDdnE2REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEN5cTZEUjtBZ0N2cTZESTtFQUNJO0FoQ3lxNkRSO0FnQ3ZxNkRJO0VBQ0k7QWhDeXE2RFI7QUFDQSxVQUFVO0FnQ3JxNkRGO0VBQ0k7RUFDQTtBaEN1cTZEWjtBZ0NwcTZESTtFQUNJO0FoQ3NxNkRSO0FnQ3BxNkRLO0VBQ0c7QWhDc3E2RFI7QUFDQSxXQUFXO0FnQ25xNkRQO0VBQ0k7QWhDcXE2RFI7QWdDbnE2REs7RUFDRztBaENxcTZEUjtBZ0NucTZESTtFQUNJO0FoQ3FxNkRSO0FBQ0EsaUJBQWlCO0FnQ2xxNkRiO0VBQ0k7QWhDb3E2RFI7QWdDbHE2REs7RUFDRztBaENvcTZEUjtBQUNBLGFBQWE7QWdDanE2REw7RUFDSTtBaENtcTZEWjtBZ0NqcTZEUztFQUNHO0FoQ21xNkRaO0FnQ2pxNkRRO0VBQ0k7QWhDbXE2RFo7QWdDanE2RFM7RUFDRztBaENtcTZEWjtBZ0NqcTZEUztFQUNHO0VBQ0E7QWhDbXE2RFo7QUFDQTs7cUJBRXFCO0FBQ3JCLGVBQWU7QWdDNXA2RFg7RUFDSTtFQUNBO0VBQ0E7QWhDOHA2RFI7QWdDNXA2REk7OztFQUdJO0VBQ0E7RUFDQTtBaEM4cDZEUjtBZ0M1cDZESTs7RUFFSTtFQUNBO0VBQ0E7QWhDOHA2RFI7QWdDNXA2REk7OztFQUdJO0FoQzhwNkRSO0FnQzNwNkRROzs7O0VBSUk7RUFDQTtBaEM2cDZEWjtBZ0MzcDZEUTs7OztFQUlJO0FoQzZwNkRaO0FBQ0EsZUFBZTtBZ0N6cDZETjs7RUFFRztBaEMycDZEWjtBZ0N6cDZEUTs7O0VBR0k7RUFDQTtBaEMycDZEWjtBQUNBOztxQkFFcUI7QWdDcHA2RGpCO0VBQ0k7QWhDc3A2RFI7QUFDQTs7cUJBRXFCO0FnQ2hwNkRqQjtFQUNJO0VBQ0E7RUFDQTtBaENrcDZEUjtBZ0NocDZESTs7RUFFSTtBaENrcDZEUjtBZ0NocDZESTs7OztFQUlJO0VBQ0E7QWhDa3A2RFI7QWdDaHA2REk7RUFDSTtBaENrcDZEUjtBZ0NocDZESTs7O0VBR0k7QWhDa3A2RFI7QWdDL282RFE7RUFDSTtBaENpcDZEWjtBQUNBLGVBQWU7QWdDN282RFA7RUFDSTtBaEMrbzZEWjtBZ0M3bzZEUzs7Ozs7O0VBTUc7QWhDK282RFo7QWdDN282RFM7Ozs7Ozs7RUFPRztBaEMrbzZEWjtBZ0M3bzZEUzs7Ozs7OztFQU9HO0FoQytvNkRaO0FnQzdvNkRTO0VBQ0c7QWhDK282RFo7QUFDQTs7cUJBRXFCO0FnQ3hvNkRqQjs7Ozs7OztFQU9JO0FoQzBvNkRSO0FnQ3ZvNkRROztFQUVJO0FoQ3lvNkRaO0FnQ3RvNkRJOzs7Ozs7O0VBT0k7QWhDd282RFI7QUFDQTs7cUJBRXFCO0FnQ2xvNkRqQjs7OztFQUlJO0VBQ0E7QWhDb282RFI7QWdDbG82REk7Ozs7Ozs7RUFPSTtBaENvbzZEUjtBQUNBLFNBQVM7QWdDaG82REQ7Ozs7RUFJSTtFQUNBO0FoQ2tvNkRaO0FnQ2hvNkRROzs7RUFHSTtBaENrbzZEWjtBQUNBOztxQkFFcUI7QWdDM242RGpCOzs7O0VBSUk7RUFDQTtBaEM2bjZEUjtBZ0MzbjZESTs7O0VBR0k7QWhDNm42RFI7QUFDQSxTQUFTO0FnQ3puNkREOzs7O0VBSUk7RUFDQTtBaEMybjZEWjtBZ0N6bjZEUTs7O0VBR0k7QWhDMm42RFo7QUFDQTs7cUJBRXFCO0FnQ3BuNkRoQjtFQUNHO0FoQ3NuNkRSO0FnQ3JuNkRRO0VBQ0k7QWhDdW42RFo7QWdDcm42RFE7RUFDSTtBaEN1bjZEWjtBZ0NybjZEUTtFQUNJO0FoQ3VuNkRaO0FnQ3BuNkRZOztFQUVJO0FoQ3NuNkRoQjtBZ0NqbjZEUTtFQUNJO0FoQ21uNkRaO0FnQ2puNkRRO0VBQ0k7QWhDbW42RFo7QWdDam42RFE7RUFDSTtBaENtbjZEWjtBZ0NobjZEWTs7RUFFSTtBaENrbjZEaEI7QWdDN202RFE7O0VBRUk7RUFDQTtBaEMrbTZEWjtBZ0M1bTZESTtFQUNJO0FoQzhtNkRSO0FnQzdtNkRRO0VBQ0k7RUFDQTtBaEMrbTZEWjtBZ0M5bTZEWTtFQUNJO0FoQ2duNkRoQjtBZ0M3bTZEUTtFQUNJO0FoQyttNkRaO0FnQzVtNkRJO0VBQ0k7QWhDOG02RFI7QWdDN202RFE7RUFDSTtFQUNBO0FoQyttNkRaO0FnQzltNkRZOztFQUVJO0FoQ2duNkRoQjtBZ0M1bTZEWTs7RUFFSTtBaEM4bTZEaEI7QWdDem02REk7RUFDSTtBaEMybTZEUjtBZ0MxbTZEUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEM0bTZEWjtBZ0N6bTZEWTs7RUFFSTtBaEMybTZEaEI7QWdDdG02REk7RUFDSTtBaEN3bTZEUjtBZ0N2bTZEUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEN5bTZEWjtBZ0N0bTZEWTs7RUFFSTtBaEN3bTZEaEI7QWdDbG02RFk7O0VBRUk7QWhDb202RGhCO0FnQ2htNkRZOztFQUVJO0FoQ2ttNkRoQjtBZ0M3bDZEZ0I7O0VBRUk7QWhDK2w2RHBCO0FnQzNsNkRnQjs7RUFFSTtBaEM2bDZEcEI7QUFDQTs7aUJBRWlCO0FBQ2pCLGFBQWE7QWdDcmw2RGI7RUFDSTtBaEN1bDZESjtBZ0NsbDZEUztFQUNHO0FoQ29sNkRaO0FnQ3JsNkRTO0VBQ0c7QWhDdWw2RFo7QWdDeGw2RFM7RUFDRztBaEMwbDZEWjtBZ0MzbDZEUztFQUNHO0FoQzZsNkRaO0FnQzlsNkRTO0VBQ0c7QWhDZ202RFo7QWdDam02RFM7RUFDRztBaENtbTZEWjtBZ0NwbTZEUztFQUNHO0FoQ3NtNkRaO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9CLGVBQWU7QWlDMWsrRGY7RUFDSTtBakM0aytESjtBQUNBLFVBQVU7QUFDVjs7Ozs7Ozs7O0VBU0U7QUFDRjs7K0JBRStCO0FBQy9COzs7Ozs7Ozs7Q0FTQztBQUNEOzsrQkFFK0I7QUFDL0I7O0NBRUM7QUFDRCxXQUFXO0FBQ1gsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQixZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsMkJBQTJCO0FBQzNCLGlDQUFpQztBQUNqQzs7K0JBRStCO0FBQy9COzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COzsyREFFMkQ7QUFDM0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0IsV0FBVztBQUNYLGNBQWM7QUFDZCxZQUFZO0FBQ1osV0FBVztBQUNYLFNBQVM7QUFDVCwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLFVBQVU7QUFDVixVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxXQUFXO0FBQ1gsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1Q7OytCQUUrQjtBQUMvQixlQUFlO0FBQ2YsU0FBUztBQUNULFNBQVM7QUFDVCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLE9BQU87QUFDUCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1QsY0FBYztBQUNkOzsrQkFFK0I7QUFDL0IsY0FBYztBQUNkLGFBQWE7QUFDYixhQUFhO0FBQ2IsV0FBVztBQUNYLGFBQWE7QUFDYixVQUFVO0FBQ1YsV0FBVztBQUNYLFVBQVU7QUFDVixRQUFRO0FBQ1IsVUFBVTtBQUNWLGFBQWE7QUFDYixXQUFXO0FBQ1gsV0FBVztBQUNYLFVBQVU7QUFDVixZQUFZO0FBQ1osV0FBVztBQUNYLFFBQVE7QUFDUixVQUFVO0FBQ1YsZUFBZTtBQUNmLFdBQVc7QUFDWDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsdURBQXVEO0FBQ3ZELDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCOztDQUVDO0FBQ0Q7O3NCQUVzQjtBQUN0Qix1RkFBdUY7QUFDdkY7O2lCQUVpQjtBQUNqQjs7aUJBRWlCO0FBQ2pCLDREQUE0RDtBQUM1RCxxQkFBcUI7QUFDckIsb0ZBQW9GO0FBQ3BGOztzQkFFc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNEOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLHdCQUF3QjtBQUN4QixjQUFjO0FBQ2Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLDJCQUEyQjtBQUMzQix3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQywyQkFBMkI7QUFDM0Isb0JBQW9CO0FBQ3BCLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2IsU0FBUztBQUNULFlBQVk7QUFDWjs7c0JBRXNCO0FBQ3RCLCtDQUErQztBQUMvQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNELE9BQU87QUFDUCxRQUFRO0FBQ1I7O3NCQUVzQjtBQUN0QixnQ0FBZ0M7QUFDaEM7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDBEQUEwRDtBQUMxRCxtQ0FBbUM7QUFDbkMsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmOztzQkFFc0I7QUFDdEI7Ozs7Ozs7O0NBUUM7QUFDRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjs7Z0NBRWdDO0FBQ2hDLGVBQWU7QUFDZixnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qjs7K0JBRStCO0FBQy9COzsyREFFMkQ7QUFDM0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0IsV0FBVztBQUNYLGNBQWM7QUFDZCxZQUFZO0FBQ1osV0FBVztBQUNYLFNBQVM7QUFDVCwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLFVBQVU7QUFDVixVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxXQUFXO0FBQ1gsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1Q7OytCQUUrQjtBQUMvQixlQUFlO0FBQ2YsU0FBUztBQUNULFNBQVM7QUFDVCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLE9BQU87QUFDUCxTQUFTO0FBQ1QsWUFBWTtBQUNaLFNBQVM7QUFDVCxTQUFTO0FBQ1QsY0FBYztBQUNkOzsrQkFFK0I7QUFDL0IsY0FBYztBQUNkLGFBQWE7QUFDYixhQUFhO0FBQ2IsV0FBVztBQUNYLGFBQWE7QUFDYixVQUFVO0FBQ1YsV0FBVztBQUNYLFVBQVU7QUFDVixRQUFRO0FBQ1IsVUFBVTtBQUNWLGFBQWE7QUFDYixXQUFXO0FBQ1gsV0FBVztBQUNYLFVBQVU7QUFDVixZQUFZO0FBQ1osV0FBVztBQUNYLFFBQVE7QUFDUixVQUFVO0FBQ1YsZUFBZTtBQUNmLFdBQVc7QUFDWDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsdURBQXVEO0FBQ3ZELDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCOztDQUVDO0FBQ0Q7O3NCQUVzQjtBQUN0Qix1RkFBdUY7QUFDdkY7O2lCQUVpQjtBQUNqQjs7aUJBRWlCO0FBQ2pCLDREQUE0RDtBQUM1RCxxQkFBcUI7QUFDckIsb0ZBQW9GO0FBQ3BGOztzQkFFc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNEOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLHdCQUF3QjtBQUN4QixjQUFjO0FBQ2Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLDJCQUEyQjtBQUMzQix3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQywyQkFBMkI7QUFDM0Isb0JBQW9CO0FBQ3BCLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYixhQUFhO0FBQ2IsU0FBUztBQUNULFlBQVk7QUFDWjs7c0JBRXNCO0FBQ3RCLCtDQUErQztBQUMvQzs7c0JBRXNCO0FBQ3RCOzs7Q0FHQztBQUNELE9BQU87QUFDUCxRQUFRO0FBQ1I7O3NCQUVzQjtBQUN0QixnQ0FBZ0M7QUFDaEM7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDBEQUEwRDtBQUMxRCxtQ0FBbUM7QUFDbkMsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6Qiw4QkFBOEI7QUFDOUIsZUFBZTtBQUNmOztzQkFFc0I7QUFDdEI7Ozs7Ozs7O0NBUUM7QUFDRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjs7Z0NBRWdDO0FBQ2hDLGVBQWU7QUFDZixnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLCtCQUErQjtBQUMvQiw4QkFBOEI7QUFDOUI7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QixZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7OzJCQUUyQjtBQUMzQixZQUFZO0FBQ1o7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELHlCQUF5QjtBQUN6Qjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQixlQUFlO0FBQ2Y7OytCQUUrQjtBa0Nycy9EL0I7RUFDSTtFQUNBO0VBQ0E7QWxDdXMvREo7QWtDcHMvREE7RUFDSTtBbENzcy9ESjtBa0Nucy9EQTtFQUNJO0FsQ3FzL0RKO0FrQ2xzL0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxDb3MvREo7QUFDQTs7aUJBRWlCO0FBQ2pCLGdCQUFnQjtBa0Nocy9EWjtFQUNJO0VBQ0E7QWxDa3MvRFI7QUFDQSxxQkFBcUI7QWtDN3IvRGpCO0VBQ0k7RUFDQTtBbEMrci9EUjtBQUNBLG9CQUFvQjtBa0M1ci9EaEI7RUFDSTtFQUNBO0FsQzhyL0RSO0FBQ0EsY0FBYztBa0Mzci9EVjtFQUNJO0VBQ0E7QWxDNnIvRFI7QUFDQTs7cUJBRXFCO0FBQ3JCLFdBQVc7QWtDdnIvRFA7RUFDSTtFQUNBO0FsQ3lyL0RSO0FBQ0EsaUJBQWlCO0FrQ3RyL0RiO0VBQ0k7RUFDQTtBbEN3ci9EUjtBQUNBOztxQkFFcUI7QUFDckIsb0JBQW9CO0FrQ2xyL0RoQjtFQUNJO0VBQ0E7QWxDb3IvRFI7QUFDQSx1QkFBdUI7QWtDanIvRG5CO0VBQ0k7RUFDQTtBbENtci9EUjtBQUNBOztxQkFFcUI7QWtDN3EvRGpCO0VBQ0k7RUFDQTtBbEMrcS9EUjtBa0M1cS9EUTtFQUNJO0VBQ0E7QWxDOHEvRFo7QWtDM3EvREk7RUFDSTtFQUNBO0FsQzZxL0RSO0FBQ0E7O3FCQUVxQjtBQUNyQixlQUFlO0FrQ3ZxL0RYO0VBQ0k7RUFDQTtBbEN5cS9EUjtBQUNBLG9CQUFvQjtBa0N0cS9EaEI7RUFDSTtBbEN3cS9EUjtBQUNBOztxQkFFcUI7QUFDckIsV0FBVztBa0NscS9EUDtFQUNJO0VBQ0E7QWxDb3EvRFI7QUFDQSxvQkFBb0I7QWtDanEvRGhCO0VBQ0k7RUFDQTtBbENtcS9EUjtBQUNBLGVBQWU7QWtDaHEvRFg7RUFDSTtFQUNBO0FsQ2txL0RSO0FBQ0EsZ0JBQWdCO0FrQy9wL0RaO0VBQ0k7RUFDQTtBbENpcS9EUjtBQUNBOztpQkFFaUI7QUFDakIsZ0JBQWdCO0FrQzVwL0RaO0VBQ0k7RUFDQTtBbEM4cC9EUjtBQUNBLGNBQWM7QWtDenAvRFY7RUFDSTtFQUNBO0FsQzJwL0RSO0FBQ0E7O3FCQUVxQjtBQUNyQixhQUFhO0FrQ3JwL0RUO0VBQ0k7RUFDQTtBbEN1cC9EUjtBQUNBOztxQkFFcUI7QUFDckIsYUFBYTtBa0NqcC9EVDtFQUNJO0VBQ0E7QWxDbXAvRFI7QUFDQTs7cUJBRXFCO0FBQ3JCLHdCQUF3QjtBa0M3by9EaEI7RUFDSTtFQUNBO0FsQytvL0RaO0FBQ0EsdUJBQXVCO0FrQzNvL0RmO0VBQ0k7RUFDQTtBbEM2by9EWjtBQUNBOzttQ0FFbUM7QUFDbkMsaUJBQWlCO0FrQ3hvL0RiO0VBQ0k7QWxDMG8vRFI7QWtDdm8vREk7RUFDSTtJQUNJO0VsQ3lvL0RWO0FBQ0Y7QUFDQTs7K0JBRStCO0FrQ25vL0QzQjtFQUNJO0VBQ0E7QWxDcW8vRFI7QWtDam8vREk7RUFDSTtFQUNBO0FsQ21vL0RSO0FrQ2pvL0RJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDbW8vRFI7QWtDaG8vRFE7RUFDSTtBbENrby9EWjtBa0Mvbi9ESTtFQUNJO0FsQ2lvL0RSO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixXQUFXO0FBQ1gsU0FBUztBQUNULGVBQWU7QUFDZixzQkFBc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFVBQVU7QUFDVixnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsV0FBVztBQUNYLHVCQUF1QjtBQUN2QixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0IsbUJBQW1CO0FBQ25CLG9CQUFvQjtBQUNwQjs7c0JBRXNCO0FBQ3RCLFNBQVM7QUFDVCxlQUFlO0FBQ2YsV0FBVztBQUNYLGlCQUFpQjtBQUNqQixlQUFlO0FBQ2YsY0FBYztBQUNkLFVBQVU7QUFDVixZQUFZO0FBQ1osYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COztpQkFFaUI7QW1DbGtoRWpCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Db2toRUo7QW1DbGtoRUE7RUFDSTtBbkNva2hFSjtBbUNqa2hFQTs7RUFFSTtBbkNta2hFSjtBbUNoa2hFQTtFQUNJO0FuQ2traEVKO0FtQ2hraEVBO0VBQ0k7QW5Da2toRUo7QUFDQTs7aUJBRWlCO0FtQzlqaEVqQjtFQUNJO0VBQ0E7RUFDQTtBbkNna2hFSjtBbUM3amhFQTtFQUNJO0VBQ0E7RUFDQTtBbkMramhFSjtBQUNBLGFBQWE7QW1DNWpoRWI7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQzhqaEVKO0FBQ0EsaURBQWlEO0FtQzNqaEVqRDtFQUNJO0FuQzZqaEVKO0FBQ0E7O2lCQUVpQjtBbUN6amhFakI7O0VBRUk7RUFDQTtBbkMyamhFSjtBbUN4amhFQTs7RUFFSTtBbkMwamhFSjtBbUN2amhFQTs7RUFFSTtBbkN5amhFSjtBQUNBOztxQkFFcUI7QW1DcGpoRWpCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Dc2poRVI7QW1DcGpoRUk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QW5Dc2poRVI7QW1DcGpoRUk7O0VBRUk7QW5Dc2poRVI7QUFDQTs7aUJBRWlCO0FtQ2pqaEVqQjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DbWpoRUo7QW1DaGpoRUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ2tqaEVKO0FtQzlpaEVJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FuQ2dqaEVSO0FBQ0Esd0JBQXdCO0FtQzdpaEVwQjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbkMraWhFUjtBbUMxaWhFSTs7OztFQUlJO0FuQzRpaEVSO0FBQ0E7O3VCQUV1QjtBbUN0aWhFbkI7O0VBRUk7QW5Dd2loRVI7QW1DdGloRUk7O0VBRUk7QW5Dd2loRVI7QUFDQTs7cUJBRXFCO0FtQ2xpaEVqQjs7RUFFSTtBbkNvaWhFUjtBbUNsaWhFSTs7RUFFSTtBbkNvaWhFUjtBbUNsaWhFSTs7RUFFSTtBbkNvaWhFUjtBQUNBOztxQkFFcUI7QW1DOWhoRWpCOztFQUVJO0VBQ0E7RUFDQTtBbkNnaWhFUjtBbUM5aGhFSTs7OztFQUlJO0VBQ0E7RUFDQTtBbkNnaWhFUjtBQUNBOztxQkFFcUI7QW1DMWhoRWpCOztFQUVJO0VBQ0E7QW5DNGhoRVI7QUFDQTs7aUJBRWlCO0FtQ3ZoaEVqQjs7RUFFSTtBbkN5aGhFSjtBbUN2aGhFQTs7RUFFSTtBbkN5aGhFSjtBQUNBOztxQkFFcUI7QW1DcmhoRWpCOztFQUVJO0VBQ0E7QW5DdWhoRVI7QW1DcmhoRUk7O0VBRUk7QW5DdWhoRVI7QW1DcmhoRUk7O0VBRUk7QW5DdWhoRVI7QW1DbmhoRVE7O0VBRUk7RUFDQTtBbkNxaGhFWjtBQUNBOztpQkFFaUI7QUFDakIsWUFBWTtBbUMvZ2hFWjs7RUFFSTtFQUNBO0FuQ2loaEVKO0FtQy9naEVBOztFQUVJO0FuQ2loaEVKO0FBQ0EsV0FBVztBbUM3Z2hFUDs7RUFFSTtBbkMrZ2hFUjtBbUM3Z2hFSTs7RUFFSTtBbkMrZ2hFUjtBQUNBLFNBQVM7QW1DMWdoRUw7O0VBRUk7QW5DNGdoRVI7QW1DMWdoRUk7O0VBRUk7QW5DNGdoRVI7QUFDQTs7cUJBRXFCO0FtQ3RnaEVqQjs7OztFQUlJO0VBQ0E7QW5Dd2doRVI7QW1DdmdoRVE7Ozs7RUFDSTtBbkM0Z2hFWjtBQUNBOztxQkFFcUI7QW1DdGdoRWhCOzs7RUFHRztBbkN3Z2hFUjtBbUN2Z2hFUTs7Ozs7O0VBRUk7RUFDQTtBbkM2Z2hFWjtBbUN6Z2hFUzs7RUFFRztBbkMyZ2hFWjtBQUNBOztpQkFFaUI7QW1DcmdoRWpCOztFQUVJO0VBQ0E7QW5DdWdoRUo7QUFDQTs7aUJBRWlCO0FBQ2pCLG1CQUFtQjtBQUNuQixTQUFTO0FtQ2pnaEVMOztFQUVJO0VBQ0E7RUFDQTtBbkNtZ2hFUjtBbUNqZ2hFSTs7RUFFSTtFQUNBO0FuQ21naEVSO0FtQ2pnaEVJOztFQUVJO0FuQ21naEVSO0FBQ0EsbUJBQW1CO0FBQ25CLFNBQVM7QW1DNy9nRUw7O0VBRUk7RUFDQTtFQUNBO0FuQysvZ0VSO0FtQzcvZ0VJOztFQUVJO0VBQ0E7QW5DKy9nRVI7QW1DNy9nRUk7O0VBRUk7QW5DKy9nRVI7QUFDQTs7dUJBRXVCO0FtQ3ovZ0VuQjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQzIvZ0VSO0FtQ3ovZ0VJOztFQUVJO0FuQzIvZ0VSO0FtQ3ovZ0VJOztFQUVJO0FuQzIvZ0VSO0FBQ0E7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FtQ3AvZ0VqQjtFQUNJO0VBQ0E7RUFDQTtBbkNzL2dFUjtBQUNBOztxQkFFcUI7QW1DaC9nRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5Day9nRVI7QW1DaC9nRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Day9nRVI7QW1DaC9nRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkNrL2dFUjtBQUNBOzsrQkFFK0I7QUFDL0I7OzBCQUUwQjtBbUMzK2dFdEI7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QW5DNitnRVI7QW1DMStnRUk7O0VBRUk7RUFDQTtBbkM0K2dFUjtBbUN6K2dFSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQzIrZ0VSO0FtQ3orZ0VJOztFQUVJO0FuQzIrZ0VSO0FtQ3orZ0VJOztFQUVJO0VBQ0E7QW5DMitnRVI7QW1DeitnRUk7O0VBRUk7QW5DMitnRVI7QUFDQTs7MEJBRTBCO0FtQ3IrZ0V0Qjs7O0VBR0k7QW5DdStnRVI7QW1DcCtnRVE7Ozs7RUFJSTtBbkNzK2dFWjtBbUNsK2dFUTs7OztFQUlJO0FuQ28rZ0VaO0FtQ2orZ0VZOzs7Ozs7RUFNSTtBbkNtK2dFaEI7QUFDQTs7MEJBRTBCO0FtQzM5Z0V0QjtFQUNJO0FuQzY5Z0VSO0FtQzM5Z0VJO0VBQ0k7RUFDQTtBbkM2OWdFUjtBQUNBOzswQkFFMEI7QW1DdjlnRXRCO0VBQ0k7RUFDQTtBbkN5OWdFUjtBQUNBOzswQkFFMEI7QW1DbjlnRXRCOzs7O0VBSUk7QW5DcTlnRVI7QW1DbDlnRUk7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DbzlnRVI7QUFDQTs7c0JBRXNCO0FtQ3Y4Z0ViOzs7RUFHRztBbkN5OGdFWjtBbUNuOGdFYTs7Ozs7O0VBTUc7QW5DcThnRWhCO0FtQzk3Z0VhOzs7O0VBSUc7QW5DZzhnRWhCO0FtQ3I3Z0VpQjs7Ozs7Ozs7RUFRRztBbkN1N2dFcEI7QW1DbDdnRWE7OztFQUdHO0FuQ283Z0VoQjtBbUM5NmdFaUI7Ozs7OztFQU1HO0FuQ2c3Z0VwQjtBbUN6NmdFaUI7Ozs7RUFJRztBbkMyNmdFcEI7QW1DeDZnRXFCOzs7Ozs7OztFQVFHO0FuQzA2Z0V4QjtBbUNqZ2hFUzs7O0VBR0c7QW5DbWdoRVo7QW1DNy9nRWE7Ozs7OztFQU1HO0FuQysvZ0VoQjtBbUN4L2dFYTs7OztFQUlHO0FuQzAvZ0VoQjtBbUMvK2dFaUI7Ozs7Ozs7O0VBUUc7QW5DaS9nRXBCO0FtQzUrZ0VhOzs7RUFHRztBbkM4K2dFaEI7QW1DeCtnRWlCOzs7Ozs7RUFNRztBbkMwK2dFcEI7QW1DbitnRWlCOzs7O0VBSUc7QW5DcStnRXBCO0FtQ2wrZ0VxQjs7Ozs7Ozs7RUFRRztBbkNvK2dFeEI7QW1DM2poRVM7OztFQUdHO0FuQzZqaEVaO0FtQ3ZqaEVhOzs7Ozs7RUFNRztBbkN5amhFaEI7QW1DbGpoRWE7Ozs7RUFJRztBbkNvamhFaEI7QW1DemloRWlCOzs7Ozs7OztFQVFHO0FuQzJpaEVwQjtBbUN0aWhFYTs7O0VBR0c7QW5Dd2loRWhCO0FtQ2xpaEVpQjs7Ozs7O0VBTUc7QW5Db2loRXBCO0FtQzdoaEVpQjs7OztFQUlHO0FuQytoaEVwQjtBbUM1aGhFcUI7Ozs7Ozs7O0VBUUc7QW5DOGhoRXhCO0FtQ3JuaEVTOzs7RUFHRztBbkN1bmhFWjtBbUNqbmhFYTs7Ozs7O0VBTUc7QW5DbW5oRWhCO0FtQzVtaEVhOzs7O0VBSUc7QW5DOG1oRWhCO0FtQ25taEVpQjs7Ozs7Ozs7RUFRRztBbkNxbWhFcEI7QW1DaG1oRWE7OztFQUdHO0FuQ2ttaEVoQjtBbUM1bGhFaUI7Ozs7OztFQU1HO0FuQzhsaEVwQjtBbUN2bGhFaUI7Ozs7RUFJRztBbkN5bGhFcEI7QW1DdGxoRXFCOzs7Ozs7OztFQVFHO0FuQ3dsaEV4QjtBbUMvcWhFUzs7O0VBR0c7QW5DaXJoRVo7QW1DM3FoRWE7Ozs7OztFQU1HO0FuQzZxaEVoQjtBbUN0cWhFYTs7OztFQUlHO0FuQ3dxaEVoQjtBbUM3cGhFaUI7Ozs7Ozs7O0VBUUc7QW5DK3BoRXBCO0FtQzFwaEVhOzs7RUFHRztBbkM0cGhFaEI7QW1DdHBoRWlCOzs7Ozs7RUFNRztBbkN3cGhFcEI7QW1DanBoRWlCOzs7O0VBSUc7QW5DbXBoRXBCO0FtQ2hwaEVxQjs7Ozs7Ozs7RUFRRztBbkNrcGhFeEI7QW1DenVoRVM7OztFQUdHO0FuQzJ1aEVaO0FtQ3J1aEVhOzs7Ozs7RUFNRztBbkN1dWhFaEI7QW1DaHVoRWE7Ozs7RUFJRztBbkNrdWhFaEI7QW1DdnRoRWlCOzs7Ozs7OztFQVFHO0FuQ3l0aEVwQjtBbUNwdGhFYTs7O0VBR0c7QW5Dc3RoRWhCO0FtQ2h0aEVpQjs7Ozs7O0VBTUc7QW5Da3RoRXBCO0FtQzNzaEVpQjs7OztFQUlHO0FuQzZzaEVwQjtBbUMxc2hFcUI7Ozs7Ozs7O0VBUUc7QW5DNHNoRXhCO0FtQ255aEVTOzs7RUFHRztBbkNxeWhFWjtBbUMveGhFYTs7Ozs7O0VBTUc7QW5DaXloRWhCO0FtQzF4aEVhOzs7O0VBSUc7QW5DNHhoRWhCO0FtQ2p4aEVpQjs7Ozs7Ozs7RUFRRztBbkNteGhFcEI7QW1DOXdoRWE7OztFQUdHO0FuQ2d4aEVoQjtBbUMxd2hFaUI7Ozs7OztFQU1HO0FuQzR3aEVwQjtBbUNyd2hFaUI7Ozs7RUFJRztBbkN1d2hFcEI7QW1DcHdoRXFCOzs7Ozs7OztFQVFHO0FuQ3N3aEV4QjtBbUM3MWhFUzs7O0VBR0c7QW5DKzFoRVo7QW1DejFoRWE7Ozs7OztFQU1HO0FuQzIxaEVoQjtBbUNwMWhFYTs7OztFQUlHO0FuQ3MxaEVoQjtBbUMzMGhFaUI7Ozs7Ozs7O0VBUUc7QW5DNjBoRXBCO0FtQ3gwaEVhOzs7RUFHRztBbkMwMGhFaEI7QW1DcDBoRWlCOzs7Ozs7RUFNRztBbkNzMGhFcEI7QW1DL3poRWlCOzs7O0VBSUc7QW5DaTBoRXBCO0FtQzl6aEVxQjs7Ozs7Ozs7RUFRRztBbkNnMGhFeEI7QW1DdjVoRVM7OztFQUdHO0FuQ3k1aEVaO0FtQ241aEVhOzs7Ozs7RUFNRztBbkNxNWhFaEI7QW1DOTRoRWE7Ozs7RUFJRztBbkNnNWhFaEI7QW1DcjRoRWlCOzs7Ozs7OztFQVFHO0FuQ3U0aEVwQjtBbUNsNGhFYTs7O0VBR0c7QW5DbzRoRWhCO0FtQzkzaEVpQjs7Ozs7O0VBTUc7QW5DZzRoRXBCO0FtQ3ozaEVpQjs7OztFQUlHO0FuQzIzaEVwQjtBbUN4M2hFcUI7Ozs7Ozs7O0VBUUc7QW5DMDNoRXhCO0FtQ2o5aEVTOzs7RUFHRztBbkNtOWhFWjtBbUM3OGhFYTs7Ozs7O0VBTUc7QW5DKzhoRWhCO0FtQ3g4aEVhOzs7O0VBSUc7QW5DMDhoRWhCO0FtQy83aEVpQjs7Ozs7Ozs7RUFRRztBbkNpOGhFcEI7QW1DNTdoRWE7OztFQUdHO0FuQzg3aEVoQjtBbUN4N2hFaUI7Ozs7OztFQU1HO0FuQzA3aEVwQjtBbUNuN2hFaUI7Ozs7RUFJRztBbkNxN2hFcEI7QW1DbDdoRXFCOzs7Ozs7OztFQVFHO0FuQ283aEV4QjtBbUMzZ2lFUzs7O0VBR0c7QW5DNmdpRVo7QW1DdmdpRWE7Ozs7OztFQU1HO0FuQ3lnaUVoQjtBbUNsZ2lFYTs7OztFQUlHO0FuQ29naUVoQjtBbUN6L2hFaUI7Ozs7Ozs7O0VBUUc7QW5DMi9oRXBCO0FtQ3QvaEVhOzs7RUFHRztBbkN3L2hFaEI7QW1DbC9oRWlCOzs7Ozs7RUFNRztBbkNvL2hFcEI7QW1DNytoRWlCOzs7O0VBSUc7QW5DKytoRXBCO0FtQzUraEVxQjs7Ozs7Ozs7RUFRRztBbkM4K2hFeEI7QW1DcmtpRVM7OztFQUdHO0FuQ3VraUVaO0FtQ2praUVhOzs7Ozs7RUFNRztBbkNta2lFaEI7QW1DNWppRWE7Ozs7RUFJRztBbkM4amlFaEI7QW1DbmppRWlCOzs7Ozs7OztFQVFHO0FuQ3FqaUVwQjtBbUNoamlFYTs7O0VBR0c7QW5Da2ppRWhCO0FtQzVpaUVpQjs7Ozs7O0VBTUc7QW5DOGlpRXBCO0FtQ3ZpaUVpQjs7OztFQUlHO0FuQ3lpaUVwQjtBbUN0aWlFcUI7Ozs7Ozs7O0VBUUc7QW5Dd2lpRXhCO0FtQy9uaUVTOzs7RUFHRztBbkNpb2lFWjtBbUMzbmlFYTs7Ozs7O0VBTUc7QW5DNm5pRWhCO0FtQ3RuaUVhOzs7O0VBSUc7QW5Dd25pRWhCO0FtQzdtaUVpQjs7Ozs7Ozs7RUFRRztBbkMrbWlFcEI7QW1DMW1pRWE7OztFQUdHO0FuQzRtaUVoQjtBbUN0bWlFaUI7Ozs7OztFQU1HO0FuQ3dtaUVwQjtBbUNqbWlFaUI7Ozs7RUFJRztBbkNtbWlFcEI7QW1DaG1pRXFCOzs7Ozs7OztFQVFHO0FuQ2ttaUV4QjtBbUN6cmlFUzs7O0VBR0c7QW5DMnJpRVo7QW1DcnJpRWE7Ozs7OztFQU1HO0FuQ3VyaUVoQjtBbUNocmlFYTs7OztFQUlHO0FuQ2tyaUVoQjtBbUN2cWlFaUI7Ozs7Ozs7O0VBUUc7QW5DeXFpRXBCO0FtQ3BxaUVhOzs7RUFHRztBbkNzcWlFaEI7QW1DaHFpRWlCOzs7Ozs7RUFNRztBbkNrcWlFcEI7QW1DM3BpRWlCOzs7O0VBSUc7QW5DNnBpRXBCO0FtQzFwaUVxQjs7Ozs7Ozs7RUFRRztBbkM0cGlFeEI7QW1DbnZpRVM7OztFQUdHO0FuQ3F2aUVaO0FtQy91aUVhOzs7Ozs7RUFNRztBbkNpdmlFaEI7QW1DMXVpRWE7Ozs7RUFJRztBbkM0dWlFaEI7QW1DMXVpRW9COzs7Ozs7Ozs7Ozs7Ozs7O0VBSUk7QW5Dd3ZpRXhCO0FtQ252aUVpQjs7Ozs7Ozs7RUFRRztBbkNxdmlFcEI7QW1DaHZpRWE7OztFQUdHO0FuQ2t2aUVoQjtBbUM1dWlFaUI7Ozs7OztFQU1HO0FuQzh1aUVwQjtBbUN2dWlFaUI7Ozs7RUFJRztBbkN5dWlFcEI7QW1DdHVpRXFCOzs7Ozs7OztFQVFHO0FuQ3d1aUV4QjtBQUNBOztxQkFFcUI7QW1DOXRpRWpCO0VBQ0k7RUFDQTtBbkNndWlFUjtBbUM5dGlFSTtFQUNJO0FuQ2d1aUVSO0FtQzd0aUVJO0VBQ0k7RUFDQTtBbkMrdGlFUjtBbUM3dGlFSTtFQUNJO0VBQ0E7RUFDQTtBbkMrdGlFUjtBbUM1dGlFSTtFQUNJO0VBQ0E7QW5DOHRpRVI7QW1DNXRpRUk7RUFDSTtFQUNBO0VBQ0E7QW5DOHRpRVI7QW1DM3RpRUk7RUFDSTtFQUNBO0FuQzZ0aUVSO0FtQzN0aUVJO0VBQ0k7RUFDQTtFQUNBO0FuQzZ0aUVSO0FtQzF0aUVJO0VBQ0k7RUFDQTtBbkM0dGlFUjtBbUMxdGlFSTtFQUNJO0VBQ0E7RUFDQTtBbkM0dGlFUjtBbUN6dGlFSTtFQUNJO0VBQ0E7QW5DMnRpRVI7QW1DenRpRUk7RUFDSTtFQUNBO0VBQ0E7QW5DMnRpRVI7QW1DeHRpRUk7RUFDSTtFQUNBO0FuQzB0aUVSO0FtQ3h0aUVJO0VBQ0k7RUFDQTtFQUNBO0FuQzB0aUVSO0FtQ3Z0aUVJO0VBQ0k7RUFDQTtBbkN5dGlFUjtBbUN2dGlFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQ3l0aUVSO0FtQ3R0aUVJO0VBQ0k7RUFDQTtBbkN3dGlFUjtBbUN0dGlFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQ3d0aUVSO0FtQ3J0aUVJO0VBQ0k7RUFDQTtBbkN1dGlFUjtBbUNydGlFSTtFQUNJO0VBQ0E7RUFDQTtBbkN1dGlFUjtBQUNBOzswQkFFMEI7QUFDMUIsZ0JBQWdCO0FtQ2p0aUVaO0VBQ0k7SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7QUFDRjtBQUNBLGdCQUFnQjtBbUNodGlFWjtFQUNJO0lBQ0k7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0lBQ0E7RW5D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QUNJOztJQUVJO0lBQ0E7RXJDNnpuRVY7QUFDRjtBcUN6em5FQTtFQUNJO0FyQzJ6bkVKO0FxQ3R6bkVTO0VBQ0c7QXJDd3puRVo7QXFDenpuRVM7RUFDRztBckMyem5FWjtBcUM1em5FUztFQUNHO0FyQzh6bkVaO0FxQy96bkVTO0VBQ0c7QXJDaTBuRVo7QXFDbDBuRVM7RUFDRztBckNvMG5FWjtBcUNyMG5FUztFQUNHO0FyQ3UwbkVaO0FxQ3gwbkVTO0VBQ0c7QXJDMDBuRVo7QUFDQTs7eUJBRXlCO0FxQ24wbkVyQjtFQUNJO0FyQ3EwbkVSO0FxQ3AwbkVRO0VBQ0k7QXJDczBuRVo7QXFDcDBuRVE7RUFDSTtBckNzMG5FWjtBcUNqMG5FUTs7RUFFSTtBckNtMG5FWjtBcUM5em5FUTs7RUFFSTtBckNnMG5FWjtBcUMzem5FUTtFQUNJO0FyQzZ6bkVaO0FxQzN6bkVRO0VBQ0k7QXJDNnpuRVo7QUFDQSxXQUFXO0FxQ3p6bkVQOztFQUVJO0FyQzJ6bkVSO0FxQ3p6bkVJOzs7RUFHSTtBckMyem5FUjtBQUNBOztpQkFFaUI7QXFDaHpuRUo7O0VBRUc7QXJDa3puRWhCO0FxQzl5bkVhOztFQUVHO0FyQ2d6bkVoQjtBcUM3eW5FaUI7O0VBRUc7QXJDK3luRXBCO0FxQzF5bkVhOztFQUVHO0FyQzR5bkVoQjtBcUN4eW5FYTs7RUFFRztBckMweW5FaEI7QXFDdnluRWlCOztFQUVHO0FyQ3l5bkVwQjtBcUN4MG5FYTs7RUFFRztBckMwMG5FaEI7QXFDdDBuRWE7O0VBRUc7QXJDdzBuRWhCO0FxQ3IwbkVpQjs7RUFFRztBckN1MG5FcEI7QXFDbDBuRWE7O0VBRUc7QXJDbzBuRWhCO0FxQ2gwbkVhOztFQUVHO0FyQ2swbkVoQjtBcUMvem5FaUI7O0VBRUc7QXJDaTBuRXBCO0FxQ2gybkVhOztFQUVHO0FyQ2sybkVoQjtBcUM5MW5FYTs7RUFFRztBckNnMm5FaEI7QXFDNzFuRWlCOztFQUVHO0FyQysxbkVwQjtBcUMxMW5FYTs7RUFFRztBckM0MW5FaEI7QXFDeDFuRWE7O0VBRUc7QXJDMDFuRWhCO0FxQ3YxbkVpQjs7RUFFRztBckN5MW5FcEI7QXFDeDNuRWE7O0VBRUc7QXJDMDNuRWhCO0FxQ3QzbkVhOztFQUVHO0FyQ3czbkVoQjtBcUNyM25FaUI7O0VBRUc7QXJDdTNuRXBCO0FxQ2wzbkVhOztFQUVHO0FyQ28zbkVoQjtBcUNoM25FYTs7RUFFRztBckNrM25FaEI7QXFDLzJuRWlCOztFQUVHO0FyQ2kzbkVwQjtBcUNoNW5FYTs7RUFFRztBckNrNW5FaEI7QXFDOTRuRWE7O0VBRUc7QXJDZzVuRWhCO0FxQzc0bkVpQjs7RUFFRztBckMrNG5FcEI7QXFDMTRuRWE7O0VBRUc7QXJDNDRuRWhCO0FxQ3g0bkVhOztFQUVHO0FyQzA0bkVoQjtBcUN2NG5FaUI7O0VBRUc7QXJDeTRuRXBCO0FxQ3g2bkVhOztFQUVHO0FyQzA2bkVoQjtBcUN0Nm5FYTs7RUFFRztBckN3Nm5FaEI7QXFDcjZuRWlCOztFQUVHO0FyQ3U2bkVwQjtBcUNsNm5FYTs7RUFFRztBckNvNm5FaEI7QXFDaDZuRWE7O0VBRUc7QXJDazZuRWhCO0FxQy81bkVpQjs7RUFFRztBckNpNm5FcEI7QXFDaDhuRWE7O0VBRUc7QXJDazhuRWhCO0FxQzk3bkVhOztFQUVHO0FyQ2c4bkVoQjtBcUM3N25FaUI7O0VBRUc7QXJDKzduRXBCO0FxQzE3bkVhOztFQUVHO0FyQzQ3bkVoQjtBcUN4N25FYTs7RUFFRztBckMwN25FaEI7QXFDdjduRWlCOztFQUVHO0FyQ3k3bkVwQjtBcUN4OW5FYTs7RUFFRztBckMwOW5FaEI7QXFDdDluRWE7O0VBRUc7QXJDdzluRWhCO0FxQ3I5bkVpQjs7RUFFRztBckN1OW5FcEI7QXFDbDluRWE7O0VBRUc7QXJDbzluRWhCO0FxQ2g5bkVhOztFQUVHO0FyQ2s5bkVoQjtBcUMvOG5FaUI7O0VBRUc7QXJDaTluRXBCO0FxQ2gvbkVhOztFQUVHO0FyQ2svbkVoQjtBcUM5K25FYTs7RUFFRztBckNnL25FaEI7QXFDNytuRWlCOztFQUVHO0FyQysrbkVwQjtBcUMxK25FYTs7RUFFRztBckM0K25FaEI7QXFDeCtuRWE7O0VBRUc7QXJDMCtuRWhCO0FxQ3YrbkVpQjs7RUFFRztBckN5K25FcEI7QXFDeGdvRWE7O0VBRUc7QXJDMGdvRWhCO0FxQ3Rnb0VhOztFQUVHO0FyQ3dnb0VoQjtBcUNyZ29FaUI7O0VBRUc7QXJDdWdvRXBCO0FxQ2xnb0VhOztFQUVHO0FyQ29nb0VoQjtBcUNoZ29FYTs7RUFFRztBckNrZ29FaEI7QXFDLy9uRWlCOztFQUVHO0FyQ2lnb0VwQjtBcUNoaW9FYTs7RUFFRztBckNraW9FaEI7QXFDOWhvRWE7O0VBRUc7QXJDZ2lvRWhCO0FxQzdob0VpQjs7RUFFRztBckMraG9FcEI7QXFDMWhvRWE7O0VBRUc7QXJDNGhvRWhCO0FxQ3hob0VhOztFQUVHO0FyQzBob0VoQjtBcUN2aG9FaUI7O0VBRUc7QXJDeWhvRXBCO0FxQ3hqb0VhOztFQUVHO0FyQzBqb0VoQjtBcUN0am9FYTs7RUFFRztBckN3am9FaEI7QXFDcmpvRWlCOztFQUVHO0FyQ3Vqb0VwQjtBcUNsam9FYTs7RUFFRztBckNvam9FaEI7QXFDaGpvRWE7O0VBRUc7QXJDa2pvRWhCO0FxQy9pb0VpQjs7RUFFRztBckNpam9FcEI7QXFDaGxvRWE7O0VBRUc7QXJDa2xvRWhCO0FxQzlrb0VhOztFQUVHO0FyQ2dsb0VoQjtBcUM3a29FaUI7O0VBRUc7QXJDK2tvRXBCO0FxQzFrb0VhOztFQUVHO0FyQzRrb0VoQjtBcUN4a29FYTs7RUFFRztBckMwa29FaEI7QXFDdmtvRWlCOztFQUVHO0FyQ3lrb0VwQjtBcUN4bW9FYTs7RUFFRztBckMwbW9FaEI7QXFDdG1vRWE7O0VBRUc7QXJDd21vRWhCO0FxQ3Jtb0VpQjs7RUFFRztBckN1bW9FcEI7QXFDbG1vRWE7O0VBRUc7QXJDb21vRWhCO0FxQ2htb0VhOztFQUVHO0FyQ2ttb0VoQjtBcUMvbG9FaUI7O0VBRUc7QXJDaW1vRXBCO0FxQ2hvb0VhOztFQUVHO0FyQ2tvb0VoQjtBcUM5bm9FYTs7RUFFRztBckNnb29FaEI7QXFDN25vRWlCOztFQUVHO0FyQytub0VwQjtBcUMxbm9FYTs7RUFFRztBckM0bm9FaEI7QXFDeG5vRWE7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QjtBc0N6c3FFdEI7RUFDSTtFQUNBO0VBQ0E7QXRDMnNxRVI7QXNDenNxRUk7RUFDSTtFQUNBO0VBQ0E7QXRDMnNxRVI7QXNDenNxRUk7RUFDSTtFQUNBO0F0QzJzcUVSO0FBQ0Esb0JBQW9CO0FzQ3hzcUVaO0VBQ0k7RUFDQTtBdEMwc3FFWjtBc0N2c3FFWTtFQUNJO0VBQ0E7QXRDeXNxRWhCO0FBQ0E7OzBCQUUwQjtBc0Nqc3FFdEI7O0VBRUk7QXRDbXNxRVI7QXNDL3JxRVE7O0VBRUk7QXRDaXNxRVo7QUFDQTs7aUJBRWlCO0FzQzNycUVqQjtFQUNJO0F0QzZycUVKO0FzQ3hycUVTO0VBQ0c7QXRDMHJxRVo7QXNDM3JxRVM7RUFDRztBdEM2cnFFWjtBc0M5cnFFUztFQUNHO0F0Q2dzcUVaO0FzQ2pzcUVTO0VBQ0c7QXRDbXNxRVo7QXNDcHNxRVM7RUFDRztBdENzc3FFWjtBc0N2c3FFUztFQUNHO0F0Q3lzcUVaO0FzQzFzcUVTO0VBQ0c7QXRDNHNxRVo7QUFDQTs7c0JBRXNCO0FzQ3JzcUVsQjtFQUNJOztJQUVJO0V0Q3VzcUVWO0FBQ0Y7QUFDQTs7cUJBRXFCO0FzQ2pzcUVqQjtFQUNJO0F0Q21zcUVSO0FzQ2pzcUVJO0VBQ0k7RUFDQTtBdENtc3FFUjtBc0Noc3FFUTtFQUNJO0F0Q2tzcUVaO0FzQzlycUVRO0VBQ0k7QXRDZ3NxRVo7QXNDNXJxRVE7RUFDSTtBdEM4cnFFWjtBc0MxcnFFUTtFQUNJO0F0QzRycUVaO0FzQ3pycUVJO0VBQ0k7QXRDMnJxRVI7QXNDenJxRUk7RUFDSTtBdEMycnFFUjtBc0N4cnFFUTtFQUNJO0F0QzBycUVaO0FzQ3hycUVRO0VBQ0k7QXRDMHJxRVo7QXNDdHJxRVE7RUFDSTtBdEN3cnFFWjtBc0N0cnFFUTtFQUNJO0F0Q3dycUVaO0FzQ3BycUVRO0VBQ0k7QXRDc3JxRVo7QXNDcHJxRVE7RUFDSTtBdENzcnFFWjtBc0NscnFFUTtFQUNJO0F0Q29ycUVaO0FzQ2xycUVRO0VBQ0k7QXRDb3JxRVo7QXNDaHJxRVE7RUFDSTtBdENrcnFFWjtBc0M5cXFFUTs7RUFFSTtB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LzJzRUk7RUFDSTtFQUNBO0VBQ0E7QXZDaTNzRVI7QXVDLzJzRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkNpM3NFUjtBdUM5MnNFSTs7RUFFSTtBdkNnM3NFUjtBdUM5MnNFSTs7RUFFSTtBdkNnM3NFUjtBdUM3MnNFSTs7RUFFSTtFQUNBO0F2Qysyc0VSO0F1Qzcyc0VJOztFQUVJO0VBQ0E7RUFDQTtBdkMrMnNFUjtBQUNBOztxQkFFcUI7QXVDejJzRWpCOztFQUVJO0F2QzIyc0VSO0F1Q3oyc0VJOztFQUVJO0F2QzIyc0VSO0FBQ0E7O2lCQUVpQjtBdUNqMnNFUjs7O0VBR0c7QXZDbTJzRVo7QXVDaDJzRWE7OztFQUdHO0F2Q2syc0VoQjtBdUMzMnNFUzs7O0VBR0c7QXZDNjJzRVo7QXVDMTJzRWE7OztFQUdHO0F2QzQyc0VoQjtBdUNyM3NFUzs7O0VBR0c7QXZDdTNzRVo7QXVDcDNzRWE7OztFQUdHO0F2Q3Mzc0VoQjtBdUMvM3NFUzs7O0VBR0c7QXZDaTRzRVo7QXVDOTNzRWE7OztFQUdHO0F2Q2c0c0VoQjtBdUN6NHNFUzs7O0VBR0c7QXZDMjRzRVo7QXVDeDRzRWE7OztFQUdHO0F2QzA0c0VoQjtBdUNuNXNFUzs7O0VBR0c7QXZDcTVzRVo7QXVDbDVzRWE7OztFQUdHO0F2Q281c0VoQjtBdUM3NXNFUzs7O0VBR0c7QXZDKzVzRVo7QXVDNTVzRWE7OztFQUdHO0F2Qzg1c0VoQjtBdUN2NnNFUzs7O0VBR0c7QXZDeTZzRVo7QXVDdDZzRWE7OztFQUdHO0F2Q3c2c0VoQjtBdUNqN3NFUzs7O0VBR0c7QXZDbTdzRVo7QXVDaDdzRWE7OztFQUdHO0F2Q2s3c0VoQjtBdUMzN3NFUzs7O0VBR0c7QXZDNjdzRVo7QXVDMTdzRWE7OztFQUdHO0F2QzQ3c0VoQjtBdUNyOHNFUzs7O0VBR0c7QXZDdThzRVo7QXVDcDhzRWE7OztFQUdHO0F2Q3M4c0VoQjtBdUMvOHNFUzs7O0VBR0c7QXZDaTlzRVo7QXVDOThzRWE7OztFQUdHO0F2Q2c5c0VoQjtBdUN6OXNFUzs7O0VBR0c7QXZDMjlzRVo7QXVDeDlzRWE7OztFQUdHO0F2QzA5c0VoQjtBdUNuK3NFUzs7O0VBR0c7QXZDcStzRVo7QXVDbCtzRWE7OztFQUdHO0F2Q28rc0VoQjtBdUM3K3NFUzs7O0VBR0c7QXZDKytzRVo7QXVDNStzRWE7OztFQUdHO0F2Qzgrc0VoQjtBQUNBOztxQkFFcUI7QXVDdCtzRWpCO0VBQ0k7RUFDQTtBdkN3K3NFUjtBdUN0K3NFSTtFQUNJO0VBQ0E7QXZDdytzRVI7QXVDdCtzRUk7RUFDSTtBdkN3K3NFUjtBQUNBOztxQkFFcUI7QXVDbCtzRWpCO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7RXZDbytzRVY7RXVDbCtzRU07SUFDSTtJQUNBO0lBQ0E7RXZDbytzRVY7QUFDRjtBQUNBOztpQkFFaUI7QUFDakIsV0FBVztBdUMvOXNFWDs7RUFFSTtBdkNpK3NFSjtBdUMvOXNFQTs7RUFFSTtBdkNpK3NFSjtBdUMvOXNFQTs7RUFFSTtBdkNpK3NFSjtBdUMxOXNFUzs7RUFFRztBdkM0OXNFWjtBdUMxOXNFUzs7RUFFRztBdkM0OXNFWjtBdUMxOXNFUzs7RUFFRztBdkM0OXNFWjtBdUN0K3NFUzs7RUFFRztBdkN3K3NFWjtBdUN0K3NFUzs7RUFFRztBdkN3K3NFWjtBdUN0K3NFUzs7RUFFRztBdkN3K3NFWjtBdUNsL3NFUzs7RUFFRztBdkNvL3NFWjtBdUNsL3NFUzs7RUFFRztBdkNvL3NFWjtBdUNsL3NFUzs7RUFFRztBdkNvL3NFWjtBdUM5L3NFUzs7RUFFRztBdkNnZ3RFWjtBdUM5L3NFUzs7RUFFRztBdkNnZ3RFWjtBdUM5L3NFUzs7RUFFRztBdkNnZ3RFWjtBdUMxZ3RFUzs7RUFFRztBdkM0Z3RFWjtBdUMxZ3RFUzs7RUFFRztBdkM0Z3RFWjtBdUMxZ3RFUzs7RUFFRztBdkM0Z3RFWjtBdUN0aHRFUzs7RUFFRztBdkN3aHRFWjtBdUN0aHRFUzs7RUFFRztBdkN3aHRFWjtBdUN0aHRFUzs7RUFFRztBdkN3aHRFWjtBdUNsaXRFUzs7RUFFRztBdkNvaXRFWjtBdUNsaXRFUzs7RUFFRztBdkNvaXRFWjtBdUNsaXRFUzs7RUFFRztBdkNvaXRF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RUo7QTBDeGd4RUE7RUFDSTtBMUMwZ3hFSjtBMEN2Z3hFQTtFQUNJO0ExQ3lneEVKO0EwQ3RneEVBO0VBQ0k7QTFDd2d4RUo7QTBDcmd4RUE7O0VBRUk7RUFDQTtBMUN1Z3hFSjtBMENwZ3hFQTtFQUNJO0ExQ3NneEVKO0EwQ25neEVBO0VBQ0k7QTFDcWd4RUo7QTBDbGd4RUE7RUFDSTtFQUNBO0VBQ0E7QTFDb2d4RUo7QTBDamd4RUE7RUFDSTtBMUNtZ3hFSjtBMENoZ3hFQTtFQUNJO0VBQ0E7QTFDa2d4RUo7QTBDLy93RUE7RUFDSTtFQUNBO0ExQ2lneEVKO0EwQzkvd0VBO0VBQ0k7QTFDZ2d4RUo7QTBDNy93RUE7RUFDSTtFQUNBO0VBQ0E7QTFDKy93RUo7QTBDNS93RUE7RUFDSTtFQUNBO0VBQ0E7QTFDOC93RUo7QTBDMy93RUE7RUFDSTtFQUNBO0VBQ0E7QTFDNi93RUo7QTBDMS93RUE7RUFDSTtFQUNBO0ExQzQvd0VKO0FBQ0E7O2lCQUVpQjtBMEN4L3dFakI7RUFDSTtBMUMwL3dFSjtBMEN2L3dFQTtFQUNJO0VBQ0E7RUFDQTtBMUN5L3dFSjtBMEN0L3dFQzs7RUFFRztBMUN3L3dFSjtBMENwL3dFSTtFQUNJO0VBQ0E7RUFDQTtBMUNzL3dFUjtBMENuL3dFSzs7RUFFRztBMUNxL3dFUjtBMENuL3dFSTtFQUNJO0ExQ3Evd0VSO0EwQ2wvd0VJO0VBQ0k7RUFDQTtBMUNvL3dFUjtBMEMvK3dFSTtFQUNJO0ExQ2kvd0VSO0EwQ2gvd0VRO0VBQ0k7QTFDay93RVo7QTBDai93RVk7RUFDSTtFQUNBO0ExQ20vd0VoQjtBMENoL3dFUTtFQUNJO0ExQ2svd0VaO0EwQ2ovd0VZO0VBQ0k7RUFDQTtBMUNtL3dFaEI7QUFDQTs7dUJBRXVCO0EwQ3ord0VkOzs7RUFHRztBMUMyK3dFWjtBMEN6K3dFUzs7O0VBR0c7QTFDMit3RVo7QTBDeit3RVM7RUFDRztBMUMyK3dFWjtBMEN6K3dFUztFQUNHO0ExQzIrd0VaO0EwQ3ord0VTO0VBQ0c7QTFDMit3RVo7QTBDNS93RVM7OztFQUdHO0ExQzgvd0VaO0EwQzUvd0VTOzs7RUFHRztBMUM4L3dFWjtBMEM1L3dFUztFQUNHO0ExQzgvd0VaO0EwQzUvd0VTO0VBQ0c7QTFDOC93RVo7QTBDNS93RVM7RUFDRztBMUM4L3dFWjtBMEMvZ3hFUzs7O0VBR0c7QTFDaWh4RVo7QTBDL2d4RVM7OztFQUdHO0ExQ2loeEVaO0EwQy9neEVTO0VBQ0c7QTFDaWh4RVo7QTBDL2d4RVM7RUFDRztBMUNpaHhFWjtBMEMvZ3hFUztFQUNHO0ExQ2loeEVaO0EwQ2xpeEVTOzs7RUFHRztBMUNvaXhFWjtBMENsaXhFUzs7O0VBR0c7QTFDb2l4RVo7QTBDbGl4RVM7RUFDRztBMUNvaXhFWjtBMENsaXhFUztFQUNHO0ExQ29peEVaO0EwQ2xpeEVTO0VBQ0c7QTFDb2l4RVo7QTBDcmp4RVM7OztFQUdHO0ExQ3VqeEVaO0EwQ3JqeEVTOzs7RUFHRztBMUN1anhFWjtBMENyanhFUztFQUNHO0ExQ3VqeEVaO0EwQ3JqeEVTO0VBQ0c7QTFDdWp4RVo7QTBDcmp4RVM7RUFDRztBMUN1anhFWjtBMEN4a3hFUzs7O0VBR0c7QTFDMGt4RVo7QTBDeGt4RVM7OztFQUdHO0ExQzBreEVaO0EwQ3hreEVTO0VBQ0c7QTFDMGt4RVo7QTBDeGt4RVM7RUFDRztBMUMwa3hFWjtBMEN4a3hFUztFQUNHO0ExQzBreEVaO0EwQzNseEVTOzs7RUFHRztBMUM2bHhFWjtBMEMzbHhFUzs7O0VBR0c7QTFDNmx4RVo7QTBDM2x4RVM7RUFDRztBMUM2bHhFWjtBMEMzbHhFUztFQUNHO0ExQzZseEVaO0EwQzNseEVTO0VBQ0c7QTFDNmx4RVo7QUFDQTs7K0JBRStCO0FBQy9COzsyQkFFMkI7QTBDcmx4RXZCO0VBQ0k7QTFDdWx4RVI7QTBDcGx4RUk7O0VBRUk7QTFDc2x4RVI7QUFDQTs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7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UjtBQUNBLFVBQVU7QTJDcjZ5RU47RUFDSTtBM0N1NnlFUjtBMkNyNnlFSTtFQUNJO0EzQ3U2eUVSO0FBQ0Esa0JBQWtCO0EyQ3A2eUVkO0VBQ0k7QTNDczZ5RVI7QUFDQSxXQUFXO0EyQ242eUVQO0VBQ0k7QTNDcTZ5RVI7QTJDbjZ5RUk7RUFDSTtBM0NxNnlFUjtBQUNBLGlCQUFpQjtBMkNsNnlFYjtFQUNJO0EzQ282eUVSO0EyQ2w2eUVJO0VBQ0k7QTNDbzZ5RVI7QUFDQTs7cUJBRXFCO0EyQzk1eUVqQjtFQUNJO0EzQ2c2eUVSO0FBQ0EsVUFBVTtBMkM3NXlFTjtFQUNJO0VBQ0E7QTNDKzV5RVI7QUFDQSxVQUFVO0EyQzU1eUVOO0VBQ0k7RUFDQTtFQUNBO0EzQzg1eUVSO0FBQ0EsU0FBUztBMkMzNXlFTDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQzY1eUVSO0FBQ0EsV0FBVztBMkMxNXlFUDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDNDV5RVI7QUFDQSxVQUFVO0EyQ3o1eUVOO0VBQ0k7RUFDQTtBM0MyNXlFUjtBQUNBLFVBQVU7QTJDeDV5RU47RUFDSTtBM0MwNXlFUjtBMkN4NXlFSTtFQUNJO0EzQzA1eUVSO0FBQ0EsV0FBVztBMkN2NXlFUDtFQUNJO0EzQ3k1eUVSO0EyQ3Y1eUVJO0VBQ0k7QTNDeTV5RVI7QTJDdjV5RUk7RUFDSTtBM0N5NXlFUjtBQUNBLGlCQUFpQjtBMkN0NXlFYjtFQUNJO0EzQ3c1eUVSO0EyQ3Q1eUVJO0VBQ0k7QTNDdzV5RVI7QTJDcDV5RVE7RUFDSTtFQUNBO0EzQ3M1eUVaO0EyQ3A1eUVRO0VBQ0k7RUFDQTtFQUNBO0EzQ3M1eUVaO0EyQ3A1eUVRO0VBQ0k7RUFDQTtBM0NzNXlFWjtBQUNBOztxQkFFcUI7QTJDLzR5RWpCO0VBQ0k7QTNDaTV5RVI7QUFDQSxVQUFVO0EyQzk0eUVOO0VBQ0k7RUFDQTtBM0NnNXlFUjtBQUNBLFVBQVU7QTJDNzR5RU47RUFDSTtFQUNBO0VBQ0E7RUFHQTtBM0M0NHlFUjtBQUlBLFdBQVc7QTJDNTR5RVA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDODR5RVI7QUFDQSxXQUFXO0EyQzM0eUVQO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDNjR5RVI7QTJDMTR5RUk7RUFDSTtFQUNBO0EzQzQ0eUVSO0FBQ0EsVUFBVTtBMkN6NHlFTjtFQUNJO0VBQ0E7QTNDMjR5RVI7QUFDQSxVQUFVO0EyQ3g0eUVOO0VBQ0k7RUFDQTtBM0MwNHlFUjtBQUNBLFdBQVc7QTJDdjR5RVA7RUFDSTtBM0N5NHlFUjtBMkN2NHlFSTtFQUNJO0EzQ3k0eUVSO0EyQ3Y0eUVJO0VBQ0k7RUFDQTtBM0N5NHlFUjtBQUNBLGlCQUFpQjtBMkN0NHlFYjtFQUNJO0EzQ3c0eUVSO0EyQ3Q0eUVJO0VBQ0k7QTNDdzR5RVI7QTJDcDR5RVE7RUFDSTtFQUNBO0EzQ3M0eUVaO0EyQ3A0eUVRO0VBQ0k7RUFDQTtFQUNBO0EzQ3M0eUVaO0EyQ3A0eUVRO0VBQ0k7RUFDQTtBM0NzNHlFWjtBQUNBOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBMkMvM3lFakI7RUFDSTtBM0NpNHlFUjtBMkM5M3lFSTtFQUNJO0EzQ2c0eUVSO0EyQzczeUVJO0VBQ0k7QTNDKzN5RVI7QUFDQTs7cUJBRXFCO0EyQzEzeUVqQjs7RUFFSTtBM0M0M3lFUjtBQUNBLFVBQVU7QTJDejN5RU47RUFDSTtBM0MyM3lFUjtBMkN6M3lFSTtFQUNJO0EzQzIzeUVSO0FBQ0EsaUJBQWlCO0EyQ3gzeUVUO0VBQ0k7QTNDMDN5RVo7QUFDQSxnQkFBZ0I7QTJDdjN5RVI7RUFDSTtBM0N5M3lFWjtBQUNBLGlCQUFpQjtBMkN0M3lFVDtFQUNJO0EzQ3czeUVaO0FBQ0Esa0JBQWtCO0EyQ3IzeUVWO0VBQ0k7QTNDdTN5RVo7QTJDcjN5RVE7RUFDSTtBM0N1M3lFWjtBQUNBLHdCQUF3QjtBMkNwM3lFaEI7RUFDSTtBM0NzM3lFWjtBMkNwM3lFUTtFQUNJO0EzQ3MzeUVaO0FBQ0Esa0JBQWtCO0EyQ2wzeUVWO0VBQ0k7QTNDbzN5RVo7QUFDQSxpQkFBaUI7QTJDajN5RVQ7RUFDSTtBM0NtM3lFWjtBQUNBLGtCQUFrQjtBMkNoM3lFVjtFQUNJO0EzQ2szeUVaO0EyQ2gzeUVRO0VBQ0k7QTNDazN5RVo7QUFDQSx3QkFBd0I7QTJDLzJ5RWhCO0VBQ0k7QTNDaTN5RVo7QTJDLzJ5RVE7RUFDSTtBM0NpM3lFWjtBQUNBOztxQkFFcUI7QTJDMTJ5RWI7RUFDSTtBM0M0MnlFWjtBMkMxMnlFUTtFQUNJO0VBQ0E7QTNDNDJ5RVo7QTJDMTJ5RVE7O0VBRUk7QTNDNDJ5RVo7QTJDMTJ5RVE7RUFDSTtBM0M0MnlFWjtBMkN4MnlFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzQzAyeUVaO0EyQ3gyeUVRO0VBQ0k7QTNDMDJ5RVo7QTJDeDJ5RVE7O0VBRUk7QTNDMDJ5RVo7QTJDcjJ5RVE7RUFDSTtFQUNBO0EzQ3UyeUVaO0EyQ3IyeUVRO0VBQ0k7QTNDdTJ5RVo7QTJDcDJ5RVk7O0VBRUk7QTNDczJ5RWhCO0FBQ0E7O3VCQUV1QjtBMkN6MXlFZDtFQUNHO0EzQzIxeUVaO0EyQzUxeUVTO0VBQ0c7QTNDODF5RVo7QTJDLzF5RVM7RUFDRztBM0NpMnlFWjtBMkNsMnlFUztFQUNHO0EzQ28yeUVaO0EyQzcxeUVvQjs7OztFQUdJO0VBQ0E7QTNDZzJ5RXhCO0EyQzUxeUVvQjs7RUFFSTtFQUNBO0EzQzgxeUV4QjtBMkM1MXlFb0I7O0VBRUk7RUFDQTtFQUNBO0EzQzgxeUV4QjtBMkN2M3lFUztFQUNHO0EzQ3kzeUVaO0EyQ2wzeUVvQjs7OztFQUdJO0VBQ0E7QTNDcTN5RXhCO0EyQ2ozeUVvQjs7RUFFSTtFQUNBO0EzQ20zeUV4QjtBMkNqM3lFb0I7O0VBRUk7RUFDQTtFQUNBO0EzQ20zeUV4QjtBMkM1NHlFUztFQUNHO0EzQzg0eUVaO0Ey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bzNFUztFQUNHO0E5Q21vM0VaO0FBQ0EsZUFBZTtBOENobzNFTjtFQUNHO0E5Q2tvM0VaO0FBQ0EsZ0JBQWdCO0E4Qy9uM0VQO0VBQ0c7QTlDaW8zRVo7QThDcnEzRVM7OztFQUdHO0E5Q3VxM0VaO0E4Q3BxM0VhO0VBQ0c7RUFDQTtBOUNzcTNFaEI7QThDbnEzRWE7RUFDRztBOUNxcTNFaEI7QThDanEzRWlCO0VBQ0c7QTlDbXEzRXBCO0E4Qy9wM0VTOztFQUVHO0E5Q2lxM0VaO0E4Qy9wM0VTO0VBQ0c7QTlDaXEzRVo7QUFDQSxlQUFlO0E4QzlwM0VOO0VBQ0c7QTlDZ3EzRVo7QUFDQSxnQkFBZ0I7QThDN3AzRVA7RUFDRztBOUMrcDNFWjtBOENuczNFUzs7O0VBR0c7QTlDcXMzRVo7QThDbHMzRWE7RUFDRztFQUNBO0E5Q29zM0VoQjtBOENqczNFYTtFQUNHO0E5Q21zM0VoQjtBOEMvcjNFaUI7RUFDRztBOUNpczNFcEI7QThDN3IzRVM7O0VBRUc7QTlDK3IzRVo7QThDN3IzRVM7RUFDRztBOUMrcjNFWjtBQUNBLGVBQWU7QThDNXIzRU47RUFDRztBOUM4cjNFWjtBQUNBLGdCQUFnQjtBOEMzcjNFUDtFQUNHO0E5QzZyM0VaO0E4Q2p1M0VTOzs7RUFHRztBOUNtdTNFWjtBOENodTNFYTtFQUNHO0VBQ0E7QTlDa3UzRWhCO0E4Qy90M0VhO0VBQ0c7QTlDaXUzRWhCO0E4Qzd0M0VpQjtFQUNHO0E5Qyt0M0VwQjtBOEMzdDNFUzs7RUFFRztBOUM2dDNFWjtBOEMzdDNFUztFQUNHO0E5QzZ0M0VaO0FBQ0EsZUFBZTtBOEMxdDNFTjtFQUNHO0E5QzR0M0VaO0FBQ0EsZ0JBQWdCO0E4Q3p0M0VQO0VBQ0c7QTlDMnQzRVo7QUFDQTs7NEJBRTRCO0E4Q3J0M0V4Qjs7RUFFSTtFQUNBO0E5Q3V0M0VSO0E4Q3J0M0VJOztFQUVJO0E5Q3V0M0VSO0FBQ0E7OzRCQUU0QjtBQUM1QixhQUFhO0E4Q2p0M0VUOztFQUVJO0VBQ0E7RUFDQTtBOUNtdDNFUjtBQUNBOzs0QkFFNEI7QThDN3MzRXhCO0VBQ0k7RUFDQTtB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QWlEdGgrRWpCOztFQUVJO0FqRHdoK0VSO0FpRHBoK0VJOztFQUVJO0FqRHNoK0VSO0FBQ0Esb0JBQW9CO0FpRGpoK0VoQjs7RUFFSTtBakRtaCtFUjtBaUQvZytFSTs7RUFFSTtBakRpaCtFUjtBaUQ3ZytFSTs7RUFFSTtBakQrZytFUjtBaUQzZytFSTs7RUFFSTtBakQ2ZytFUjtBQUNBLGtEQUFrRDtBaUR4ZytFOUM7Ozs7RUFJSTtBakQwZytFUjtBQUNBOztxQkFFcUI7QWlEcmcrRWpCO0VBQ0k7QWpEdWcrRVI7QWlEcGcrRVE7RUFDSTtBakRzZytFWjtBaURsZytFSTs7RUFFSTtFQUNBO0FqRG9nK0VSO0FpRGxnK0VJO0VBQ0k7RUFDQTtFQUNBO0FqRG9nK0VSO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FBQ2pCLGlCQUFpQjtBaUQ3LzlFYjs7RUFFSTtBakQrLzlFUjtBaUQ1LzlFUTs7RUFFSTtBakQ4LzlFWjtBaUQzLzlFUTs7RUFFSTtBakQ2LzlFWjtBaUR4LzlFUTs7RUFFSTtBakQwLzlFWjtBaUR2LzlFUTs7RUFFSTtBakR5LzlFWjtBQUNBLGlCQUFpQjtBaURuLzlFTDs7RUFFSTtBakRxLzlFaEI7QWlEbC85RVk7O0VBRUk7QWpEby85RWhCO0FpRC8rOUVZOztFQUVJO0FqRGkvOUVoQjtBaUQ5KzlFWTs7RUFFSTtBakRnLzlFaEI7QUFDQSxrQkFBa0I7QWlEeis5RU47O0VBRUk7QWpEMis5RWhCO0FpRHgrOUVZOztFQUVJO0FqRDArOUVoQjtBaURyKzlFWTs7RUFFSTtBakR1KzlFaEI7QWlEcCs5RVk7O0VBRUk7QWpEcys5RWhCO0FBQ0EsZUFBZTtBaURoKzlFUDtFQUNJO0FqRGsrOUVaO0FBQ0E7OzBCQUUwQjtBQUMxQix3QkFBd0I7QWlEMzk5RWY7RUFDRztBakQ2OTlFWjtBaUQxOTlFUztFQUNHO0FqRDQ5OUVaO0FpRHo5OUVTO0VBQ0c7QWpEMjk5RVo7QWlEeDk5RVM7RUFDRztBakQwOTlFWjtBaUR2OTlFUztFQUNHO0FqRHk5OUVaO0FpRHQ5OUVTO0VBQ0c7QWpEdzk5RVo7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RWxEOHFnRmQ7QUFDRjtBa0Q3c2dGUztFQUNHO0FsRCtzZ0ZaO0FrRDdzZ0ZRO0VBQ0s7SUFDRztJQUNBO0VsRCtzZ0ZkO0FBQ0Y7QWtEN3NnRlE7RUFDSztJQUNHO0lBQ0E7RWxEK3NnRmQ7QUFDRjtBa0Q3c2dGUTtFQUNLO0lBQ0c7SUFDQTtFbEQrc2dGZDtBQUNGO0FrRDdzZ0ZRO0VBQ0s7SUFDRztJQUNBO0VsRCtzZ0ZkO0FBQ0Y7QWtEN3NnRlE7RUFDSztJQUNHO0lBQ0E7RWxEK3NnRmQ7QUFDRjtBa0Q5dWdGUztFQUNHO0FsRGd2Z0ZaO0FrRDl1Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGd2Z0ZkO0FBQ0Y7QWtEOXVnRlE7RUFDSztJQUNHO0lBQ0E7RWxEZ3ZnRmQ7QUFDRjtBa0Q5dWdGUTtFQUNLO0lBQ0c7SUFDQTtFbERndmdGZDtBQUNGO0FrRDl1Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGd2Z0ZkO0FBQ0Y7QWtEOXVnRlE7RUFDSztJQUNHO0lBQ0E7RWxEZ3ZnRmQ7QUFDRjtBa0Qvd2dGUztFQUNHO0FsRGl4Z0ZaO0FrRC93Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGl4Z0ZkO0FBQ0Y7QWtEL3dnRlE7RUFDSztJQUNHO0lBQ0E7RWxEaXhnRmQ7QUFDRjtBa0Qvd2dGUTtFQUNLO0lBQ0c7SUFDQTtFbERpeGdGZDtBQUNGO0FrRC93Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGl4Z0ZkO0FBQ0Y7QWtEL3dnRlE7RUFDSztJQUNHO0lBQ0E7RWxEaXhnRmQ7QUFDRjtBa0RoemdGUztFQUNHO0FsRGt6Z0ZaO0FrRGh6Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGt6Z0ZkO0FBQ0Y7QWtEaHpnRlE7RUFDSztJQUNHO0lBQ0E7RWxEa3pnRmQ7QUFDRjtBa0RoemdGUTtFQUNLO0lBQ0c7SUFDQTtFbERremdGZDtBQUNGO0FrRGh6Z0ZRO0VBQ0s7SUFDRztJQUNBO0VsRGt6Z0ZkO0FBQ0Y7QWtEaHpnRlE7RUFDSztJQUNHO0lBQ0E7RWxEa3pnRmQ7QUFDRjtBQUNBOzttQ0FFbUM7QWtEM3lnRi9CO0VBQ0k7QWxENnln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RHppakZqQjs7RUFFSTtFQUNBO0VBQ0E7QW5EMmlqRlI7QUFDQTs7cUJBRXFCO0FtRHJpakZqQjs7RUFFSTtFQUNBO0FuRHVpakZSO0FtRHJpakZJOztFQUVJO0FuRHVpakZSO0FtRHJpakZJOztFQUVJO0FuRHVpakZSO0FBQ0E7OzBCQUUwQjtBbUQvaGpGakI7O0VBRUc7QW5EaWlqRlo7QW1EbmlqRlM7O0VBRUc7QW5EcWlqRlo7QW1EdmlqRlM7O0VBRUc7QW5EeWlqRlo7QW1EM2lqRlM7O0VBRUc7QW5ENmlqRlo7QW1EL2lqRlM7O0VBRUc7QW5EaWpqRlo7QW1EbmpqRlM7O0VBRUc7RUFFSTtBbkRvampGaEI7QW1EeGpqRlM7O0VBRUc7RUFFSTtBbkR5ampGaEI7QUFDQTs7Z0JBRWdCO0FtRDVpakZQO0VBQ0c7QW5EOGlqRlo7QW1EeGlqRmE7RUFDRztBbkQwaWpGaEI7QW1EbGpqRlM7RUFDRztBbkRvampGWjtBbUQ5aWpGYTtFQUNHO0FuRGdqakZoQjtBbUR4ampGUztFQUNHO0FuRDBqakZaO0FtRHBqakZhO0VBQ0c7QW5Ec2pqRmhCO0FtRDlqakZTO0VBQ0c7QW5EZ2tqRlo7QW1EMWpqRmE7RUFDRztBbkQ0ampGaEI7QW1EcGtqRlM7RUFDRztBbkRza2pGWjtBbURoa2pGYTtFQUNHO0FuRGtrakZoQjtBbUQxa2pGUztFQUNHO0FuRDRrakZaO0FtRHRrakZhO0VBQ0c7QW5Ed2tqRmhCO0FtRGhsakZTO0VBQ0c7QW5Ea2xqRlo7QW1ENWtqRmE7RUFDRztBbkQ4a2pGaEI7QW1EdGxqRlM7RUFDRztBbkR3bGpGWjtBbURsbGpGYTtFQUNHO0FuRG9sakZoQjtBbUQ1bGpGUztFQUNHO0FuRDhsakZaO0FtRHhsakZhO0VBQ0c7QW5EMGxqRmhCO0FtRGxtakZTO0VBQ0c7QW5Eb21qRlo7QW1EOWxqRmE7RUFDRztBbkRnbWpGaEI7QW1EeG1qRlM7RUFDRztBbkQwbWpGWjtBbURwbWpGYTtFQUNHO0FuRHNtakZoQjtBbUQ5bWpGUztFQUNHO0FuRGduakZaO0FtRDFtakZhO0VBQ0c7QW5ENG1qRmhCO0FtRHBu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RGswa0ZwQjtBb0QvemtGcUI7O0VBRUc7QXBEaTBrRnhCO0FvRDkxa0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRGcya0ZoQjtBb0Q3MWtGaUI7O0VBRUc7QXBEKzFrRnBCO0FvRDUxa0ZhOztFQUVHO0FwRDgxa0ZoQjtBb0QzMWtGaUI7Ozs7RUFJRztFQUNBO0FwRDYxa0ZwQjtBb0QxMWtGcUI7O0VBRUc7QXBENDFrRnhCO0FvRHoza0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDIza0ZoQjtBb0R4M2tGaUI7O0VBRUc7QXBEMDNrRnBCO0FvRHYza0ZhOztFQUVHO0FwRHkza0ZoQjtBb0R0M2tGaUI7Ozs7RUFJRztFQUNBO0FwRHcza0ZwQjtBb0RyM2tGcUI7O0VBRUc7QXBEdTNrRnhCO0FvRHA1a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHM1a0ZoQjtBb0RuNWtGaUI7O0VBRUc7QXBEcTVrRnBCO0FvRGw1a0ZhOztFQUVHO0FwRG81a0ZoQjtBb0RqNWtGaUI7Ozs7RUFJRztFQUNBO0FwRG01a0ZwQjtBb0RoNWtGcUI7O0VBRUc7QXBEazVrRnhCO0FvRC82a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRGk3a0ZoQjtBb0Q5NmtGaUI7O0VBRUc7QXBEZzdrRnBCO0FvRDc2a0ZhOztFQUVHO0FwRCs2a0ZoQjtBb0Q1NmtGaUI7Ozs7RUFJRztFQUNBO0FwRDg2a0ZwQjtBb0QzNmtGcUI7O0VBRUc7QXBENjZrRnhCO0FvRDE4a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDQ4a0ZoQjtBb0R6OGtGaUI7O0VBRUc7QXBEMjhrRnBCO0FvRHg4a0ZhOztFQUVHO0FwRDA4a0ZoQjtBb0R2OGtGaUI7Ozs7RUFJRztFQUNBO0FwRHk4a0ZwQjtBb0R0OGtGcUI7O0VBRUc7QXBEdzhrRnhCO0FvRHIra0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHUra0ZoQjtBb0RwK2tGaUI7O0VBRUc7QXBEcytrRnBCO0FvRG4ra0ZhOztFQUVHO0FwRHEra0ZoQjtBb0RsK2tGaUI7Ozs7RUFJRztFQUNBO0FwRG8ra0ZwQjtBb0RqK2tGcUI7O0VBRUc7QXBEbStrRnhCO0FvRGhnbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRGtnbEZoQjtBb0QvL2tGaUI7O0VBRUc7QXBEaWdsRnBCO0FvRDkva0ZhOztFQUVHO0FwRGdnbEZoQjtBb0Q3L2tGaUI7Ozs7RUFJRztFQUNBO0FwRCsva0ZwQjtBb0Q1L2tGcUI7O0VBRUc7QXBEOC9rRnhCO0FvRDNobEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDZobEZoQjtBb0QxaGxGaUI7O0VBRUc7QXBENGhsRnBCO0FvRHpobEZhOztFQUVHO0FwRDJobEZoQjtBb0R4aGxGaUI7Ozs7RUFJRztFQUNBO0FwRDBobEZwQjtBb0R2aGxGcUI7O0VBRUc7QXBEeWhsRnhCO0FvRHRqbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHdqbEZoQjtBb0RyamxGaUI7O0VBRUc7QXBEdWpsRnBCO0FvRHBqbEZhOztFQUVHO0FwRHNqbEZoQjtBb0RuamxGaUI7Ozs7RUFJRztFQUNBO0FwRHFqbEZwQjtBb0RsamxGcUI7O0VBRUc7QXBEb2psRnhCO0FvRGpsbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRG1sbEZoQjtBb0RobGxGaUI7O0VBRUc7QXBEa2xsRnBCO0FvRC9rbEZhOztFQUVHO0FwRGlsbEZoQjtBb0Q5a2xGaUI7Ozs7RUFJRztFQUNBO0FwRGdsbEZwQjtBb0Q3a2xGcUI7O0VBRUc7QXBEK2tsRnhCO0FvRDVtbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDhtbEZoQjtBb0QzbWxGaUI7O0VBRUc7QXBENm1sRnBCO0FvRDFtbEZhOztFQUVHO0FwRDRtbEZoQjtBb0R6bWxGaUI7Ozs7RUFJRztFQUNBO0FwRDJtbEZwQjtBb0R4bWxGcUI7O0VBRUc7QXBEMG1sRnhCO0FvRHZvbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHlvbEZoQjtBb0R0b2xGaUI7O0VBRUc7QXBEd29sRnBCO0FvRHJvbEZhOztFQUVHO0FwRHVvbEZoQjtBb0Rwb2xGaUI7Ozs7RUFJRztFQUNBO0FwRHNvbEZwQjtBb0Rub2xGcUI7O0VBRUc7QXBEcW9sRnhCO0FB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NW9vRlE7RUFDSTtBckQ4b29GWjtBQUNBOztxQkFFcUI7QUFDckIsb0JBQW9CO0FxRHZvb0ZoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRHlvb0ZSO0FxRHZvb0ZJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FyRHlvb0ZSO0FxRHZvb0ZJO0VBQ0k7QXJEeW9vRlI7QUFDQSxpQkFBaUI7QXFEdG9vRmI7O0VBRUk7RUFDQTtBckR3b29GUjtBcUR0b29GSTtFQUNJO0FyRHdvb0ZSO0FBQ0EsYUFBYTtBcURwb29GVDs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRHNvb0ZSO0FxRG5vb0ZJOztFQUVJO0VBQ0E7QXJEcW9vRlI7QUFDQTs7aUJBRWlCO0FxRDNub0ZSOzs7RUFHRztBckQ2bm9GWjtBcUQxbm9GYTs7O0VBR0c7QXJENG5vRmhCO0FxRHJvb0ZTOzs7RUFHRztBckR1b29GWjtBcURwb29GYTs7O0VBR0c7QXJEc29vRmhCO0FxRC9vb0ZTOzs7RUFHRztBckRpcG9GWjtBcUQ5b29GYTs7O0VBR0c7QXJEZ3BvRmhCO0FxRHpwb0ZTOzs7RUFHRztBckQycG9GWjtBcUR4cG9GYTs7O0VBR0c7QXJEMHBvRmhCO0FxRG5xb0ZTOzs7RUFHRztBckRxcW9GWjtBcURscW9GYTs7O0VBR0c7QXJEb3FvRmhCO0FxRDdxb0ZTOzs7RUFHRztBckQrcW9GWjtBcUQ1cW9GYTs7O0VBR0c7QXJEOHFvRmhCO0FxRHZyb0ZTOzs7RUFHRztBckR5cm9GWjtBcUR0cm9GYTs7O0VBR0c7QXJEd3JvRmhCO0FxRGpzb0ZTOzs7RUFHRztBckRtc29GWjtBcURoc29GYTs7O0VBR0c7QXJEa3NvRmhCO0FxRDNzb0ZTOzs7RUFHRztBckQ2c29GWjtBcUQxc29GYTs7O0VBR0c7QXJENHNvRmhCO0FxRHJ0b0ZTOzs7RUFHRztBckR1dG9GWjtBcURwdG9GYTs7O0VBR0c7QXJEc3RvRmhCO0FxRC90b0ZTOzs7RUFHRztBckRpdW9GWjtBcUQ5dG9GYTs7O0VBR0c7QXJEZ3VvRmhCO0FxRHp1b0ZTOzs7RUFHRztBckQydW9GWjtBcUR4dW9GYTs7O0VBR0c7QXJEMHVvRmhCO0FxRG52b0ZTOzs7RUFHRztBckRxdm9GWjtBcURsdm9GYTs7O0VBR0c7QXJEb3ZvRmhCO0FxRDd2b0ZTOzs7RUFHRztBckQrdm9GWjtBcUQ1dm9GYTs7O0VBR0c7QXJEOHZvRmhCO0FxRHZ3b0ZTOzs7RUFHRztBckR5d29GWjtBcUR0d29GYTs7O0VBR0c7QXJEd3dvRmhCO0FBQ0E7O2lCQUVpQjtBcURqd29GakI7RUFDSTtBckRtd29GSjtBcURqd29GQTtFQUNJO0FyRG13b0ZKO0FxRDd2b0ZTO0VBQ0c7QXJEK3ZvRlo7QXFEN3ZvRlM7RUFDRztBckQrdm9GWjtBcURud29GUztFQUNHO0FyRHF3b0ZaO0FxRG53b0ZTO0VBQ0c7QXJEcXdvRlo7QXFEendvRlM7RUFDRztBckQyd29GWjtBcUR6d29GUztFQUNHO0FyRDJ3b0ZaO0FxRC93b0ZTO0VBQ0c7QXJEaXhvRlo7QXFEL3dvRlM7RUFDRztBckRpeG9GWjtBcURyeG9GUztFQUNHO0FyRHV4b0ZaO0FxRHJ4b0ZTO0VBQ0c7QXJEdXhvRlo7QXFEM3hvRlM7RUFDRztBckQ2eG9GWjtBcUQzeG9GUztFQUNHO0FyRDZ4b0ZaO0FxRGp5b0ZTO0VBQ0c7QXJEbXlvRlo7QXFEanlvRlM7RUFDRztBckRteW9GWjtBQUNBOztzQkFFc0I7QXFENXhvRmxCO0VBQ0k7QXJEOHhvRlI7QXFENXhvRkk7O0VBRUk7RUFDQTtFQUNBO0FyRDh4b0ZSO0FxRDV4b0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQ4eG9GUjtBcUQzeG9GUTtFQUNJO0FyRDZ4b0ZaO0FxRDN4b0ZRO0VBQ0k7QXJENnhvRlo7QXFEenhvRlE7RUFDSTtFQUNBO0FyRDJ4b0ZaO0FxRHZ4b0ZRO0VBQ0k7RUFDQTtBckR5eG9GWjtBcURyeG9GUTtFQUNJO0FyRHV4b0ZaO0FxRHB4b0ZLO0VBQ0c7QXJEc3hvRlI7QXFEbnhvRlE7OztFQUdJO0FyRHF4b0ZaO0FxRGx4b0ZZOztFQUVJO0FyRG94b0ZoQjtBcURoeG9GWTs7O0VBR0k7QXJE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RUFDQTtFQUNBO0VBQ0E7QXRENmhyRko7QXNEMWhyRkE7RUFDSTtFQUNBO0VBQ0E7QXRENGhyRko7QXNEemhyRkM7RUFDRztFQUNBO0VBQ0E7QXREMmhyRko7QXNEeGhyRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMGhyRko7QXNEdmhyRkM7RUFDRztFQUNBO0F0RHlockZKO0FzRHRockZDO0VBQ0c7QXREd2hyRko7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QXNEbGhyRmhCO0VBQ0c7QXREb2hyRlI7QXNEamhyRkk7RUFDSTtBdERtaHJGUjtBc0RoaHJGSTtFQUNJO0F0RGtockZSO0FBQ0E7O3FCQUVxQjtBc0Q1Z3JGakI7RUFDSTtFQUNBO0F0RDhnckZSO0FzRDNnckZLO0VBQ0c7RUFDQTtBdEQ2Z3JGUjtBc0QxZ3JGSTtFQUNJO0F0RDRnckZSO0FzRHhnckZRO0VBQ0k7QXREMGdyRlo7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QXNEbGdyRmpCO0VBQ0k7RUFDQTtFQUNBO0F0RG9nckZSO0FzRGpnckZJO0VBQ0k7QXREbWdyRlI7QXNEaGdyRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdERrZ3JGUjtBc0QvL3FGSTtFQUNJO0VBQ0E7RUFDQTtBdERpZ3JGUjtBQUNBLHNCQUFzQjtBc0Q5L3FGZDtFQUNJO0VBQ0E7QXREZ2dyRlo7QXNENy9xRlE7RUFDSTtFQUNBO0F0RCsvcUZaO0FBQ0E7O3FCQUVxQjtBc0R4L3FGakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDAvcUZSO0FzRHYvcUZLO0VBQ0c7QXREeS9xRlI7QXNEdC9xRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdER3L3FGUjtBc0R2L3FGUTtFQUNJO0F0RHkvcUZaO0FzRHIvcUZRO0VBQ0k7RUFDQTtBdER1L3FGWjtBc0RuL3FGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHEvcUZaO0FzRGwvcUZZO0VBQ0k7RUFDQTtBdERvL3FGaEI7QXNEai9xRmdCO0VBQ0k7QXREbS9xRnBCO0FzRGovcUZnQjtFQUNJO0F0RG0vcUZwQjtBc0QvK3FGUTtFQUNJO0F0RGkvcUZaO0FzRDkrcUZZO0VBQ0k7QXREZy9xRmhCO0FzRDMrcUZTO0VBQ0c7QXRENitxRlo7QXNEMytxRlM7RUFDRztBdEQ2K3FGWjtBc0QzK3FGUztFQUNHO0F0RDYrcUZaO0FBQ0Esb0JBQW9CO0FzRHYrcUZaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHkrcUZaO0FzRHQrcUZRO0VBQ0k7QXREdytxRlo7QXNEcitxRlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdER1K3FGWjtBc0RyK3FGUTtFQUNJO0VBQ0E7QXREdStxRlo7QXNEcitxRlM7RUFDRztBdER1K3FGWjtBQUNBLDZCQUE2QjtBc0RuK3FGakI7RUFDSTtBdERxK3FGaEI7QXNEaitxRmE7RUFDRztBdERtK3FGaEI7QXNELzlxRlk7RUFDSTtFQUNBO0F0RGkrcUZoQjtBc0QvOXFGWTtFQUNJO0VBQ0E7QXREaStxRmhCO0FzRDk5cUZZO0VBQ0k7RUFDQTtBdERnK3FGaEI7QXNEOTlxRlk7RUFDSTtBdERnK3FGaEI7QXNENzlxRmdCO0VBQ0k7QXREKzlxRnBCO0FzRDM5cUZnQjtFQUNJO0F0RDY5cUZwQjtBQUNBOztpQkFFaUI7QXNEcjlxRmpCO0VBQ0k7RUFDQTtBdER1OXFGSjtBc0RwOXFGQzs7RUFFRztBdERzOXFGSjtBQUNBOztxQkFFcUI7QXNEajlxRmpCO0VBQ0k7QXREbTlxRlI7QXNEaDlxRkk7RUFDSTtBdERrOXFGUjtBc0Q5OHFGSTtFQUNJO0F0RGc5cUZSO0FzRDc4cUZRO0VBQ0k7QXREKzhxRlo7QXNENThxRlk7RUFDSTtBdEQ4OHFGaEI7QXNEejhxRkk7O0VBRUk7QXREMjhxRlI7QUFDQTs7aUJBRWlCO0FBQ2pCLGFBQWE7QXNELzdxRko7RUFDRztBdERpOHFGWjtBc0Q5N3FGYTtFQUNHO0F0RGc4cUZoQjtBQUNBLFVBQVU7QXNEMzdxRkc7RUFDRztBdEQ2N3FGaEI7QXNEMzdxRmE7O0VBRUc7QXRENjdxRmhCO0FBQ0EsbUJBQW1CO0FzRDE3cUZGO0VBQ0c7QXRENDdxRnBCO0FzRDE3cUZpQjs7RUFFRztBdEQ0N3FGcEI7QXNEdjdxRmE7RUFDRztBdER5N3FGaEI7QXNEdDdxRmlCO0VBQ0c7QXREdzdxRnBCO0FBQ0EsYUFBYTtBc0Q1OXFGSjtFQUNHO0F0RDg5cUZaO0FzRDM5cUZhO0VBQ0c7QXRENjlxRmhCO0FBQ0EsVUFBVTtBc0R4OXFGRztFQUNHO0F0RDA5cUZoQjtBc0R4OXFGYTs7RUFFRztBdEQwOXFGaEI7QUFDQSxtQkFBbUI7QXNEdjlxRkY7RUFDRztBdER5OXFGcEI7QXNEdjlxRmlCOztFQUVHO0F0RHk5cUZwQjtBc0RwOXFGYTtFQUNHO0F0RHM5cUZoQjtBc0RuOXFGaUI7RUFDRztBdERxOXFGcEI7QUFDQSxhQUFhO0FzRHovcUZKO0VBQ0c7QXREMi9xRlo7QXNEeC9xRmE7RUFDRztBdEQwL3FGaEI7QUFDQSxVQUFVO0FzRHIvcUZHO0VBQ0c7QXREdS9xRmhCO0FzRHIvcUZhOztFQUVHO0F0RHUvcUZoQjtBQUNBLG1CQUFtQjtBc0RwL3FGRjtFQUNHO0F0RHMvcUZwQjtBc0RwL3FGaUI7O0VBRUc7QXREcy9xRnBCO0FzRGovcUZhO0VBQ0c7QXREbS9xRmhCO0FzRGgvcUZpQjtFQUNHO0F0RGsvcUZwQjtBQUNBLGFBQWE7QXNEdGhyRko7RUFDRztBdER3aHJGWjtBc0RyaHJGYTtFQUNHO0F0RHVockZoQjtBQUNBLFVBQVU7QXNEbGhyRkc7RUFDRztBdERvaHJGaEI7QXNEbGhyRmE7O0VBRUc7QXREb2hyRmhCO0FBQ0EsbUJBQW1CO0FzRGpockZGO0VBQ0c7QXREbWhyRnBCO0FzRGpockZpQjs7RUFFRztBdERtaHJGcEI7QXNEOWdyRmE7RUFDRztBdERnaHJGaEI7QXNEN2dyRmlCO0VBQ0c7QXREK2dyRnBCO0FBQ0EsYUFBYTtBc0RuanJGSjtFQUNHO0F0RHFqckZaO0FzRGxqckZhO0VBQ0c7QXREb2pyRmhCO0FBQ0EsVUFBVTtBc0QvaXJGRztFQUNHO0F0RGlqckZoQjtBc0QvaXJGYTs7RUFFRztBdERpanJGaEI7QUFDQSxtQkFBbUI7QXNEOWlyRkY7RUFDRztBdERnanJGcEI7QXNEOWlyRmlCOztFQUVHO0F0RGdqckZwQjtBc0QzaXJGYTtFQUNHO0F0RDZpckZoQjtBc0QxaXJGaUI7RUFDRztBdEQ0aXJGcEI7QUFDQSxhQUFhO0FzRGhsckZKO0VBQ0c7QXREa2xyRlo7QXNEL2tyRmE7RUFDRztBdERpbHJGaEI7QUFDQSxVQUFVO0FzRDVrckZHO0VBQ0c7QXREOGtyRmhCO0FzRDVrckZhOztFQUVHO0F0RDhrckZoQjtBQUNBLG1CQUFtQjtBc0Qza3JGRjtFQUNHO0F0RDZrckZwQjtBc0Qza3JGaUI7O0VBRUc7QXRENmtyRnBCO0FzRHhrckZhO0VBQ0c7QXREMGtyRmhCO0FzRHZrckZpQjtFQUNHO0F0RHlrckZwQjtBQUNBLGFBQWE7QXNEN21yRko7RUFDRztBdEQrbXJGWjtBc0Q1bXJGYTtFQUNHO0F0RDhtckZoQjtBQUNBLFVBQVU7QXNEem1yRkc7RUFDRztBdEQybXJGaEI7QXNEem1yRmE7O0VBRUc7QXREMm1yRmhCO0FBQ0EsbUJBQW1CO0FzRHhtckZGO0VBQ0c7QXREMG1yRnBCO0FzRHhtckZpQjs7RUFFRztBdEQwbXJGcEI7QXNEcm1yRmE7RUFDRztBdER1bXJGaEI7QXNEcG1yRmlCO0VBQ0c7QXREc21yRnBCO0FBQ0EsYUFBYTtBc0Qxb3JGSjtFQUNHO0F0RDRvckZaO0FzRHpvckZhO0VBQ0c7QXREMm9yRmhCO0FBQ0EsVUFBVTtBc0R0b3JGRztFQUNHO0F0RHdvckZoQjtBc0R0b3JGYTs7RUFFRztBdER3b3JGaEI7QUFDQSxtQkFBbUI7QXNEcm9yRkY7RUFDRztBdER1b3JGcEI7QXNEcm9yRmlCOztFQUVHO0F0RHVvckZwQjtBc0Rsb3JGYTtFQUNHO0F0RG9vckZoQjtBc0Rqb3JGaUI7RUFDRztBdERtb3JGcEI7QUFDQSxhQUFhO0FzRHZxckZKO0VBQ0c7QXREeXFyRlo7QXNEdHFyRmE7RUFDRztBdER3cXJGaEI7QUFDQSxVQUFVO0FzRG5xckZHO0VBQ0c7QXREcXFyRmhCO0FzRG5xckZhOztFQUVHO0F0RHFxckZoQjtBQUNBLG1CQUFtQjtBc0RscXJGRjtFQUNHO0F0RG9xckZwQjtBc0RscXJGaUI7O0VBRUc7QXREb3FyRnBCO0FzRC9wckZhO0VBQ0c7QXREaXFyRmhCO0FzRDlwckZpQjtFQUNHO0F0RGdxckZwQjtBQUNBLGFBQWE7QXNEcHNyRko7RUFDRztBdERzc3JGWjtBc0Ruc3JGYTtFQUNHO0F0RHFzckZoQjtBQUNBLFVBQVU7QXNEaHNyRkc7RUFDRztBdERrc3JGaEI7QXNEaHNyRmE7O0VBRUc7QXREa3NyRmhCO0FBQ0EsbUJBQW1CO0FzRC9yckZGO0VBQ0c7QXREaXNyRnBCO0FzRC9yckZpQjs7RUFFRztBdERpc3JGcEI7QXNENXJyRmE7RUFDRztBdEQ4cnJGaEI7QXNEM3JyRmlCO0VBQ0c7QXRENnJyRnBCO0FBQ0EsYUFBYTtBc0RqdXJGSjtFQUNHO0F0RG11ckZaO0FzRGh1ckZhO0VBQ0c7QXREa3VyRmhCO0FBQ0EsVUFBVTtBc0Q3dHJGRztFQUNHO0F0RCt0ckZoQjtBc0Q3dHJGYTs7RUFFRztBdEQrdHJGaEI7QUFDQSxtQkFBbUI7QXNENXRyRkY7RUFDRztBdEQ4dHJGcEI7QXNENXRyRmlCOztFQUVHO0F0RDh0ckZwQjtBc0R6dHJGYTtFQUNHO0F0RDJ0ckZoQjtBc0R4dHJGaUI7RUFDRztBdEQwdHJGcEI7QUFDQSxhQUFhO0FzRDl2ckZKO0VBQ0c7QXREZ3dyRlo7QXNEN3ZyRmE7RUFDRztBdEQrdnJGaEI7QUFDQSxVQUFVO0FzRDF2ckZHO0VBQ0c7QXRENHZyRmhCO0FzRDF2ckZhOztFQUVHO0F0RDR2ckZoQjtBQUNBLG1CQUFtQjtBc0R6dnJGRjtFQUNHO0F0RDJ2ckZwQjtBc0R6dnJGaUI7O0VBRUc7QXREMnZyRnBCO0FzRHR2ckZhO0VBQ0c7QXREd3ZyRmhCO0FzRHJ2ckZpQjtFQUNHO0F0RHV2ckZwQjtBQUNBLGFBQWE7QXNEM3hyRko7RUFDRztBdEQ2eHJGWjtBc0QxeHJGYTtFQUNHO0F0RDR4ckZoQjtBQUNBLFVBQVU7QXNEdnhyRkc7RUFDRztBdER5eHJGaEI7QXNEdnhyRmE7O0VBRUc7QXREeXhyRmhCO0FBQ0EsbUJBQW1CO0FzRHR4ckZGO0VBQ0c7QXREd3hyRnBCO0FzRHR4ckZpQjs7RUFFRztBdER3eHJGcEI7QXNEbnhyRmE7RUFDRztBdERxeHJGaEI7QXNEbHhyRmlCO0VBQ0c7QXREb3hyRnBCO0FBQ0EsYUFBYTtBc0R4enJGSjtFQUNHO0F0RDB6ckZaO0FzRHZ6ckZhO0VBQ0c7QXREeXpyRmhCO0FBQ0EsVUFBVTtBc0RwenJGRztFQUNHO0F0RHN6ckZoQjtBc0RwenJGYTs7RUFFRztBdERzenJGaEI7QUFDQSxtQkFBbUI7QXNEbnpyRkY7RUFDRztBdERxenJGcEI7QXNEbnpyRmlCOztFQUVHO0F0RHF6ckZwQjtBc0RoenJGYTtFQUNHO0F0RGt6ckZoQjtBc0QveXJGaUI7RUFDRztBdERpenJGcEI7QUFDQSxhQUFhO0FzRHIxckZKO0VBQ0c7QXREdTFyRlo7QXNEcDFyRmE7RUFDRztBdERzMXJGaEI7QUFDQSxVQUFVO0FzRGoxckZHO0VBQ0c7QXREbTFyRmhCO0FzRGoxckZhOztFQUVHO0F0RG0xckZoQjtBQUNBLG1CQUFtQjtBc0RoMXJGRjtFQUNHO0F0RGsxckZwQjtBc0RoMXJGaUI7O0VBRUc7QXREazFyRnBCO0FzRDcwckZhO0VBQ0c7QXREKzByRmhCO0FzRDUwckZpQjtFQUNHO0F0RDgwckZwQjtBQUNBOztxQkFFcUI7QUFDckIsYUFBYTtBc0RwMHJGVDtFQUNJO0F0RHMwckZSO0FzRHAwckZJOztFQUVJO0F0RHMwckZSO0FBQ0E7O3lCQUV5QjtBQUN6QixhQUFhO0FzRGowckZMO0VBQ0k7QXREbTByRlo7QXNEajByRlE7O0VBRUk7QXREbTByRlo7QUFDQTs7aUJBRWlCO0FzRHZ6ckZSO0VBQ0c7RUFDQTtBdER5enJGWjtBc0R2enJGUztFQUNHO0F0RHl6ckZaO0FzRHZ6ckZTOztFQUVHO0VBQ0E7QXREeXpyRlo7QXNEdHpyRmE7O0VBRUc7QXREd3pyRmhCO0FzRHR6ckZhO0VBQ0c7QXREd3pyRmhCO0FBQ0EsbUJBQW1C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Ozs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RGdrdUZaO0F1RDdqdUZhO0VBQ0c7RUFDQTtBdkQranVGaEI7QXVEeGx1RlM7RUFDRztFQUNBO0F2RDBsdUZaO0F1RHBsdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RGlsdUZaO0F1RDlrdUZhO0VBQ0c7RUFDQTtBdkRnbHVGaEI7QXVEem11RlM7RUFDRztFQUNBO0F2RDJtdUZaO0F1RHJtdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RGttdUZaO0F1RC9sdUZhO0VBQ0c7RUFDQTtBdkRpbXVGaEI7QXVEMW51RlM7RUFDRztFQUNBO0F2RDRudUZaO0F1RHRudUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RG1udUZaO0F1RGhudUZhO0VBQ0c7RUFDQTtBdkRrbnVGaEI7QXVEM291RlM7RUFDRztFQUNBO0F2RDZvdUZaO0F1RHZvdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RG9vdUZaO0F1RGpvdUZhO0VBQ0c7RUFDQTtBdkRtb3VGaEI7QXVENXB1RlM7RUFDRztFQUNBO0F2RDhwdUZaO0F1RHhwdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHFwdUZaO0F1RGxwdUZhO0VBQ0c7RUFDQTtBdkRvcHVGaEI7QXVEN3F1RlM7RUFDRztFQUNBO0F2RCtxdUZaO0F1RHpxdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHNxdUZaO0F1RG5xdUZhO0VBQ0c7RUFDQTtBdkRxcXVGaEI7QXVEOXJ1RlM7RUFDRztFQUNBO0F2RGdzdUZaO0F1RDFydUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHVydUZaO0F1RHBydUZhO0VBQ0c7RUFDQTtBdkRzcnVGaEI7QXVEL3N1RlM7RUFDRztFQUNBO0F2RGl0dUZaO0F1RDNzdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHdzdUZaO0F1RHJzdUZhO0VBQ0c7RUFDQTtBdkR1c3VGaEI7QXVEaHV1RlM7RUFDRztFQUNB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OWh3Ri9CO0VBQ0k7QXhEZ2l3Rko7QXdEN2h3RkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEK2h3Rko7QXdENWh3RkE7RUFDSTtBeEQ4aHdGSjtBQUNBOztpQkFFaUI7QXdEMWh3RmpCO0VBQ0k7QXhENGh3Rko7QUFDQTs7aUJBRWlCO0F3RHhod0ZqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEQwaHdGSjtBd0R4aHdGQTtFQUNJO0F4RDBod0ZKO0F3RHhod0ZBO0VBQ0k7QXhEMGh3Rko7QUFDQTs7aUJBRWlCO0F3RHRod0ZqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEd2h3Rko7QXdEdGh3RkE7RUFDSTtBeER3aHdGSjtBQUNBLFVBQVU7QXdEcmh3RlY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEdWh3Rko7QXdEcmh3RkE7RUFDSTtFQUNBO0VBQ0E7QXhEdWh3Rko7QUFDQTs7aUJBRWlCO0F3RG5od0ZqQjtFQUNJO0F4RHFod0ZKO0F3RGxod0ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERvaHdGSjtBd0RsaHdGQTtFQUNJO0VBQ0E7RUFDQTtBeERvaHdGSjtBd0RsaHdGQTtFQUNJO0VBQ0E7QXhEb2h3Rko7QUFDQTs7aUJBRWlCO0F3RGhod0ZqQjtFQUNJO0F4RGtod0ZKO0F3RGhod0ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhEa2h3Rko7QXdEaGh3RkE7RUFDSTtFQUNBO0VBQ0E7QXhEa2h3Rko7QUFDQSxxQkFBcUI7QXdEL2d3RnJCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEaWh3Rko7QUFDQTs7K0JBRStCO0FBQy9COzt1QkFFdUI7QXdENWd3RnZCO0VBQ0k7RUFDQTtFQUNBO0F4RDhnd0ZKO0FBQ0E7OzJCQUUy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UTtFQUNJO0VBQ0E7RUFDQTtBN0RnMTRGWjtBNkQ5MDRGUTtFQUNJO0VBQ0E7RUFDQTtBN0RnMTRGWjtBNkQ5MDRGUTtFQUNJO0VBQ0E7RUFDQTtBN0RnMTRGWjtBNkQ1MDRGUTtFQUNJO0VBQ0E7RUFDQTtBN0Q4MDRGWjtBNkQ1MDRGUTtFQUNJO0VBQ0E7RUFDQTtBN0Q4MDRGWjtBNkQ1MDRGUTtFQUNJO0VBQ0E7RUFDQTtBN0Q4MDRGWjtBNkQzMDRGSTtFQUNJO0VBQ0E7RUFDQTtBN0Q2MDRGUjtBNkQzMDRGSTs7O0VBR0k7QTdENjA0RlI7QTZEMzA0Rkk7RUFDSTtFQUNBO0E3RDYwNEZSO0E2RDUwNEZRO0VBQ0k7QTdEODA0Rlo7QTZEMzA0Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0Q2MDRGUjtBNkQ1MDRGUTtFQUNJO0E3RDgwNEZaO0E2RDUwNEZTO0VBQ0c7QTdEODA0Rlo7QTZEMzA0Rlk7O0VBRUk7RUFDQTtBN0Q2MDRGaEI7QTZEMTA0RmdCOztFQUVJO0VBQ0E7QTdENDA0RnBCO0E2RHYwNEZZOztFQUVJO0E3RHkwNEZoQjtBNkR0MDRGUTs7RUFFSTtFQUNBO0E3RHcwNEZaO0E2RHQwNEZRO0VBQ0k7QTdEdzA0Rlo7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEdjA0Rlk7RUFDSTtBN0R5MDRGaEI7QTZEcjA0Rlk7RUFDSTtFQUNBO0E3RHUwNEZoQjtBNkRyMDRGWTtFQUNJO0E3RHUwNEZoQjtBNkRyMDRGWTtFQUNJO0E3RHUwNEZoQjtBNkR0MDRGaUI7RUFDRztBN0R3MDRGcEI7QTZEdDA0RmlCO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0R3MDRGcEI7QTZEcjA0RnFCO0VBQ0c7RUFDQTtBN0R1MDRGeEI7QTZEcjA0Rm9CO0VBQ0k7QTdEdTA0RnhCO0E2RGowNEZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEbTA0RmhCO0E2RGwwNEZnQjtFQUNJO0E3RG8wNEZwQjtBNkRqMDRGWTtFQUNJO0VBQ0E7QTdEbTA0RmhCO0E2RGowNEZhO0VBQ0c7RUFDQTtBN0RtMDRGaEI7QTZEbDA0RmdCO0VBQ0k7QTdEbzA0RnBCO0E2RGwwNEZnQjtFQUNJO0E3RG8wNEZwQjtBNkRoMDRGUTtFQUNJO0E3RGswNEZaO0E2RGgwNEZnQjtFQUNJO0VBQ0E7QTdEazA0RnBCO0E2RGgwNEZ3QjtFQUNJO0E3RGswNEY1QjtBNkRoMDRGd0I7RUFDSTtBN0RrMDRGNUI7QTZEOXo0RmdCO0VBQ0k7RUFDQTtBN0RnMDRGcEI7QTZEOXo0RndCO0VBQ0k7QTdEZzA0RjVCO0E2RDl6NEZ3QjtFQUNJO0E3RGcwNEY1QjtBNkQxejRGZ0I7RUFDSTtBN0Q0ejRGcEI7QTZEMXo0RmdCO0VBQ0k7QTdENHo0RnBCO0E2RHh6NEZRO0VBQ0k7RUFDQTtBN0QwejRGWjtBNkR4ejRGZ0I7RUFDSTtBN0QwejRGcEI7QTZEeHo0RmdCO0VBQ0k7QTdEMHo0RnBCO0E2RHZ6NEZZO0VBQ0k7QTdEeXo0RmhCO0E2RHR6NEZRO0VBQ0k7QTdEd3o0Rlo7QTZEdHo0RlM7RUFDRztBN0R3ejRGWjtBNkRyejRGWTtFQUNJO0E3RHV6NEZoQjtBNkRyejRGWTtFQUNJO0VBQ0E7QTdEdXo0RmhCO0E2RHR6NEZpQjtFQUNHO0E3RHd6NEZwQjtBNkR0ejRGaUI7RUFDRztFQUNBO0E3RHd6NEZwQjtBNkR0ejRGZ0I7RUFDSTtBN0R3ejRGcEI7QTZEbno0Rlk7OztFQUdJO0E3RHF6NEZoQjtBNkRsejRGUTtFQUNJO0E3RG96NEZaO0E2RG56NEZZO0VBQ0k7QTdEcXo0RmhCO0E2RG56NEZZO0VBQ0k7QTdEcXo0RmhCO0E2RG56NEZhO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RxejRGaEI7QTZEcHo0RmlCO0VBQ0c7QTdEc3o0RnBCO0E2RHB6NEZnQjtFQUNJO0E3RHN6NEZwQjtBNkRwejRGZ0I7RUFDSTtBN0RzejRGcEI7QTZEcHo0RmdCO0VBQ0k7QTdEc3o0RnBCO0E2RDV5NEZZO0VBQ0k7QTdEOHk0RmhCO0E2RDV5NEZZO0VBQ0k7RUFDQTtBN0Q4eTRGaEI7QTZEM3k0RlE7O0VBRUk7RUFDQTtBN0Q2eTRGWjtBNkQzeTRGUTtFQUNJO0VBQ0E7QTdENnk0Rlo7QTZENXk0Rlk7O0VBRUk7RUFDQTtBN0Q4eTRGaEI7QTZEM3k0RlE7RUFDSTtFQUNBO0E3RDZ5NEZaO0E2RHh5NEZZO0VBQ0k7QTdEMHk0RmhCO0E2RHh5NEZZO0VBQ0k7RUFDQTtBN0QweTRGaEI7QTZEdnk0RlE7O0VBRUk7RUFDQTtBN0R5eTRGWjtBNkR2eTRGUTtFQUNJO0VBQ0E7QTdEeXk0Rlo7QTZEeHk0Rlk7O0VBRUk7RUFDQTtBN0QweTRGaEI7QTZEdnk0RlE7RUFDSTtFQUNBO0E3RHl5NEZaO0E2RGx5NEZRO0VBQ0k7RUFDQTtBN0RveTRGWjtBNkRueTRGWTtFQUNJO0E3RHF5NEZoQjtBNkRueTRGWTtFQUNJO0E3RHF5NEZoQjtBNkRoeTRGUTtFQUNJO0VBQ0E7QTdEa3k0Rlo7QTZEank0Rlk7RUFDSTtBN0RteTRGaEI7QTZEank0Rlk7RUFDSTtBN0RteTRGaEI7QUFDQTs7K0JBRStCO0E2RDV4NEYvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Q4eDRGSjtBNkQ3eDRGSTtFQUNJO0VBQ0E7RUFDQTtBN0QreDRGUjtBNkQ3eDRGSTtFQUNJO0VBQ0E7QTdEK3g0RlI7QTZEN3g0Rkk7RUFDSTtFQUNBO0E3RCt4NEZSO0E2RDd4NEZJO0VBQ0k7RUFDQTtBN0QreDRGUjtBNkQ3eDRGSTtFQUNJO0VBQ0E7QTdEK3g0RlI7QTZEN3g0Rkk7RUFDSTtFQUNBO0E3RCt4NEZSO0E2RDd4NEZLO0VBQ0c7QTdEK3g0RlI7QTZEM3g0RmE7RUFDRztBN0Q2eDRGaEI7QTZEM3g0Rlk7RUFDSTtBN0Q2eDRGaEI7QTZEeng0Rlk7RUFDSTtBN0QyeDRGaEI7QTZEeHg0RlE7RUFDSTtBN0QweDRGWjtBNkR2eDRGWTtFQUNJO0VBQ0E7QTdEeXg0RmhCO0E2RHZ4NEZZO0VBQ0k7RUFDQTtBN0R5eDRGaEI7QTZEdng0Rlk7RUFDSTtFQUNBO0E3RHl4NEZoQjtBNkR2eDRGWTtFQUNJO0VBQ0E7QTdEeXg0RmhCO0E2RHJ4NEZZOztFQUVJO0VBQ0E7QTdEdXg0RmhCO0E2RHB4NEZRO0VBQ0k7QTdEc3g0Rlo7QTZEcHg0RlE7RUFDSTtBN0RzeDRGWjtBNkRseDRGUTtFQUNJO0E3RG94NEZaO0E2RGx4NEZRO0VBQ0k7QTdEb3g0Rlo7QTZEbHg0RlE7RUFDSTtBN0RveDRGWjtBNkRqeDRGYTs7RUFFRztBN0RteDRGaEI7QTZEaHg0RlE7RUFDSTtFQUNBO0U3RGt4NEZWLGFBQWE7QUFDZjtBNkRoeDRGWTs7RUFFSTtBN0RreDRGaEI7QTZENXc0RlE7RUFDSTtFQUNBO0E3RDh3NEZaO0E2RDV3NEZRO0VBQ0k7RUFDQTtBN0Q4dzRGWjtBNkQxdzRGSTtFQUNJO0E3RDR3NEZSO0E2RDN3NEZRO0VBQ0k7RUFDQTtFQUNBO0E3RDZ3NEZaO0E2RDN3NEZRO0VBQ0k7QTdENnc0Rlo7QTZEM3c0RlE7RUFDSTtFQUNBO0E3RDZ3NEZaO0E2RDV3NEZZO0VBQ0k7QTdEOHc0RmhCO0E2RDd3NEZnQjtFQUNJO0VBQ0E7QTdEK3c0RnBCO0E2RHh3NEZBO0VBQ0k7QTdEMHc0Rko7QTZEcnc0RkE7O0VBRUk7QTdEdXc0Rko7QTZEcHc0RkE7RUFDSTtBN0RzdzRGSjtBNkRsdzRGSTs7RUFFSTtFQUNBO0VBQ0E7QTdEb3c0RlI7QTZEbHc0RlM7Ozs7OztFQUdHO0E3RHV3NEZaO0E2RG53NEZJOztFQUVJO0E3RHF3NEZSO0E2RGx3NEZJOztFQUVJO0E3RG93NEZSO0E2RGx3NEZTOztFQUNHO0VBQ0E7QTdEcXc0Rlo7QUFDQTs7Z0JBRWdCO0E2RDF2NEZQO0VBQ0c7RUFDQTtBN0Q0djRGWjtBNkR6djRGYTs7RUFFRztFQUNBO0E3RDJ2NEZoQjtBNkRudzRGUztFQUNHO0VBQ0E7QTdEcXc0Rlo7QTZEbHc0RmE7O0VBRUc7RUFDQTtBN0RvdzRGaEI7QTZENXc0RlM7RUFDRztFQUNBO0E3RDh3NEZaO0E2RDN3NEZhOztFQUVHO0VBQ0E7QTdENnc0RmhCO0E2RHJ4NEZTO0VBQ0c7RUFDQTtBN0R1eDRGWjtBNkRweDRGYTs7RUFFRztFQUNBO0E3RHN4NEZoQjtBNkQ5eDRGUztFQUNHO0VBQ0E7QTdEZ3k0Rlo7QTZEN3g0RmE7O0VBRUc7RUFDQTtBN0QreDRGaEI7QTZEdnk0RlM7RUFDRztFQUNBO0E3RHl5NEZaO0E2RHR5NEZhOztFQUVHO0VBQ0E7QTdEd3k0RmhCO0E2RGh6NEZTO0VBQ0c7RUFDQTtBN0RrejRGWjtBNkQveTRGYTs7RUFFRztFQUNBO0E3RGl6NEZoQjtBNkR6ejRGUztFQUNHO0VBQ0E7QTdEMno0Rlo7QTZEeHo0RmE7O0VBRUc7RUFDQTtBN0QwejRGaEI7QTZEbDA0RlM7RUFDRztFQUNBO0E3RG8wNEZaO0E2RGowNEZhOztFQUVHO0VBQ0E7QTdEbTA0RmhCO0E2RDMwNEZTO0VBQ0c7RUFDQTtBN0Q2MDRGWjtBNkQxMDRGYTs7RUFFRztFQUNBO0E3RDQwNEZoQjtBNkRwMTRGUztFQUNHO0VBQ0E7QTdEczE0Rlo7QTZEbjE0RmE7O0VBRUc7RUFDQTtBN0RxMTRGaEI7QTZENzE0RlM7RUFDRztFQUNBO0E3RCsxNEZaO0E2RDUxNEZhOztFQUVHO0VBQ0E7QTdEODE0RmhCO0E2RHQyNEZTO0VBQ0c7RUFDQTtBN0R3MjRGWjtBNkRyMjRGYTs7RUFFRztFQUNBO0E3RHUyNEZoQjtBNkQvMjRGUztFQUNHO0VBQ0E7QTdEaTM0Rlo7QTZEOTI0RmE7O0VBRUc7RUFDQTtBN0RnMzRGaEI7QTZEeDM0RlM7RUFDRztFQUNBO0E3RDAzNEZaO0E2RHYzNEZhOztFQUVHO0VBQ0E7QTdEeTM0RmhCO0E2RGwzNEZJO0VBQ0k7RUFDQTtBN0RvMzRGUjtBNkRoMzRGQTtFQUVROzs7O0lBSUk7SUFDQTtFN0RpMzRGVjtFNkQvMjRGTztJQUNHO0U3RGkzNEZWO0U2RDkyNEZVOztJQUVJO0U3RGczNEZkO0FBQ0Y7QUFDQTs7bUJBRW1CO0E2RDEyNEZmO0VBQ0k7SUFDSTtFN0Q0MjRGVjtF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aEI7QThEcHI3RmlCO0VBQ0c7QTlEc3I3RnBCO0E4RDNyN0ZhO0VBQ0c7QTlENnI3RmhCO0E4RDFyN0ZpQjtFQUNHO0E5RDRyN0ZwQjtBOERqczdGYTtFQUNHO0E5RG1zN0ZoQjtBOERoczdGaUI7RUFDRztBOURrczdGcEI7QThEdnM3RmE7RUFDRztBOUR5czdGaEI7QThEdHM3RmlCO0VBQ0c7QTlEd3M3RnBCO0E4RDdzN0ZhO0VBQ0c7QTlEK3M3RmhCO0E4RDVzN0ZpQjtFQUNHO0E5RDhzN0ZwQjtBOERudDdGYTtFQUNHO0E5RHF0N0ZoQjtBOERsdDdGaUI7RUFDRztBOURvdDdGcEI7QThEenQ3RmE7RUFDRztBOUQydDdGaEI7QThEeHQ3RmlCO0VBQ0c7QTlEMHQ3RnBCO0E4RC90N0ZhO0VBQ0c7QTlEaXU3RmhCO0E4RDl0N0ZpQjtFQUNHO0E5RGd1N0ZwQjtBOERydTdGYTtFQUNHO0E5RHV1N0ZoQjtBOERwdTdGaUI7RUFDRztBOURzdTdGcEI7QThEM3U3RmE7RUFDRztBOUQ2dTdGaEI7QThEMXU3RmlCO0VBQ0c7QTlENHU3RnBCO0E4RGp2N0ZhO0VBQ0c7QTlEbXY3RmhCO0E4RGh2N0ZpQjtFQUNHO0E5RGt2N0ZwQjtBOER2djdGYTtFQUNHO0E5RHl2N0ZoQjtBOER0djdGaUI7RUFDRztBOUR3djdGcEI7QUFDQTs7K0JBRStCO0FBQy9COzs7Ozs7Q0FNQztBQUNEOztxQkFFcUI7QStEaDI3RmpCO0VBQ0k7QS9EazI3RlI7QStEaDI3Rkk7RUFDSTtBL0RrMjdGUjtBK0RoMjdGSTs7RUFFSTtBL0RrMjdGUjtBK0RoMjdGSTtFQUNJO0EvRGsyN0ZSO0FBQ0EsT0FBTztBK0QvMTdGSDtFQUNJO0lBQ0k7SUFDQTtFL0RpMjdGVjtFK0QvMTdGTTtJQUNJO0lBQ0E7SUFDQTtFL0RpMjdGVjtFK0QvMTdGTTtJQUNJO0lBQ0E7SUFDQTtFL0RpMjdGVjtFK0QvMTdGTTtJQUNJO0lBQ0E7RS9EaTI3RlY7QUFDRjtBQUNBLFFBQVE7QStEOTE3Rko7RUFDSTtJQUNJO0lBQ0E7RS9EZzI3RlY7RStEOTE3Rk07SUFDSTtJQUNBO0UvRGcyN0ZWO0UrRDkxN0ZNO0lBQ0k7RS9EZzI3RlY7RStEOTE3Rk07SUFDSTtJQUNBO0lBQ0E7RS9EZzI3RlY7QUFDRjtBK0Q5MTdGSTtFQUNJO0lBQ0k7SUFDQTtFL0RnMjdGVjtFK0Q5MTdGTTtJQUNJO0lBQ0E7RS9EZzI3RlY7RStEOTE3Rk07SUFDSTtFL0RnMjdGVjtFK0Q5MTdGTTtJQUNJO0lBQ0E7SUFDQTtFL0RnMjdGVjtBQUNGO0FBQ0E7O3FCQUVxQjtBK0QxMTdGakI7RUFDSTtFQUNBO0VBQ0E7QS9ENDE3RlI7QStEMTE3Rkk7RUFDSTtBL0Q0MTdGUjtBK0QxMTdGSTtFQUNJO0EvRDQxN0ZSO0FBQ0EsU0FBUztBK0R6MTdGTDtFQUNJO0lBQ0k7SUFDQTtFL0QyMTdGVjtFK0R6MTdGTTtJQUNJO0lBQ0E7RS9EMjE3RlY7QUFDRjtBK0R6MTdGSTtFQUNJO0lBQ0k7SUFDQTtFL0QyMTdGVjtFK0R6MTdGTTtJQUNJO0lBQ0E7RS9EMjE3RlY7QUFDRjtBQUNBOztxQkFFcUI7QStEcjE3RmpCO0VBQ0k7QS9EdTE3RlI7QStEcjE3Rkk7RUFDSTtBL0R1MTdGUjtBK0RyMTdGSTtFQUNJO0EvRHUxN0ZSO0ErRHIxN0ZJO0VBQ0k7QS9EdTE3RlI7QStEcjE3Rkk7RUFDSTtBL0R1MTdGUjtBK0RwMTdGSTtFQUNJO0EvRHMxN0ZSO0ErRHAxN0ZJO0VBQ0k7QS9EczE3RlI7QStEcDE3Rkk7RUFDSTtBL0RzMTdGUjtBK0RwMTdGSTtFQUNJO0EvRHMxN0ZSO0ErRHAxN0ZJO0VBQ0k7QS9EczE3RlI7QUFDQSxPQUFPO0ErRG4xN0ZIO0VBQ0k7SUFDSTtFL0RxMTdGVjtFK0RuMTdGTTtJQUNJO0UvRHExN0ZWO0FBQ0Y7QStEbjE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EcTE3RlY7RStEbjE3Rk07SUFDSTtJQUNBO0UvRHExN0ZWO0FBQ0Y7QStEbjE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EcTE3RlY7RStEbjE3Rk07SUFDSTtJQUNBO0UvRHExN0ZWO0FBQ0Y7QStEbjE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EcTE3RlY7RStEbjE3Rk07SUFDSTtJQUNBO0UvRHExN0ZWO0FBQ0Y7QStEbjE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EcTE3RlY7RStEbjE3Rk07SUFDSTtJQUNBO0UvRHExN0ZWO0FBQ0Y7QUFDQSxRQUFRO0ErRGwxN0ZKO0VBQ0k7SUFDSTtFL0RvMTdGVjtFK0RsMTdGTTtJQUNJO0UvRG8xN0ZWO0FBQ0Y7QStEbDE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EbzE3RlY7RStEbDE3Rk07SUFDSTtJQUNBO0UvRG8xN0ZWO0FBQ0Y7QStEbDE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EbzE3RlY7RStEbDE3Rk07SUFDSTtJQUNBO0UvRG8xN0ZWO0FBQ0Y7QStEbDE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EbzE3RlY7RStEbDE3Rk07SUFDSTtJQUNBO0UvRG8xN0ZWO0FBQ0Y7QStEbDE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EbzE3RlY7RStEbDE3Rk07SUFDSTtJQUNBO0UvRG8xN0ZWO0FBQ0Y7QUFDQTs7cUJBRXFCO0ErRDkwN0ZqQjs7RUFFSTtBL0RnMTdGUjtBK0Q5MDdGSTtFQUNJO0EvRGcxN0ZSO0ErRDkwN0ZJO0VBQ0k7QS9EZzE3RlI7QStEOTA3Rkk7RUFDSTtBL0RnMTdGUjtBK0Q5MDdGSTtFQUNJO0EvRGcxN0ZSO0FBQ0EsT0FBTztBK0Q3MDdGSDtFQUNJO0lBQ0k7SUFDQTtFL0QrMDdGVjtFK0Q3MDdGTTtJQUNJO0lBQ0E7RS9EKzA3RlY7QUFDRjtBK0Q3MDdGSTtFQUNJO0lBQ0k7SUFDQTtFL0QrMDdGVjtFK0Q3MDdGTTtJQUNJO0lBQ0E7RS9EKzA3RlY7QUFDRjtBQUNBLFFBQVE7QStENTA3Rko7RUFDSTtJQUNJO0lBQ0E7RS9EODA3RlY7RStENTA3Rk07SUFDSTtJQUNBO0UvRDgwN0ZWO0FBQ0Y7QStENTA3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EODA3RlY7RStENTA3Rk07SUFDSTtJQUNBO0UvRDgwN0ZWO0FBQ0Y7QUFDQTs7cUJBRXFCO0ErRHgwN0ZqQjtFQUNJO0EvRDAwN0ZSO0ErRHgwN0ZJO0VBQ0k7QS9EMDA3RlI7QStEdjA3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EeTA3RlY7RStEdjA3Rk07SUFDSTtJQUNBO0UvRHkwN0ZWO0FBQ0Y7QUFDQSxRQUFRO0ErRHQwN0ZKO0VBQ0k7SUFDSTtJQUNBO0UvRHcwN0ZWO0UrRHQwN0ZNO0lBQ0k7SUFDQTtFL0R3MDdGVjtBQUNGO0FBQ0E7O3FCQUVxQjtBQUNyQixXQUFXO0ErRGwwN0ZQO0VBQ0k7RUFDQTtBL0RvMDdGUjtBK0RsMDdGSTtFQUNJO0EvRG8wN0ZSO0ErRGwwN0ZJO0VBQ0k7QS9EbzA3RlI7QStEbDA3Rkk7RUFDSTtBL0RvMDdGUjtBK0RsMDdGSTtFQUNJO0EvRG8wN0ZSO0ErRGwwN0ZJO0VBQ0k7QS9EbzA3RlI7QUFDQSxZQUFZO0ErRGowN0ZSO0VBQ0k7QS9EbTA3RlI7QStEajA3Rkk7RUFDSTtBL0RtMDdGUjtBK0RqMDdGSTtFQUNJO0EvRG0wN0ZSO0ErRGowN0ZJO0VBQ0k7QS9EbTA3RlI7QStEajA3Rkk7RUFDSTtBL0RtMDdGUjtBQUNBLE9BQU87QStEaDA3Rkg7RUFDSTtJQUNJO0lBQ0E7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7SUFDQTtFL0RrMDdGVjtBQUNGO0ErRGgwN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtBQUNGO0ErRGgwN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtBQUNGO0ErRGgwN0ZJO0VB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LFNBQVM7QStEang3Rkw7RUFDSTtJQUNJO0UvRG14N0ZWO0UrRGp4N0ZNOztJQUVJO0UvRG14N0ZWO0UrRGp4N0ZNOzs7O0lBSUk7RS9EbXg3RlY7RStEang3Rk07OztJQUdJO0UvRG14N0ZWO0UrRGp4N0ZNO0lBQ0k7RS9EbXg3RlY7QUFDRjtBQUNBLFVBQVU7QStEL3c3Rk47RUFDSTtJQUNJO0lBQ0E7RS9EaXg3RlY7RStEL3c3Rk07SUFDSTtJQUNBO0UvRGl4N0ZWO0UrRC93N0ZNO0lBQ0k7SUFDQTtFL0RpeDdGVjtBQUNGO0FBQ0EsV0FBVztBK0Q3dzdGUDtFQUNJO0lBQ0k7RS9EK3c3RlY7RStEN3c3Rk07SUFDSTtFL0QrdzdGVjtFK0Q3dzdGTTtJQUNJO0UvRCt3N0ZWO0UrRDd3N0ZNO0lBQ0k7RS9EK3c3RlY7RStEN3c3Rk07SUFDSTtFL0QrdzdGVjtFK0Q3dzdGTTtJQUNJO0UvRCt3N0ZWO0UrRDd3N0ZNO0lBQ0k7RS9EK3c3RlY7QUFDRjtBQUNBLFNBQVM7QStEM3c3Rkw7RUFDSTtJQUNJO0UvRDZ3N0ZWO0UrRDN3N0ZNO0lBQ0k7RS9ENnc3RlY7RStEM3c3Rk07SUFDSTtFL0Q2dzdGVjtBQUNGO0FBQ0E7OytCQUUrQiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3NlbWFudGljLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZ2xvYmFscy9yZXNldC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L2dsb2JhbHMvcmVzZXQub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZ2xvYmFscy9zaXRlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3NlbWFudGljLXVpL3NpdGUvZ2xvYmFscy9zaXRlLm92ZXJyaWRlcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9idXR0b24ubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9jb250YWluZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9kaXZpZGVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvdGhlbWVzL2RlZmF1bHQvZWxlbWVudHMvZGl2aWRlci5vdmVycmlkZXMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvZW1vamkubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9mbGFnLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvaGVhZGVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvaWNvbi5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2ltYWdlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvaW5wdXQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9sYWJlbC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2xpc3QubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9sb2FkZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9wbGFjZWhvbGRlci5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL3JhaWwubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9yZXZlYWwubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9zZWdtZW50Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvc3RlcC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L2VsZW1lbnRzL3N0ZXAub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL3RleHQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9jb2xsZWN0aW9ucy9icmVhZGNydW1iLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvZm9ybS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2NvbGxlY3Rpb25zL2dyaWQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9jb2xsZWN0aW9ucy9tZW51Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3NlbWFudGljLXVpL3NpdGUvY29sbGVjdGlvbnMvbWVudS5vdmVycmlkZXMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvbWVzc2FnZS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2NvbGxlY3Rpb25zL3RhYmxlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3NlbWFudGljLXVpL3NpdGUvY29sbGVjdGlvbnMvdGFibGUub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL3ZpZXdzL2FkLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvdmlld3MvY2FyZC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL3ZpZXdzL2NvbW1lbnQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy92aWV3cy9mZWVkLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvdmlld3MvaXRlbS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL3ZpZXdzL3N0YXRpc3RpYy5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvYWNjb3JkaW9uLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvdGhlbWVzL2RlZmF1bHQvbW9kdWxlcy9hY2NvcmRpb24ub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvY2FsZW5kYXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL2NoZWNrYm94Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvdGhlbWVzL2RlZmF1bHQvbW9kdWxlcy9jaGVja2JveC5vdmVycmlkZXMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9kaW1tZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL2Ryb3Bkb3duLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvdGhlbWVzL2RlZmF1bHQvbW9kdWxlcy9kcm9wZG93bi5vdmVycmlkZXMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9lbWJlZC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvZmx5b3V0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9tb2RhbC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvbmFnLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9wb3B1cC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvcHJvZ3Jlc3MubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3NsaWRlci5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvcmF0aW5nLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9zZWFyY2gubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3NoYXBlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9zaWRlYmFyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9zdGlja3kubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3RhYi5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvdG9hc3QubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3RyYW5zaXRpb24ubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy90aGVtZXMvZGVmYXVsdC9tb2R1bGVzL3RyYW5zaXRpb24ub3ZlcnJpZGVzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilZcgICDilojilojilZfilojilojilojilojilojilojilojilojilZfilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXICAgIOKWiOKWiOKVlyAgIOKWiOKWiOKVl+KWiOKWiOKVl1xu4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4paI4paI4pWX4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdICAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkVxu4paI4paI4paI4paI4paI4pWXICDilojilojilZEgICDilojilojilZHilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZTilojilojilZcg4paI4paI4pWRICAg4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWRICAgICAgICAg4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWRXG7ilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkSAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkSAgICAgICAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkVxu4paI4paI4pWRICAgICDilZrilojilojilojilojilojilojilZTilZ3ilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKVmuKWiOKWiOKWiOKWiOKWiOKWiOKVlyAgICDilZrilojilojilojilojilojilojilZTilZ3ilojilojilZFcbuKVmuKVkOKVnSAgICAgIOKVmuKVkOKVkOKVkOKVkOKVkOKVnSDilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZDilZDilZ0gICDilZrilZDilZ0gICDilZrilZDilZ0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdICAgICDilZrilZDilZDilZDilZDilZDilZ0g4pWa4pWQ4pWdXG5cbiAgSW1wb3J0IHRoaXMgZmlsZSBpbnRvIHlvdXIgTEVTUyBwcm9qZWN0IHRvIHVzZSBGb21hbnRpYy1VSSB3aXRob3V0IGJ1aWxkIHRvb2xzXG4qL1xuLyogR2xvYmFsICovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSZXNldFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSZXNldFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSZXNldFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJvcmRlci1Cb3ggKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi8qIGlQYWQgSW5wdXQgU2hhZG93cyAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIG1vYmlsZSBmaXJlZm94IHRvbyEgKi9cbn1cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDEgKi9cbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiAxICovXG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNpdGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0b0xhdGluLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvTGF0aW4tUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAsIFUrMDAwRCwgVSswMDIwLTAwN0UsIFUrMDBBMC0wMTdGLCBVKzAxOTIsIFUrMDIxOC0wMjFCLCBVKzAyMzcsIFUrMDJDNi0wMkM3LCBVKzAyQzksIFUrMDJEOC0wMkRELCBVKzAzOTQsIFUrMDNBOSwgVSswM0JDLCBVKzAzQzAsIFUrMUU4MC0xRTg1LCBVKzIwMTAsIFUrMjAxMy0yMDE0LCBVKzIwMTgtMjAxQSwgVSsyMDFDLTIwMUUsIFUrMjAyMC0yMDIyLCBVKzIwMjYsIFUrMjAzMCwgVSsyMDM5LTIwM0EsIFUrMjA0NCwgVSsyMEEzLTIwQTQsIFUrMjBBNywgVSsyMEFDLCBVKzIxMTMsIFUrMjEyMiwgVSsyMTI2LCBVKzIxMkUsIFUrMjIwMiwgVSsyMjA2LCBVKzIyMEYsIFUrMjIxMS0yMjEyLCBVKzIyMTUsIFUrMjIxOS0yMjFBLCBVKzIyMUUsIFUrMjIyQiwgVSsyMjQ4LCBVKzIyNjAsIFUrMjI2NC0yMjY1LCBVKzI1Q0EsIFUrRjhGRiwgVStGQjAwLUZCMDQ7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0b0xhdGluLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMCwgVSswMDBELCBVKzAwMjAtMDA3RSwgVSswMEEwLTAxN0YsIFUrMDE5MiwgVSswMjE4LTAyMUIsIFUrMDIzNywgVSswMkM2LTAyQzcsIFUrMDJDOSwgVSswMkQ4LTAyREQsIFUrMDM5NCwgVSswM0E5LCBVKzAzQkMsIFUrMDNDMCwgVSsxRTgwLTFFODUsIFUrMjAxMCwgVSsyMDEzLTIwMTQsIFUrMjAxOC0yMDFBLCBVKzIwMUMtMjAxRSwgVSsyMDIwLTIwMjIsIFUrMjAyNiwgVSsyMDMwLCBVKzIwMzktMjAzQSwgVSsyMDQ0LCBVKzIwQTMtMjBBNCwgVSsyMEE3LCBVKzIwQUMsIFUrMjExMywgVSsyMTIyLCBVKzIxMjYsIFUrMjEyRSwgVSsyMjAyLCBVKzIyMDYsIFUrMjIwRiwgVSsyMjExLTIyMTIsIFUrMjIxNSwgVSsyMjE5LTIyMUEsIFUrMjIxRSwgVSsyMjJCLCBVKzIyNDgsIFUrMjI2MCwgVSsyMjY0LTIyNjUsIFUrMjVDQSwgVStGOEZGLCBVK0ZCMDAtRkIwNDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0b0xhdGluLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLCBVKzAwMEQsIFUrMDAyMC0wMDdFLCBVKzAwQTAtMDE3RiwgVSswMTkyLCBVKzAyMTgtMDIxQiwgVSswMjM3LCBVKzAyQzYtMDJDNywgVSswMkM5LCBVKzAyRDgtMDJERCwgVSswMzk0LCBVKzAzQTksIFUrMDNCQywgVSswM0MwLCBVKzFFODAtMUU4NSwgVSsyMDEwLCBVKzIwMTMtMjAxNCwgVSsyMDE4LTIwMUEsIFUrMjAxQy0yMDFFLCBVKzIwMjAtMjAyMiwgVSsyMDI2LCBVKzIwMzAsIFUrMjAzOS0yMDNBLCBVKzIwNDQsIFUrMjBBMy0yMEE0LCBVKzIwQTcsIFUrMjBBQywgVSsyMTEzLCBVKzIxMjIsIFUrMjEyNiwgVSsyMTJFLCBVKzIyMDIsIFUrMjIwNiwgVSsyMjBGLCBVKzIyMTEtMjIxMiwgVSsyMjE1LCBVKzIyMTktMjIxQSwgVSsyMjFFLCBVKzIyMkIsIFUrMjI0OCwgVSsyMjYwLCBVKzIyNjQtMjI2NSwgVSsyNUNBLCBVK0Y4RkYsIFUrRkIwMC1GQjA0O1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvTGF0aW4tQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAsIFUrMDAwRCwgVSswMDIwLTAwN0UsIFUrMDBBMC0wMTdGLCBVKzAxOTIsIFUrMDIxOC0wMjFCLCBVKzAyMzcsIFUrMDJDNi0wMkM3LCBVKzAyQzksIFUrMDJEOC0wMkRELCBVKzAzOTQsIFUrMDNBOSwgVSswM0JDLCBVKzAzQzAsIFUrMUU4MC0xRTg1LCBVKzIwMTAsIFUrMjAxMy0yMDE0LCBVKzIwMTgtMjAxQSwgVSsyMDFDLTIwMUUsIFUrMjAyMC0yMDIyLCBVKzIwMjYsIFUrMjAzMCwgVSsyMDM5LTIwM0EsIFUrMjA0NCwgVSsyMEEzLTIwQTQsIFUrMjBBNywgVSsyMEFDLCBVKzIxMTMsIFUrMjEyMiwgVSsyMTI2LCBVKzIxMkUsIFUrMjIwMiwgVSsyMjA2LCBVKzIyMEYsIFUrMjIxMS0yMjEyLCBVKzIyMTUsIFUrMjIxOS0yMjFBLCBVKzIyMUUsIFUrMjIyQiwgVSsyMjQ4LCBVKzIyNjAsIFUrMjI2NC0yMjY1LCBVKzI1Q0EsIFUrRjhGRiwgVStGQjAwLUZCMDQ7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAxODAtMDE5MSwgVSswMTkzLTAyMTcsIFUrMDIxQy0wMjM2LCBVKzAyMzgtMDJDNSwgVSswMkM4LCBVKzAyQ0EtMDJENywgVSswMkRFLTAzNkYsIFUrMDM3NC0wMzc1LCBVKzAzN0EtMDM3RSwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzOTMsIFUrMDM5NS0wM0ExLCBVKzAzQTMtMDNBOCwgVSswM0FBLTAzQkIsIFUrMDNCRC0wM0JGLCBVKzAzQzEtMDNDRSwgVSswM0QwLTA0ODYsIFUrMDQ4OC0wNTEzLCBVKzFEMDAtMURDQSwgVSsxREZFLTFFN0YsIFUrMUU4Ni0xRTlCLCBVKzFFOUUsIFUrMUVBMC0xRUY5LCBVKzFGMDAtMUYxNSwgVSsxRjE4LTFGMUQsIFUrMUYyMC0xRjQ1LCBVKzFGNDgtMUY0RCwgVSsxRjUwLTFGNTcsIFUrMUY1OSwgVSsxRjVCLCBVKzFGNUQsIFUrMUY1Ri0xRjdELCBVKzFGODAtMUZCNCwgVSsxRkI2LTFGQzQsIFUrMUZDNi0xRkQzLCBVKzFGRDYtMUZEQiwgVSsxRkRELTFGRUYsIFUrMUZGMi0xRkY0LCBVKzFGRjYtMUZGRSwgVSsyMDAwLTIwMEYsIFUrMjAxMiwgVSsyMDE1LTIwMTcsIFUrMjAxQiwgVSsyMDFGLCBVKzIwMkYsIFUrMjAzNCwgVSsyMDNDLTIwM0UsIFUrMjA1RS0yMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOTQsIFUrMjBBMC0yMEEyLCBVKzIwQTUtMjBBNiwgVSsyMEE4LTIwQUIsIFUrMjBBRC0yMEI1LCBVKzIwQjgtMjBCQSwgVSsyMERELCBVKzIxMDUsIFUrMjExNi0yMTE3LCBVKzIxMjAsIFUrMjEzMiwgVSsyMTRELTIxNEUsIFUrMjE1My0yMTVGLCBVKzIxODMtMjE4NCwgVSsyMTkwLTIxOTksIFUrMjFBOCwgVSsyMjFGLCBVKzIyMjksIFUrMjI2MSwgVSsyMzAyLCBVKzIzMTAsIFUrMjMyMC0yMzIxLCBVKzI0NjAtMjQ3MywgVSsyNEVBLTI0RjQsIFUrMjRGRi0yNTAwLCBVKzI1MDIsIFUrMjUwQywgVSsyNTEwLCBVKzI1MTQsIFUrMjUxOCwgVSsyQzYwLTJDNkMsIFUrMkM3NC0yQzc3O1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDE4MC0wMTkxLCBVKzAxOTMtMDIxNywgVSswMjFDLTAyMzYsIFUrMDIzOC0wMkM1LCBVKzAyQzgsIFUrMDJDQS0wMkQ3LCBVKzAyREUtMDM2RiwgVSswMzc0LTAzNzUsIFUrMDM3QS0wMzdFLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDM5MywgVSswMzk1LTAzQTEsIFUrMDNBMy0wM0E4LCBVKzAzQUEtMDNCQiwgVSswM0JELTAzQkYsIFUrMDNDMS0wM0NFLCBVKzAzRDAtMDQ4NiwgVSswNDg4LTA1MTMsIFUrMUQwMC0xRENBLCBVKzFERkUtMUU3RiwgVSsxRTg2LTFFOUIsIFUrMUU5RSwgVSsxRUEwLTFFRjksIFUrMUYwMC0xRjE1LCBVKzFGMTgtMUYxRCwgVSsxRjIwLTFGNDUsIFUrMUY0OC0xRjRELCBVKzFGNTAtMUY1NywgVSsxRjU5LCBVKzFGNUIsIFUrMUY1RCwgVSsxRjVGLTFGN0QsIFUrMUY4MC0xRkI0LCBVKzFGQjYtMUZDNCwgVSsxRkM2LTFGRDMsIFUrMUZENi0xRkRCLCBVKzFGREQtMUZFRiwgVSsxRkYyLTFGRjQsIFUrMUZGNi0xRkZFLCBVKzIwMDAtMjAwRiwgVSsyMDEyLCBVKzIwMTUtMjAxNywgVSsyMDFCLCBVKzIwMUYsIFUrMjAyRiwgVSsyMDM0LCBVKzIwM0MtMjAzRSwgVSsyMDVFLTIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA5NCwgVSsyMEEwLTIwQTIsIFUrMjBBNS0yMEE2LCBVKzIwQTgtMjBBQiwgVSsyMEFELTIwQjUsIFUrMjBCOC0yMEJBLCBVKzIwREQsIFUrMjEwNSwgVSsyMTE2LTIxMTcsIFUrMjEyMCwgVSsyMTMyLCBVKzIxNEQtMjE0RSwgVSsyMTUzLTIxNUYsIFUrMjE4My0yMTg0LCBVKzIxOTAtMjE5OSwgVSsyMUE4LCBVKzIyMUYsIFUrMjIyOSwgVSsyMjYxLCBVKzIzMDIsIFUrMjMxMCwgVSsyMzIwLTIzMjEsIFUrMjQ2MC0yNDczLCBVKzI0RUEtMjRGNCwgVSsyNEZGLTI1MDAsIFUrMjUwMiwgVSsyNTBDLCBVKzI1MTAsIFUrMjUxNCwgVSsyNTE4LCBVKzJDNjAtMkM2QywgVSsyQzc0LTJDNzc7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0by1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTgwLTAxOTEsIFUrMDE5My0wMjE3LCBVKzAyMUMtMDIzNiwgVSswMjM4LTAyQzUsIFUrMDJDOCwgVSswMkNBLTAyRDcsIFUrMDJERS0wMzZGLCBVKzAzNzQtMDM3NSwgVSswMzdBLTAzN0UsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wMzkzLCBVKzAzOTUtMDNBMSwgVSswM0EzLTAzQTgsIFUrMDNBQS0wM0JCLCBVKzAzQkQtMDNCRiwgVSswM0MxLTAzQ0UsIFUrMDNEMC0wNDg2LCBVKzA0ODgtMDUxMywgVSsxRDAwLTFEQ0EsIFUrMURGRS0xRTdGLCBVKzFFODYtMUU5QiwgVSsxRTlFLCBVKzFFQTAtMUVGOSwgVSsxRjAwLTFGMTUsIFUrMUYxOC0xRjFELCBVKzFGMjAtMUY0NSwgVSsxRjQ4LTFGNEQsIFUrMUY1MC0xRjU3LCBVKzFGNTksIFUrMUY1QiwgVSsxRjVELCBVKzFGNUYtMUY3RCwgVSsxRjgwLTFGQjQsIFUrMUZCNi0xRkM0LCBVKzFGQzYtMUZEMywgVSsxRkQ2LTFGREIsIFUrMUZERC0xRkVGLCBVKzFGRjItMUZGNCwgVSsxRkY2LTFGRkUsIFUrMjAwMC0yMDBGLCBVKzIwMTIsIFUrMjAxNS0yMDE3LCBVKzIwMUIsIFUrMjAxRiwgVSsyMDJGLCBVKzIwMzQsIFUrMjAzQy0yMDNFLCBVKzIwNUUtMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDk0LCBVKzIwQTAtMjBBMiwgVSsyMEE1LTIwQTYsIFUrMjBBOC0yMEFCLCBVKzIwQUQtMjBCNSwgVSsyMEI4LTIwQkEsIFUrMjBERCwgVSsyMTA1LCBVKzIxMTYtMjExNywgVSsyMTIwLCBVKzIxMzIsIFUrMjE0RC0yMTRFLCBVKzIxNTMtMjE1RiwgVSsyMTgzLTIxODQsIFUrMjE5MC0yMTk5LCBVKzIxQTgsIFUrMjIxRiwgVSsyMjI5LCBVKzIyNjEsIFUrMjMwMiwgVSsyMzEwLCBVKzIzMjAtMjMyMSwgVSsyNDYwLTI0NzMsIFUrMjRFQS0yNEY0LCBVKzI0RkYtMjUwMCwgVSsyNTAyLCBVKzI1MEMsIFUrMjUxMCwgVSsyNTE0LCBVKzI1MTgsIFUrMkM2MC0yQzZDLCBVKzJDNzQtMkM3Nztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0by1Cb2xkSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0by1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAxODAtMDE5MSwgVSswMTkzLTAyMTcsIFUrMDIxQy0wMjM2LCBVKzAyMzgtMDJDNSwgVSswMkM4LCBVKzAyQ0EtMDJENywgVSswMkRFLTAzNkYsIFUrMDM3NC0wMzc1LCBVKzAzN0EtMDM3RSwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzOTMsIFUrMDM5NS0wM0ExLCBVKzAzQTMtMDNBOCwgVSswM0FBLTAzQkIsIFUrMDNCRC0wM0JGLCBVKzAzQzEtMDNDRSwgVSswM0QwLTA0ODYsIFUrMDQ4OC0wNTEzLCBVKzFEMDAtMURDQSwgVSsxREZFLTFFN0YsIFUrMUU4Ni0xRTlCLCBVKzFFOUUsIFUrMUVBMC0xRUY5LCBVKzFGMDAtMUYxNSwgVSsxRjE4LTFGMUQsIFUrMUYyMC0xRjQ1LCBVKzFGNDgtMUY0RCwgVSsxRjUwLTFGNTcsIFUrMUY1OSwgVSsxRjVCLCBVKzFGNUQsIFUrMUY1Ri0xRjdELCBVKzFGODAtMUZCNCwgVSsxRkI2LTFGQzQsIFUrMUZDNi0xRkQzLCBVKzFGRDYtMUZEQiwgVSsxRkRELTFGRUYsIFUrMUZGMi0xRkY0LCBVKzFGRjYtMUZGRSwgVSsyMDAwLTIwMEYsIFUrMjAxMiwgVSsyMDE1LTIwMTcsIFUrMjAxQiwgVSsyMDFGLCBVKzIwMkYsIFUrMjAzNCwgVSsyMDNDLTIwM0UsIFUrMjA1RS0yMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOTQsIFUrMjBBMC0yMEEyLCBVKzIwQTUtMjBBNiwgVSsyMEE4LTIwQUIsIFUrMjBBRC0yMEI1LCBVKzIwQjgtMjBCQSwgVSsyMERELCBVKzIxMDUsIFUrMjExNi0yMTE3LCBVKzIxMjAsIFUrMjEzMiwgVSsyMTRELTIxNEUsIFUrMjE1My0yMTVGLCBVKzIxODMtMjE4NCwgVSsyMTkwLTIxOTksIFUrMjFBOCwgVSsyMjFGLCBVKzIyMjksIFUrMjI2MSwgVSsyMzAyLCBVKzIzMTAsIFUrMjMyMC0yMzIxLCBVKzI0NjAtMjQ3MywgVSsyNEVBLTI0RjQsIFUrMjRGRi0yNTAwLCBVKzI1MDIsIFUrMjUwQywgVSsyNTEwLCBVKzI1MTQsIFUrMjUxOCwgVSsyQzYwLTJDNkMsIFUrMkM3NC0yQzc3O1xufVxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5odG1sIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBIZWFkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyOWVtO1xuICBtYXJnaW46IGNhbGMoMnJlbSAtIDAuMTQyODU3MTQyODU3MTQyOWVtKSAwIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwO1xufVxuaDEge1xuICBtaW4taGVpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDJyZW07XG59XG5oMiB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbmgzIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuaDQge1xuICBmb250LXNpemU6IDEuMDcxNDI4NTdyZW07XG59XG5oNSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmgxOmZpcnN0LWNoaWxkLFxuaDI6Zmlyc3QtY2hpbGQsXG5oMzpmaXJzdC1jaGlsZCxcbmg0OmZpcnN0LWNoaWxkLFxuaDU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuaDE6bGFzdC1jaGlsZCxcbmgyOmxhc3QtY2hpbGQsXG5oMzpsYXN0LWNoaWxkLFxuaDQ6bGFzdC1jaGlsZCxcbmg1Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xucCB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xufVxucDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmEge1xuICBjb2xvcjogIzQxODNjNDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2Nyb2xsYmFyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcmNlIFNpbXBsZSBTY3JvbGxiYXJzICovXG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG59XG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTM1LCAxMzksIDAuOCk7XG59XG5ib2R5IC51aSB7XG4gIC8qIElFMTEgKi9cbiAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICNiZmJmYmY7XG4gIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6ICNiZmJmYmY7XG4gIHNjcm9sbGJhci10cmFjay1jb2xvcjogI2U2ZTZlNjtcbiAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjZTZlNmU2O1xufVxuQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgYm9keSAudWkge1xuICAgIC8qIGZpcmVmb3g6IGZpcnN0IGNvbG9yIHRodW1iLCBzZWNvbmQgdHJhY2sgKi9cbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSkgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgfVxufVxuLyogSW52ZXJ0ZWQgVUkgKi9cbmJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5ib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcik6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbmJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbmJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xufVxuYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpIHtcbiAgLyogSUUxMSAqL1xuICBzY3JvbGxiYXItZmFjZS1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAjMzIzMjMyO1xuICBzY3JvbGxiYXItYXJyb3ctY29sb3I6ICMzMjMyMzI7XG59XG5Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICBib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcikge1xuICAgIC8qIGZpcmVmb3g6IGZpcnN0IGNvbG9yIHRodW1iLCBzZWNvbmQgdHJhY2sgKi9cbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEhpZ2hsaWdodGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFNpdGUgKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTJmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBGb3JtICovXG50ZXh0YXJlYTo6c2VsZWN0aW9uLFxuaW5wdXQ6OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBHbG9iYWwgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ3VzdG9tIFNlbWFudGljIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdlbmVyYWwgQ29sb3JzICovXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLmNvbG9yLnByaW1hcnkge1xuICBjb2xvcjogIzZDMzY2NyAhaW1wb3J0YW50O1xufVxuLmNvbG9yLnByaW1hcnkuYmFja2dyb3VuZCB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2NjcgIWltcG9ydGFudDtcbn1cbi5jb2xvci5zZWNvbmRhcnkge1xuICBjb2xvcjogIzg4ZDMxNyAhaW1wb3J0YW50O1xufVxuLmNvbG9yLnNlY29uZGFyeS5iYWNrZ3JvdW5kIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNyAhaW1wb3J0YW50O1xufVxuLyogR2VuZXJhbCBUZXh0IHRyYW5zZm9ybWVycyAqL1xuLnRleHQuYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLmZvcm0gLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBFbGVtZW50cyAqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQnV0dG9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQnV0dG9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCdXR0b24gKi9cbi8qIEJ1dHRvbiBkZWZhdWx0cyB0byB1c2luZyBzYW1lIGhlaWdodCBhcyBpbnB1dCBnbG9iYWxseSAqL1xuLyogVGV4dCAqL1xuLyogSW50ZXJuYWwgU2hhZG93ICovXG4vKiBCb3ggU2hhZG93ICovXG4vKiBJY29uICovXG4vKiBMb2FkZXIgKi9cbi8qXG5Ad2lsbENoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtLCBvcGFjaXR5LCBjb2xvciwgYmFja2dyb3VuZDtcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyb3VwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlcmVkICovXG4vKiBGb2N1c2VkICovXG4vKiBEaXNhYmxlZCAqL1xuLyogUHJlc3NlZCBEb3duICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSArIEhvdmVyZWQgKi9cbi8qIExvYWRpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPciAqL1xuLyogSWNvbiAqL1xuLyogTGFiZWxlZCAqL1xuLyogaHlwb3RlbnVzZSBvZiB0cmlhbmdsZSAqL1xuLyogTGFiZWxlZCBJY29uICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIEJhc2ljIEhvdmVyICovXG4vKiBCYXNpYyBGb2N1cyAqL1xuLyogQmFzaWMgRG93biAqL1xuLyogQmFzaWMgQWN0aXZlICovXG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLyogQmFzaWMgR3JvdXAgKi9cbi8qIC0tLS0tLS0tLS0tLS1cbiAgIFRlcnRpYXJ5XG4tLS0tLS0tLS0tLS0tICovXG4vKiBUZXJ0aWFyeSBIb3ZlciAqL1xuLyogVGVydGlhcnkgRm9jdXMgKi9cbi8qIFRlcnRpYXJ5IEFjdGl2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbG9ycyAqL1xuLyogQ29sb3JlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIE9yZGluYWxpdHkgKi9cbi8qIENvbXBhY3QgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBBbmltYXRlZCAqL1xuLyogVG9nZ2xlICovXG4vKiBDaXJjdWxhciAqL1xuLyogU3BhY2VkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQnV0dG9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBiYWNrZ3JvdW5kOiAjZTBlMWUyIG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBtYXJnaW46IDAgMC4yNWVtIDAgMDtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDEuNWVtIDAuNzg1NzE0MjllbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNiY2Q7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudCBpbnNldCwgMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnVpLmJ1dHRvbjpob3ZlciAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNiY2Q7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IFwiXCI7XG59XG4udWkuYnV0dG9uOmZvY3VzIC5pY29uIHtcbiAgb3BhY2l0eTogMC44NTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBEb3duXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b246YWN0aXZlLFxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmJiYztcbiAgYmFja2dyb3VuZC1pbWFnZTogXCJcIjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGMxYzI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudCBpbnNldDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGMxYzI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzFjMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNwZWNpZmljaXR5IGhhY2sgKi9cbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyLCBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi51aS5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi51aS5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwIDAgLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC42cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlcjogMC4yZW0gc29saWQgY3VycmVudENvbG9yO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnVpLmxvYWRpbmcuYnV0dG9uIC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkubGFiZWxlZC5pY29uLmxvYWRpbmcuYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMubG9hZGluZy5idXR0b246bm90KC5pbnZlcnRlZCk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmJhc2ljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uOm5vdCguYmFzaWMpLFxuLnVpLmRpc2FibGVkLmJ1dHRvbixcbi51aS5idXR0b246ZGlzYWJsZWQsXG4udWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmRpc2FibGVkLmFjdGl2ZS5idXR0b24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljIEdyb3VwIFdpdGggRGlzYWJsZWQgKi9cbi51aS5iYXNpYy5idXR0b25zIC51aS5kaXNhYmxlZC5idXR0b24ge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC41KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFuaW1hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hbmltYXRlZC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogMTtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLmNvbnRlbnQge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogSG9yaXpvbnRhbCAqL1xuLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2UgMHM7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIwMCU7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG4vKiBWZXJ0aWNhbCAqL1xuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICByaWdodDogYXV0bztcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdG9wOiAtNTAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogRmFkZSAqL1xuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG59XG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC5oaWRkZW4uY29udGVudCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNGRkZGRkYgaW5zZXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogR3JvdXAgKi9cbi51aS5pbnZlcnRlZC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IDAgMCAwIC0ycHg7XG59XG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgLTJweCAwO1xufVxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBTdGF0ZXMgKi9cbi8qIEhvdmVyICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNGRkZGRkYgaW5zZXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiBBY3RpdmUgLyBGb2N1cyAqL1xuLnVpLmludmVydGVkLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5idXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNGRkZGRkYgaW5zZXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS5pbnZlcnRlZC5idXR0b24uYWN0aXZlOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2RjZGRkZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkY2RkZGUgaW5zZXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsZWQgQnV0dG9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoLmljb24pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmxhYmVsZWQuYnV0dG9uID4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDAgLTFweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogXCJcIjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVGFnICovXG4udWkubGFiZWxlZC5idXR0b24gPiAudGFnLmxhYmVsOjpiZWZvcmUge1xuICB3aWR0aDogMS44NWVtO1xuICBoZWlnaHQ6IDEuODVlbTtcbn1cbi8qIFJpZ2h0ICovXG4udWkubGFiZWxlZC5idXR0b246bm90KFtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0pID4gLmJ1dHRvbiB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXSkgPiAubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLyogTGVmdCBTaWRlICovXG4udWlbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmJ1dHRvbiA+IC5idXR0b24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5idXR0b24gPiAubGFiZWwge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFNvY2lhbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGYWNlYm9vayAqL1xuLnVpLmZhY2Vib29rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmZhY2Vib29rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDRkOGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mYWNlYm9vay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkNDM3MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogVHdpdHRlciAqL1xuLnVpLnR3aXR0ZXIuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYTFmMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudHdpdHRlci5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI5OGYzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudHdpdHRlci5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBjODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogR29vZ2xlIFBsdXMgKi9cbi51aS5nb29nbGUucGx1cy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ0YjM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5nb29nbGUucGx1cy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzMjFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjMzMjE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIExpbmtlZCBJbiAqL1xuLnVpLmxpbmtlZGluLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5saW5rZWRpbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NjljO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubGlua2VkaW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU1ODI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIFlvdVR1YmUgKi9cbi51aS55b3V0dWJlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnlvdXR1YmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnlvdXR1YmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEluc3RhZ3JhbSAqL1xuLnVpLmluc3RhZ3JhbS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk3NjljO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5pbnN0YWdyYW0uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNkNjk4ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmluc3RhZ3JhbS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NWM3OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogUGludGVyZXN0ICovXG4udWkucGludGVyZXN0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZDA4MWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnBpbnRlcmVzdC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWMwMDEzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucGludGVyZXN0LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGMwNjE1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBWSyAqL1xuLnVpLnZrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTY2OGU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NTk4MDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDRkNmM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogV2hhdHNBcHAgKi9cbi51aS53aGF0c2FwcC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVkMzY2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLndoYXRzYXBwLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOWM1NWE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLndoYXRzYXBwLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhODUxO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFRlbGVncmFtICovXG4udWkudGVsZWdyYW0uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4YztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS50ZWxlZ3JhbS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N2IzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50ZWxlZ3JhbS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY5OTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b24gPiAuaWNvbjpub3QoLmJ1dHRvbikge1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIGNvbG9yOiBcIlwiO1xufVxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pLFxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLmljb25zOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSB7XG4gIG1hcmdpbjogMCAwLjQyODU3MTQzZW0gMCAtMC4yMTQyODU3MWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuYnV0dG9uOm5vdCguaWNvbikgPiAuaWNvbnM6bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pID4gLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuYnV0dG9uOm5vdCguaWNvbikgPiAucmlnaHQuaWNvbjpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikge1xuICBtYXJnaW46IDAgLTAuMjE0Mjg1NzFlbSAwIDAuNDI4NTcxNDNlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGV0IE9yIEJlbG93ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zdGFja2FibGUuYnV0dG9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC51aS5zdGFja2FibGUuYnV0dG9ucyAuYnV0dG9uOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbnMsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5idXR0b25zLFxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbXBhY3QuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmNvbXBhY3QuYnV0dG9uIHtcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDEuMTI1ZW0gMC41ODkyODU3MWVtO1xufVxuLnVpLmNvbXBhY3QuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAwLjU4OTI4NTcxZW0gMC41ODkyODU3MWVtO1xufVxuLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b24ge1xuICBwYWRkaW5nOiAwLjU4OTI4NTcxZW0gMy42OTY0Mjg1N2VtIDAuNTg5Mjg1NzFlbTtcbn1cbi51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbixcbi51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b25zIC5idXR0b24sXG4udWkuYnV0dG9ucyAub3IsXG4udWkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkubWluaS5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuLnVpLm1pbmkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm1pbmkuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkubWluaS5idXR0b24ge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5idXR0b25zIC5kcm9wZG93bixcbi51aS50aW55LmJ1dHRvbnMgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0sXG4udWkudGlueS5idXR0b25zIC5idXR0b24sXG4udWkudGlueS5idXR0b25zIC5vcixcbi51aS51aS51aS51aS50aW55LmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5idXR0b25zIC5kcm9wZG93bixcbi51aS5zbWFsbC5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuLnVpLnNtYWxsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5zbWFsbC5idXR0b25zIC5vcixcbi51aS51aS51aS51aS5zbWFsbC5idXR0b24ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkubGFyZ2UuYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbi51aS5sYXJnZS5idXR0b25zIC5idXR0b24sXG4udWkubGFyZ2UuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkubGFyZ2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5idXR0b25zIC5kcm9wZG93bixcbi51aS5iaWcuYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbi51aS5iaWcuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJpZy5idXR0b25zIC5vcixcbi51aS51aS51aS51aS5iaWcuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkuaHVnZS5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuLnVpLmh1Z2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmh1Z2UuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkuaHVnZS5idXR0b24ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5idXR0b25zIC5kcm9wZG93bixcbi51aS5tYXNzaXZlLmJ1dHRvbnMgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0sXG4udWkubWFzc2l2ZS5idXR0b25zIC5idXR0b24sXG4udWkubWFzc2l2ZS5idXR0b25zIC5vcixcbi51aS51aS51aS51aS5tYXNzaXZlLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEljb24gT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmljb24uYnV0dG9uOm5vdCguYW5pbWF0ZWQpOm5vdCguY29tcGFjdCk6bm90KC5sYWJlbGVkKSB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtO1xufVxuLnVpLmFuaW1hdGVkLmljb24uYnV0dG9uID4gLmNvbnRlbnQgPiAuaWNvbixcbi51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmljb24uYnV0dG9uID4gLmljb24ge1xuICBvcGFjaXR5OiAwLjk7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiA+IC5jb250ZW50ID4gLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYmFzaWMuYnV0dG9ucyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldCwgMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldCwgMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpIGluc2V0LCAwIDFweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IFwiXCI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSkgaW5zZXQsIDAgMXB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IFwiXCI7XG59XG4vKiBTdGFuZGFyZCBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmOWZhZmI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG59XG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZmZmZiBpbnNldDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmZmZmIGluc2V0O1xufVxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIGluc2V0O1xufVxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSBpbnNldDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZmZmZiBpbnNldDtcbn1cbi8qIEJhc2ljIEdyb3VwICovXG4udWkuYmFzaWMuYnV0dG9uczpub3QoLmludmVydGVkKSAuYnV0dG9uOm5vdCguYmFzaWMpIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnM6bm90KC5zcGFjZWQpOm5vdCguY2lyY3VsYXIpIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBUZXJ0aWFyeVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPdmVybGluZSBNaXhpbiAqL1xuLnVpLnRlcnRpYXJ5LmJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDAuMjg1NzE0MjllbSAwLjI1ZW0gMC4yODU3MTQyOWVtIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC41ZW0gMC41ZW0gIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS50ZXJ0aWFyeS5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM2NjY2NjY7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnVpLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzY2NjY2NjtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzk5OTk5OTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxlZCBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbSAhaW1wb3J0YW50O1xufVxuLyogTGVmdCBMYWJlbGVkICovXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMi41NzE0Mjg1N2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogXCJcIjtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgMCB0cmFuc3BhcmVudCBpbnNldDtcbn1cbi8qIFJpZ2h0IExhYmVsZWQgKi9cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmljb24uYnV0dG9uIHtcbiAgcGFkZGluZy1yaWdodDogNC4wNzE0Mjg1N2VtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMS41ZW0gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmljb24uYnV0dG9uID4gLmljb24ge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3gtc2hhZG93OiAxcHggMCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246OmJlZm9yZSxcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246OmJlZm9yZSxcbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbjo6YWZ0ZXIsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCA+IC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBMb2FkaW5nIEljb24gaW4gTGFiZWxlZCBCdXR0b24gKi9cbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmxvYWRpbmcuaWNvbjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRvZ2dsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVG9nZ2xlIChNb2RpZmllcyBhY3RpdmUgc3RhdGUgdG8gZ2l2ZSBhZmZvcmRhbmNlcykgKi9cbi51aS50b2dnbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5idXR0b25zIC5idXR0b24udG9nZ2xlLmFjdGl2ZSxcbi51aS5idXR0b24udG9nZ2xlLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5idXR0b24udG9nZ2xlLmFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkuY2lyY3VsYXIuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnVpLnVpLnVpLmNpcmN1bGFyLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwZW07XG4gIG1pbi13aWR0aDogMi41ZW07XG59XG4udWkuY2lyY3VsYXIuYnV0dG9ucyAuYnV0dG9uID4gLmljb24sXG4udWkuY2lyY3VsYXIuYnV0dG9uID4gLmljb24ge1xuICB3aWR0aDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuY2lyY3VsYXIuYnV0dG9uczpub3QoLnZlcnRpY2FsKTpub3QoLnNwYWNlZCkgLmJ1dHRvbiB7XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xufVxuLnVpLnZlcnRpY2FsLmNpcmN1bGFyLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbn1cbi51aS5jaXJjdWxhci5iYXNpYy5idXR0b25zIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmNpcmN1bGFyLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuY2lyY3VsYXIuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLmJhc2ljIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE9yIEJ1dHRvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJ1dHRvbnMgLm9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMC4zZW07XG4gIGhlaWdodDogMi41NzE0Mjg1N2VtO1xuICB6LWluZGV4OiAzO1xufVxuLnVpLmJ1dHRvbnMgLm9yOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBjb250ZW50OiBcIm9yXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC44OTI4NTcxNGVtO1xuICBtYXJnaW4tbGVmdDogLTAuODkyODU3MTRlbTtcbiAgd2lkdGg6IDEuNzg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjc4NTcxNDI5ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc4NTcxNDI5ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudCBpbnNldDtcbn1cbi51aS5idXR0b25zIC5vcltkYXRhLXRleHRdOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG59XG4vKiBGbHVpZCBPciAqL1xuLnVpLmZsdWlkLmJ1dHRvbnMgLm9yIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbn1cbi51aS5mbHVpZC5idXR0b25zIC5vcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaW5ndWxhciAqL1xuLnVpLmF0dGFjaGVkLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBUb3AgLyBCb3R0b20gKi9cbi51aS5hdHRhY2hlZC50b3AuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5hdHRhY2hlZC5ib3R0b20uYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIExlZnQgLyBSaWdodCAqL1xuLnVpLmxlZnQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aS5yaWdodC5hdHRhY2hlZC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC43NWVtO1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xufVxuLyogUGx1cmFsICovXG4udWkuYXR0YWNoZWQuYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgei1pbmRleDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG59XG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiBUb3AgLyBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDA7XG59XG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi8qIExlZnQgLyBSaWdodCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsdWlkLmJ1dHRvbnMsXG4udWkuZmx1aWQuYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuZmx1aWQuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkudHdvLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d28uYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnRocmVlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50aHJlZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLmZvdXIuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZvdXIuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLmZpdmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZpdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnNpeC5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuc2l4LmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG4udWkuc2V2ZW4uYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnNldmVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDE0LjI4NSU7XG59XG4udWkuZWlnaHQuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmVpZ2h0LmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpLm5pbmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm5pbmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMTEuMTElO1xufVxuLnVpLnRlbi5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudGVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi51aS5lbGV2ZW4uYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmVsZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiA5LjA5JTtcbn1cbi51aS50d2VsdmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnR3ZWx2ZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiA4LjMzMzMlO1xufVxuLyogRmx1aWQgVmVydGljYWwgQnV0dG9ucyAqL1xuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMsXG4udWkuZmx1aWQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkudHdvLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiA1MCU7XG59XG4udWkudGhyZWUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDMzLjMzMyU7XG59XG4udWkuZm91ci52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMjUlO1xufVxuLnVpLmZpdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDIwJTtcbn1cbi51aS5zaXgudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDE2LjY2NiU7XG59XG4udWkuc2V2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDE0LjI4NSU7XG59XG4udWkuZWlnaHQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDEyLjUlO1xufVxuLnVpLm5pbmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDExLjExJTtcbn1cbi51aS50ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDEwJTtcbn1cbi51aS5lbGV2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDkuMDklO1xufVxuLnVpLnR3ZWx2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogOC4zMzMzJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b24sXG4udWkucHJpbWFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWQyYjU5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucHJpbWFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTUyNDUwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTI1NDc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5wcmltYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkucHJpbWFyeS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVlMmE1YTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzZDMzY2NyBpbnNldDtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1ZDJiNTkgaW5zZXQ7XG4gIGNvbG9yOiAjNWQyYjU5O1xufVxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTUyNDUwIGluc2V0O1xuICBjb2xvcjogIzVkMmI1OTtcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucHJpbWFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNWUyYTVhIGluc2V0O1xuICBjb2xvcjogIzRhMjU0Nztcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM0YTI1NDcgaW5zZXQ7XG4gIGNvbG9yOiAjNGEyNTQ3O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzU0YzhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiYmJmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzIxYjhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzJiYmJmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzNhYzBmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzIxYjhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM1MDM5NGU7XG4gIGNvbG9yOiAjNTAzOTRlO1xufVxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNDkzMDQ2O1xuICBjb2xvcjogIzQ5MzA0Njtcbn1cbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucHJpbWFyeS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkucHJpbWFyeS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzZjMWM2NTtcbiAgY29sb3I6ICM1ZTJhNWE7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5zZWNvbmRhcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnNlY29uZGFyeS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk4ZjAxMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGZiMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMWU5MzQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTlmNTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzg4ZDMxNyBpbnNldDtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOThmMDEzIGluc2V0O1xuICBjb2xvcjogIzk4ZjAxMztcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhMGZiMTggaW5zZXQ7XG4gIGNvbG9yOiAjOThmMDEzO1xufVxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTlmNTBlIGluc2V0O1xuICBjb2xvcjogI2ExZTkzNDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTFlOTM0IGluc2V0O1xuICBjb2xvcjogI2ExZTkzNDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNTQ1NDU0IGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlNmU2ZTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjg2ODY4O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxNjE2MTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2ZTZlNmUgaW5zZXQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2ODY4NjggaW5zZXQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2MTYxNjEgaW5zZXQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2ZTZlNmUgaW5zZXQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOTNkNzJjO1xuICBjb2xvcjogIzkzZDcyYztcbn1cbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzljZTMzMDtcbiAgY29sb3I6ICM5Y2UzMzA7XG59XG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5YmZmMDQ7XG4gIGNvbG9yOiAjOTlmNTBlO1xufVxuLnVpLnJlZC5idXR0b25zIC5idXR0b24sXG4udWkucmVkLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5yZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ExMDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucmVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIxZTFlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnJlZC5hY3RpdmUuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTUxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkYjI4MjggaW5zZXQ7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2QwMTkxOSBpbnNldDtcbiAgY29sb3I6ICNkMDE5MTk7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5yZWQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjY2ExMDEwIGluc2V0O1xuICBjb2xvcjogI2QwMTkxOTtcbn1cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5yZWQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0MTUxNSBpbnNldDtcbiAgY29sb3I6ICNiMjFlMWU7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2IyMWUxZSBpbnNldDtcbiAgY29sb3I6ICNiMjFlMWU7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmNjk1ZSBpbnNldDtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjM5MmI7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDMzNTtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUxNDQ7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmYzOTJiIGluc2V0O1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY0MzM1IGluc2V0O1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY1MTQ0IGluc2V0O1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmYzOTJiIGluc2V0O1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2I5MzEzMTtcbiAgY29sb3I6ICNiOTMxMzE7XG59XG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNiNTI2MjY7XG4gIGNvbG9yOiAjYjUyNjI2O1xufVxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnJlZC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjZWEwMDAwO1xuICBjb2xvcjogI2Q0MTUxNTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm9yYW5nZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkub3JhbmdlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm9yYW5nZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2MjAyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5vcmFuZ2UuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NWIwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNTkwYztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5vcmFuZ2UuYWN0aXZlLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNTYxMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjI3MTFjIGluc2V0O1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmMjYyMDIgaW5zZXQ7XG4gIGNvbG9yOiAjZjI2MjAyO1xufVxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2U1NWIwMCBpbnNldDtcbiAgY29sb3I6ICNmMjYyMDI7XG59XG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMub3JhbmdlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmNTYxMDAgaW5zZXQ7XG4gIGNvbG9yOiAjY2Y1OTBjO1xufVxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNjZjU5MGMgaW5zZXQ7XG4gIGNvbG9yOiAjY2Y1OTBjO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjg1MWIgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc2YjAwO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTcwMDA7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3NzAxO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3NmIwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2U3NmIwMCBpbnNldDtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2YxNzAwMCBpbnNldDtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmNzcwMSBpbnNldDtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2U3NmIwMCBpbnNldDtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNkYTY3MWI7XG4gIGNvbG9yOiAjZGE2NzFiO1xufVxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjY2U2MDE3O1xuICBjb2xvcjogI2NlNjAxNztcbn1cbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2Y1NjEwMDtcbiAgY29sb3I6ICNmNTYxMDA7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnllbGxvdy5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkueWVsbG93LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWEzMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDk5MDM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkueWVsbG93LmFjdGl2ZS5idXR0b24sXG4udWkueWVsbG93LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZiYmQwOCBpbnNldDtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZWFhZTAwIGluc2V0O1xuICBjb2xvcjogI2VhYWUwMDtcbn1cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkYWEzMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZWFhZTAwO1xufVxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnllbGxvdy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZWFhZTAwIGluc2V0O1xuICBjb2xvcjogI2NkOTkwMztcbn1cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjY2Q5OTAzIGluc2V0O1xuICBjb2xvcjogI2NkOTkwMztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZlMjFmIGluc2V0O1xuICBjb2xvcjogI2ZmZTIxZjtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjZDAwO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWQ1MDA7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZjA1O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2QwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ViY2QwMCBpbnNldDtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2Y1ZDUwMCBpbnNldDtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZGYwNSBpbnNldDtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ViY2QwMCBpbnNldDtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNkMmEyMTc7XG4gIGNvbG9yOiAjZDJhMjE3O1xufVxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjYzQ5ODE2O1xuICBjb2xvcjogI2M0OTgxNjtcbn1cbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2VhYWUwMDtcbiAgY29sb3I6ICNlYWFlMDA7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwYjYwNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZDllMTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLm9saXZlLmFjdGl2ZS5idXR0b24sXG4udWkub2xpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWMxMDk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2I1Y2MxOCBpbnNldDtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2E3YmQwZCBpbnNldDtcbiAgY29sb3I6ICNhN2JkMGQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EwYjYwNSBpbnNldDtcbiAgY29sb3I6ICNhN2JkMGQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYWFjMTA5IGluc2V0O1xuICBjb2xvcjogIzhkOWUxMztcbn1cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzhkOWUxMyBpbnNldDtcbiAgY29sb3I6ICM4ZDllMTM7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkOWU3NzggaW5zZXQ7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZTc0NTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZWY0Nztcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlZDU5O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGRmNGQ7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkMmU3NDUgaW5zZXQ7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkYWVmNDcgaW5zZXQ7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkYWVkNTkgaW5zZXQ7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNjZGRmNGQgaW5zZXQ7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOThhOTIyO1xuICBjb2xvcjogIzk4YTkyMjtcbn1cbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzkyYTQxODtcbiAgY29sb3I6ICM5MmE0MTg7XG59XG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNiMWNiMDA7XG4gIGNvbG9yOiAjYWFjMTA5O1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuZ3JlZW4uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmdyZWVuLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZWE0MzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4ZjM1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZWVuLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNhZTM4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMyMWJhNDUgaW5zZXQ7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxNmFiMzkgaW5zZXQ7XG4gIGNvbG9yOiAjMTZhYjM5O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwZWE0MzIgaW5zZXQ7XG4gIGNvbG9yOiAjMTZhYjM5O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuZ3JlZW4uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzEzYWUzOCBpbnNldDtcbiAgY29sb3I6ICMxOThmMzU7XG59XG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxOThmMzUgaW5zZXQ7XG4gIGNvbG9yOiAjMTk4ZjM1O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMmVjYzQwIGluc2V0O1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVhOTJlO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTliODJiO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZmMyMzE7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1YTIzMztcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzFlYTkyZSBpbnNldDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzE5YjgyYiBpbnNldDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzFmYzIzMSBpbnNldDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzI1YTIzMyBpbnNldDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMyYTk4NDQ7XG4gIGNvbG9yOiAjMmE5ODQ0O1xufVxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMjA5MjNiO1xuICBjb2xvcjogIzIwOTIzYjtcbn1cbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JlZW4uYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzAwYzIyZTtcbiAgY29sb3I6ICMxM2FlMzg7XG59XG4udWkudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkudGVhbC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVhbC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVhbC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Yzg2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgyN2M7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZWFsLmFjdGl2ZS5idXR0b24sXG4udWkudGVhbC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAwYjVhZCBpbnNldDtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMudGVhbC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwMDljOTUgaW5zZXQ7XG4gIGNvbG9yOiAjMDA5Yzk1O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMDA4Yzg2IGluc2V0O1xuICBjb2xvcjogIzAwOWM5NTtcbn1cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMudGVhbC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMDA5Yzk1IGluc2V0O1xuICBjb2xvcjogIzAwODI3Yztcbn1cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwMDgyN2MgaW5zZXQ7XG4gIGNvbG9yOiAjMDA4MjdjO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzZkZmZmZiBpbnNldDtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRmZmZmO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRmZmZmO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FmZmZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjM2FmZmZmIGluc2V0O1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNDRmZmZmIGluc2V0O1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNTRmZmZmIGluc2V0O1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjM2FmZmZmIGluc2V0O1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzEwOGM4NjtcbiAgY29sb3I6ICMxMDhjODY7XG59XG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkudGVhbC5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMwZTdlNzk7XG4gIGNvbG9yOiAjMGU3ZTc5O1xufVxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS50ZWFsLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkudGVhbC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS50ZWFsLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMDA5Yzk1O1xuICBjb2xvcjogIzAwOWM5NTtcbn1cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ibHVlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDcxYmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhNjlhNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3OWM2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJsdWUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjE4NWQwIGluc2V0O1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzE2NzhjMiBpbnNldDtcbiAgY29sb3I6ICMxNjc4YzI7XG59XG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYmx1ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwZDcxYmIgaW5zZXQ7XG4gIGNvbG9yOiAjMTY3OGMyO1xufVxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ibHVlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxMjc5YzYgaW5zZXQ7XG4gIGNvbG9yOiAjMWE2OWE0O1xufVxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzFhNjlhNCBpbnNldDtcbiAgY29sb3I6ICMxYTY5YTQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNTRjOGZmIGluc2V0O1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJiYmZmO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FjMGZmO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMjFiOGZmIGluc2V0O1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMmJiYmZmIGluc2V0O1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjM2FjMGZmIGluc2V0O1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMjFiOGZmIGluc2V0O1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzJiNzVhYztcbiAgY29sb3I6ICMyYjc1YWM7XG59XG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMyMTZlYTc7XG4gIGNvbG9yOiAjMjE2ZWE3O1xufVxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ibHVlLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYmx1ZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5ibHVlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMDA3YmQ4O1xuICBjb2xvcjogIzEyNzljNjtcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkudmlvbGV0LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnZpb2xldC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTgyOWJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS52aW9sZXQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRmMjBiNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwMmFhMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS52aW9sZXQuYWN0aXZlLmJ1dHRvbixcbi51aS52aW9sZXQuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjI2YmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNjQzNWM5IGluc2V0O1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1ODI5YmIgaW5zZXQ7XG4gIGNvbG9yOiAjNTgyOWJiO1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzRmMjBiNSBpbnNldDtcbiAgY29sb3I6ICM1ODI5YmI7XG59XG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMudmlvbGV0LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1NjI2YmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTAyYWExO1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MDJhYTEgaW5zZXQ7XG4gIGNvbG9yOiAjNTAyYWExO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNhMjkxZmIgaW5zZXQ7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1YWZmO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZDY0ZmY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE3M2ZmO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4NjBmOTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzc0NWFmZiBpbnNldDtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzdkNjRmZiBpbnNldDtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzhhNzNmZiBpbnNldDtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzc4NjBmOSBpbnNldDtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM2MDQwYTU7XG4gIGNvbG9yOiAjNjA0MGE1O1xufVxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNTczNWEwO1xuICBjb2xvcjogIzU3MzVhMDtcbn1cbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS52aW9sZXQuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzRlMGZkNjtcbiAgY29sb3I6ICM1NjI2YmY7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5wdXJwbGUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnB1cnBsZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucHVycGxlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZjFlYjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MjI5OWY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucHVycGxlLmFjdGl2ZS5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTcyNGJlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzMzNjOCBpbnNldDtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTYyN2JhIGluc2V0O1xuICBjb2xvcjogIzk2MjdiYTtcbn1cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4ZjFlYjQgaW5zZXQ7XG4gIGNvbG9yOiAjOTYyN2JhO1xufVxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnB1cnBsZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTcyNGJlIGluc2V0O1xuICBjb2xvcjogIzgyMjk5Zjtcbn1cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODIyOTlmIGluc2V0O1xuICBjb2xvcjogIzgyMjk5Zjtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZGM3M2ZmIGluc2V0O1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNDBmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDI0YWZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NWFmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNjZjQwZmYgaW5zZXQ7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkMjRhZmYgaW5zZXQ7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkNjVhZmYgaW5zZXQ7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNjZjQwZmYgaW5zZXQ7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOGEzZWE0O1xuICBjb2xvcjogIzhhM2VhNDtcbn1cbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzg0MzM5ZjtcbiAgY29sb3I6ICM4NDMzOWY7XG59XG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucHVycGxlLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNhMzBkZDQ7XG4gIGNvbG9yOiAjOTcyNGJlO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnBpbmsuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMGY4NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzcxZjdlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucGluay5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTE1OGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucGluay5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlMDM5OTcgaW5zZXQ7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTYxYThkIGluc2V0O1xuICBjb2xvcjogI2U2MWE4ZDtcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2UxMGY4NSBpbnNldDtcbiAgY29sb3I6ICNlNjFhOGQ7XG59XG4udWkuYmFzaWMucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnBpbmsuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2VhMTU4ZCBpbnNldDtcbiAgY29sb3I6ICNjNzFmN2U7XG59XG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYzcxZjdlIGluc2V0O1xuICBjb2xvcjogI2M3MWY3ZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjhlZGYgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWJkMTtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY1ZDM7XG59XG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjc0ZDg7XG59XG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjViZDE7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjViZDEgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjY1ZDMgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjc0ZDggaW5zZXQ7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjViZDEgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjY2MzMzg5O1xuICBjb2xvcjogI2NjMzM4OTtcbn1cbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2M5Mjc4MjtcbiAgY29sb3I6ICNjOTI3ODI7XG59XG4udWkudGVydGlhcnkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnBpbmsuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5waW5rLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnBpbmsuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNmZjAwOTA7XG4gIGNvbG9yOiAjZWExNThkO1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5icm93bi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuYnJvd24uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc1YjMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MDUzMmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA1MDMxO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYnJvd24uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5icm93bi5hY3RpdmUuYnV0dG9uLFxuLnVpLmJyb3duLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk1YTMxO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5icm93bi5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhNTY3M2YgaW5zZXQ7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM5NzViMzMgaW5zZXQ7XG4gIGNvbG9yOiAjOTc1YjMzO1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5icm93bi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM5MDUzMmIgaW5zZXQ7XG4gIGNvbG9yOiAjOTc1YjMzO1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzk5NWEzMSBpbnNldDtcbiAgY29sb3I6ICM4MDUwMzE7XG59XG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4MDUwMzEgaW5zZXQ7XG4gIGNvbG9yOiAjODA1MDMxO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZDY3YzFjIGluc2V0O1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjA2MjBmO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzE2ODA4O1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzZmMGQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5NjIxNjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2IwNjIwZiBpbnNldDtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2MxNjgwOCBpbnNldDtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2NjNmYwZCBpbnNldDtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2E5NjIxNiBpbnNldDtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM4MzVmNDg7XG4gIGNvbG9yOiAjODM1ZjQ4O1xufVxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjN2Q1NzNlO1xuICBjb2xvcjogIzdkNTczZTtcbn1cbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYnJvd24uYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2FlNTYxZDtcbiAgY29sb3I6ICM5OTVhMzE7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuZ3JleS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MDkwOTA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmV5LmFjdGl2ZS5idXR0b24sXG4udWkuZ3JleS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5Njk2OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzc2NzY3NiBpbnNldDtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4MzgzODMgaW5zZXQ7XG4gIGNvbG9yOiAjODM4MzgzO1xufVxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOGE4YThhIGluc2V0O1xuICBjb2xvcjogIzgzODM4Mztcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuZ3JleS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNjk2OTY5IGluc2V0O1xuICBjb2xvcjogIzkwOTA5MDtcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM5MDkwOTAgaW5zZXQ7XG4gIGNvbG9yOiAjOTA5MDkwO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2Q0ZDRkNSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmM0YzU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjOWNiO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZkMGQyO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM1O1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjYzJjNGM1IGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjYzdjOWNiIGluc2V0O1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjY2ZkMGQyIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjYzJjNGM1IGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5ncmV5LmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzkwOTA5MDtcbiAgY29sb3I6ICM5MDkwOTA7XG59XG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5ZjlmOWY7XG4gIGNvbG9yOiAjOWY5ZjlmO1xufVxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ncmV5LmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JleS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5ncmV5LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNWQ1ZDVkO1xuICBjb2xvcjogIzY5Njk2OTtcbn1cbi51aS5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLmJsYWNrLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ibGFjay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYzMDMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzYzNztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYWN0aXZlLmJ1dHRvbixcbi51aS5ibGFjay5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMGYxMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMWIxYzFkIGluc2V0O1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjcyOTJhIGluc2V0O1xuICBjb2xvcjogIzI3MjkyYTtcbn1cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMmYzMDMyIGluc2V0O1xuICBjb2xvcjogIzI3MjkyYTtcbn1cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwZjBmMTAgaW5zZXQ7XG4gIGNvbG9yOiAjMzQzNjM3O1xufVxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMzQzNjM3IGluc2V0O1xuICBjb2xvcjogIzM0MzYzNztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2Q0ZDRkNSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDAwMDAgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDAwMDAgaW5zZXQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDAwMDAgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDAwMDAgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOGI4ZjkzO1xuICBjb2xvcjogIzhiOGY5Mztcbn1cbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzkzOTY5YTtcbiAgY29sb3I6ICM5Mzk2OWE7XG59XG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM0MDQyNDU7XG4gIGNvbG9yOiAjMGYwZjEwO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucG9zaXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YWIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5wb3NpdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhNDMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucG9zaXRpdmUuYWN0aXZlLmJ1dHRvbixcbi51aS5wb3NpdGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzYWUzODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjFiYTQ1IGluc2V0O1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTZhYjM5IGluc2V0O1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMGVhNDMyIGluc2V0O1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxM2FlMzggaW5zZXQ7XG4gIGNvbG9yOiAjMTk4ZjM1O1xufVxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTk4ZjM1IGluc2V0O1xuICBjb2xvcjogIzE5OGYzNTtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkubmVnYXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwMTkxOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5uZWdhdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ExMDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5uZWdhdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkubmVnYXRpdmUuYWN0aXZlLmJ1dHRvbixcbi51aS5uZWdhdGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTUxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZGIyODI4IGluc2V0O1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDAxOTE5IGluc2V0O1xuICBjb2xvcjogI2QwMTkxOTtcbn1cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjY2ExMDEwIGluc2V0O1xuICBjb2xvcjogI2QwMTkxOTtcbn1cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLm5lZ2F0aXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNDE1MTUgaW5zZXQ7XG4gIGNvbG9yOiAjYjIxZTFlO1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYjIxZTFlIGluc2V0O1xuICBjb2xvcjogI2IyMWUxZTtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbjogMCAwLjI1ZW0gMCAwO1xufVxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogQ2xlYXJmaXggKi9cbi51aS5idXR0b25zOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogU3RhbmRhcmQgR3JvdXAgKi9cbi51aS5idXR0b25zIC5idXR0b24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkgPiAuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogVmVydGljYWwgU3R5bGUgKi9cbi51aS52ZXJ0aWNhbC5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpub3QoLmJhc2ljKSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS53cmFwcGluZy5idXR0b25zIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnVpLndyYXBwaW5nLmJhc2ljLmJ1dHRvbnMge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnVpLndyYXBwaW5nLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLndyYXBwaW5nLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuY29tcGFjdC53cmFwcGluZy5idXR0b25zIC5idXR0b24ge1xuICBmbGV4OiBub25lO1xufVxuLnVpLndyYXBwZWQuYnV0dG9uczpub3QoLnNwYWNlZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS53cmFwcGVkLmJ1dHRvbnM6bm90KC5zcGFjZWQpIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwO1xufVxuLnVpLndyYXBwZWQuYnV0dG9uczpub3QoLnNwYWNlZCkgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aS53cmFwcGVkW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMDtcbn1cbi51aS53cmFwcGVkW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkud3JhcHBlZFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWkud3JhcHBlZFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS5zcGFjZWQuYnV0dG9ucyAudWkuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5zcGFjZWQuYmFzaWMuYnV0dG9ucyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5zcGFjZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zcGFjZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLmJhc2ljIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnNwYWNlZC5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zcGFjZWQuYmFzaWMud3JhcHBpbmcuYnV0dG9ucyAuYnV0dG9uOm5vdCguYmFzaWMpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3BhY2VkLmJhc2ljLndyYXBwaW5nLmJ1dHRvbnMgLmJ1dHRvbjpub3QoLmJhc2ljKTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zcGFjZWQuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygxZW0gKyAxcHgpO1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4udWkuYmFzaWMuYnV0dG9uczpub3QoLnZlcnRpY2FsKS5pbnZlcnRlZCAuYnV0dG9uLFxuLnVpLmJhc2ljLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgLmJhc2ljLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkuYmFzaWMuYnV0dG9uczpub3QoLnZlcnRpY2FsKTpub3QoLnNwYWNlZCk6bm90KC5pbnZlcnRlZCkgLmJhc2ljLmJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMuYnV0dG9uczpub3QoLnNwYWNlZCkgLmJ1dHRvbixcbi51aS5hdHRhY2hlZC5iYXNpYy5idXR0b25zOm5vdCgud3JhcHBpbmcpOm5vdCguaW52ZXJ0ZWQpIC5iYXNpYy5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCk6bm90KC5hdHRhY2hlZCk6bm90KC5zcGFjZWQpOm5vdCgud3JhcHBpbmcpOm5vdCguaW52ZXJ0ZWQpIC5iYXNpYy5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENvbnRhaW5lclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRhaW5lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWluaW11bSBHdXR0ZXIgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG1heGltdW0gY29udGFpbmVyIHdpZHRoIGZvciBhIGdpdmVuIGRldmljZSAqL1xuLyogRGV2aWNlcyAqL1xuLyogQ291cGxpbmcgKEFkZCBOZWdhdGl2ZSBNYXJnaW4gdG8gY29udGFpbmVyIHNpemUpICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUZXh0ICovXG4vKiBSZXNpemFibGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBbGwgU2l6ZXMgKi9cbi51aS5jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS51aS51aS5jb250YWluZXI6bm90KC5mbHVpZCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWkudWkudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi8qIFRhYmxldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS51aS51aS5jb250YWluZXI6bm90KC5mbHVpZCkge1xuICAgIHdpZHRoOiA3MjNweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyg3MjNweCArIDJyZW0pO1xuICB9XG4gIC51aS51aS51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyg3MjNweCArIDNyZW0pO1xuICB9XG4gIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDcyM3B4ICsgNXJlbSk7XG4gIH1cbn1cbi8qIFNtYWxsIE1vbml0b3IgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnVpLnVpLnVpLmNvbnRhaW5lcjpub3QoLmZsdWlkKSB7XG4gICAgd2lkdGg6IDkzM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudWkudWkudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDkzM3B4ICsgMnJlbSk7XG4gIH1cbiAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDkzM3B4ICsgM3JlbSk7XG4gIH1cbiAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoOTMzcHggKyA1cmVtKTtcbiAgfVxufVxuLyogTGFyZ2UgTW9uaXRvciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLnVpLnVpLmNvbnRhaW5lcjpub3QoLmZsdWlkKSB7XG4gICAgd2lkdGg6IDExMjdweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMTI3cHggKyAycmVtKTtcbiAgfVxuICAudWkudWkudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTEyN3B4ICsgM3JlbSk7XG4gIH1cbiAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTEyN3B4ICsgNXJlbSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUZXh0IENvbnRhaW5lciAqL1xuLnVpLnRleHQuY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi8qIFdpZGUgQ29udGFpbmVyICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLnVpLnVpLndpZGUuY29udGFpbmVyIHtcbiAgICB3aWR0aDogODY3LjZweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudWkudWkudWkud2lkZS5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMTE5LjZweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLnVpLnVpLndpZGUuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTM1Mi40cHg7XG4gIH1cbn1cbi8qIEZsdWlkICovXG4udWkuZmx1aWQuY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmp1c3RpZmllZC5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDExLjI1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDExLjI1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogNy41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogNy41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZyB7XG4gICAgbWF4LWhlaWdodDogMzBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNDVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDQ1ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDEzLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5zaG9ydC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTMuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDllbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZyB7XG4gICAgbWF4LWhlaWdodDogMzZlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzNmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNTRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDU0ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogMTJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxMmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyNGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAyNGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDQ4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogNDhlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA3MmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5zaG9ydCB7XG4gICAgbWF4LWhlaWdodDogMjIuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAyMi41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogMTVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDYwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogNjBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDkwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA5MGVtO1xuICB9XG59XG4udWkucmVzaXphYmxlLnNjcm9sbGluZy5jb250YWluZXIge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIERpdmlkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaXZpZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEhvcml6b250YWwgLyBWZXJ0aWNhbCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFNlY3Rpb24gKi9cbi8qIFNpemVzICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGl2aWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5kaXZpZGVyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRlcjpub3QoLnZlcnRpY2FsKTpub3QoLmhvcml6b250YWwpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFsbG93IGRpdmlkZXIgYmV0d2VlbiBlYWNoIGNvbHVtbiByb3cgKi9cbi51aS5ncmlkID4gLmNvbHVtbiArIC5kaXZpZGVyOm5vdCgudmVydGljYWwpLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiArIC5kaXZpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgbGVmdDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgSG9yaXpvbnRhbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhvcml6b250YWwuZGl2aWRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogXCJcIjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFlbSB0b3AgNTAlO1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFlbSB0b3AgNTAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbi51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBjb250ZW50OiBcIlwiO1xuICB6LWluZGV4OiAzO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG59XG4udWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlIHtcbiAgdG9wOiAtMTAwJTtcbn1cbi51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLyogSW5zaWRlIGdyaWQgKi9cbi51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcixcbi51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgZmxleDogMTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLmNvbHVtbiArIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICBtYXJnaW46IDFyZW07XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiBcIlwiO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxZW0gdG9wIDUwJTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMWVtIHRvcCA1MCU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkZXIgPiAuaWNvbiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBIZWFkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ob3Jpem9udGFsLmRpdmlkZXJbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlcltjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl06OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl06OmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlcltjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBIaWRkZW5cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oaWRkZW4uZGl2aWRlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aS5oaWRkZW4uZGl2aWRlcjo6YmVmb3JlLFxuLnVpLmhpZGRlbi5kaXZpZGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXZpZGVyLmludmVydGVkLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLmRpdmlkZXIsXG4udWkuaG9yaXpvbnRhbC5pbnZlcnRlZC5kaXZpZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZGl2aWRlci5pbnZlcnRlZCxcbi51aS5kaXZpZGVyLmludmVydGVkOjphZnRlcixcbi51aS5kaXZpZGVyLmludmVydGVkOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5maXR0ZWQuZGl2aWRlciB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENsZWFyaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2xlYXJpbmcuZGl2aWRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2VjdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlY3Rpb24uZGl2aWRlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmRpdmlkZXIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmRpdmlkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmRpdmlkZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQmFBQUFBQUNDQVlBQUFDdVRIdUtBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TlMxak1ERTBJRGM1TGpFMU1UUTRNU3dnTWpBeE15OHdNeTh4TXkweE1qb3dPVG94TlNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElDaFhhVzVrYjNkektTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzFPVGhCUkRZNE9VTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMU9UaEJSRFk0UVVORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pVNU9FRkVOamczUTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalU1T0VGRU5qZzRRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtWVTUxM2dBQUFEVkpSRUZVZU5yczBERU5BQ0FRQkRCSVdMR0JKUWJ5L21VY0puNXNKWFFtT1FNQUFBQUFBSnF0KzJwckFBQUFBQUNnMnhkZ0FOazZCRVZ1Smd5TUFBQUFBRWxGVGtTdVFtQ0NcIik7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEVtb2ppXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKlxuKiBUd2Vtb2ppIHYxNS4xIGJ5IEBqZGVja2VkIC0gaHR0cHM6Ly9naXRodWIuY29tL2pkZWNrZWQvdHdlbW9qaVxuKiBMaWNlbnNlIC0gTUlULCBDQy1CWSA0LjAgLSBodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wL1xuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRW1vamlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIERlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW1vamkgVmFyaWFibGVzICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRW1vamlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5lbVtkYXRhLWVtb2ppXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHNwZWFrOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5lbVtkYXRhLWVtb2ppXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwQTBcXDAwQTBcXDAwQTBcXDAwQTBcXDAwQTBcXDAwQTBcXDAwQTBcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5lbVtkYXRhLWVtb2ppXS5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZW1bZGF0YS1lbW9qaV0ubG9hZGluZzo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZW1bZGF0YS1lbW9qaV0ubGluazpub3QoLmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbmVtW2RhdGEtZW1vamldLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmVtW2RhdGEtZW1vamldLm1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuZW1bZGF0YS1lbW9qaV0ubGFyZ2Uge1xuICBmb250LXNpemU6IDZlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmVtW2RhdGEtZW1vamldLmJpZyB7XG4gIGZvbnQtc2l6ZTogNy41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmludGVycm9iYW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImludGVycm9iYW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIwNDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0bVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMTIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aW5mb3JtYXRpb25fc291cmNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZm9ybWF0aW9uX3NvdXJjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMTM5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9yaWdodF9hcnJvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X3JpZ2h0X2Fycm93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxOTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd191cF9kb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X3VwX2Rvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjE5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X3VwcGVyX2xlZnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfdXBwZXJfbGVmdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMTk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfdXBwZXJfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfdXBwZXJfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjE5Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2xvd2VyX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X2xvd2VyX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxOTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19sb3dlcl9sZWZ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X2xvd2VyX2xlZnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjE5OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtleWJvYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtleWJvYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzMjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdW5ueTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdW5ueVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjAwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvdWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvdWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYwMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVtYnJlbGxhMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1bWJyZWxsYTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dtYW4yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dtYW4yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb21ldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb21ldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjA0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFsbG90X2JveF93aXRoX2NoZWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbGxvdF9ib3hfd2l0aF9jaGVja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW1icmVsbGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidW1icmVsbGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvZmZlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb2ZmZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoYW1yb2NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoYW1yb2NrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpza3VsbF9jcm9zc2JvbmVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNrdWxsX2Nyb3NzYm9uZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYyMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhZGlvYWN0aXZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhZGlvYWN0aXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiaW9oYXphcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlvaGF6YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcnRob2RveF9jcm9zczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcnRob2RveF9jcm9zc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hlZWxfb2ZfZGhhcm1hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoZWVsX29mX2RoYXJtYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJvd25pbmcyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZyb3duaW5nMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjM5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmVtYWxlX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVtYWxlX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY0MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbGVfc2lnbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWxlX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY0Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFyaWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFyaWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0YXVydXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGF1cnVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWdpdHRhcml1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWdpdHRhcml1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2Fwcmljb3JuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhcHJpY29yblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXF1YXJpdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXF1YXJpdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY1Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpc2NlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaXNjZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY1My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwYWRlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGFkZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY2MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsdWJzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsdWJzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaWFtb25kczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaWFtb25kc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG90c3ByaW5nczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3RzcHJpbmdzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2Njguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW1tZXJfcGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW1tZXJfcGlja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5jaG9yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuY2hvclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3Jvc3NlZF9zd29yZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3Jvc3NlZF9zd29yZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lZGljYWxfc3ltYm9sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lZGljYWxfc3ltYm9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2FsZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NhbGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2OTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbGVtYmljOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFsZW1iaWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2VhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2Npc3NvcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2Npc3NvcnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX2NoZWNrX21hcms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfY2hlY2tfbWFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzA1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWlycGxhbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWlycGxhbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVudmVsb3BlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVudmVsb3BlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19uaWI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfbmliXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWF2eV9jaGVja19tYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXZ5X2NoZWNrX21hcmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X211bHRpcGxpY2F0aW9uX3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfbXVsdGlwbGljYXRpb25feFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3Rhcl9vZl9kYXZpZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyX29mX2RhdmlkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGFya2xlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGFya2xlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWlnaHRfc3Bva2VkX2FzdGVyaXNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVpZ2h0X3Nwb2tlZF9hc3Rlcmlza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWlnaHRfcG9pbnRlZF9ibGFja19zdGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVpZ2h0X3BvaW50ZWRfYmxhY2tfc3RhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd2ZsYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dmbGFrZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BhcmtsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGFya2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpxdWVzdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJxdWVzdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JleV9xdWVzdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmV5X3F1ZXN0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmV5X2V4Y2xhbWF0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZXlfZXhjbGFtYXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc1NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV4Y2xhbWF0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV4Y2xhbWF0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9leGNsYW1hdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9leGNsYW1hdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc2NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X3BsdXNfc2lnbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWF2eV9wbHVzX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X21pbnVzX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfbWludXNfc2lnblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhdnlfZGl2aXNpb25fc2lnbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWF2eV9kaXZpc2lvbl9zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3OTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19oZWFkaW5nX3VwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X2hlYWRpbmdfdXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjkzNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2hlYWRpbmdfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19oZWFkaW5nX2Rvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjkzNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndhdnlfZGFzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZ5X2Rhc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzAzMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbmdyYXR1bGF0aW9uczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb25ncmF0dWxhdGlvbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzI5Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlY3JldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWNyZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzI5OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyaW5uaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyaW5uaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjAwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21pbGV5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjA0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjAxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGF1Z2hpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGF1Z2hpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX2hvbGRpbmdfYmFja190ZWFyczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX2hvbGRpbmdfYmFja190ZWFyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN3ZWF0X3NtaWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN3ZWF0X3NtaWxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjA1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6am95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImpveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvZmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9mbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaWxpbmdfZmFjZV93aXRoX3RlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21pbGluZ19mYWNlX3dpdGhfdGVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlbGF4ZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVsYXhlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1c2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmx1c2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbm5vY2VudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbm5vY2VudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsaWdodF9zbWlsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbGlnaHRfc21pbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1cHNpZGVfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1cHNpZGVfZG93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2lua1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlbGlldmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlbGlldmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9leWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21pbGluZ19mYWNlX3dpdGhfM19oZWFydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21pbGluZ19mYWNlX3dpdGhfM19oZWFydHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzaW5nX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NpbmdfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzaW5nX3NtaWxpbmdfZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzaW5nX3NtaWxpbmdfZXllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NpbmdfY2xvc2VkX2V5ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc2luZ19jbG9zZWRfZXllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnl1bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5dW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVja19vdXRfdG9uZ3VlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWNrX291dF90b25ndWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVja19vdXRfdG9uZ3VlX2Nsb3NlZF9leWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWNrX291dF90b25ndWVfY2xvc2VkX2V5ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVja19vdXRfdG9uZ3VlX3dpbmtpbmdfZXllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWNrX291dF90b25ndWVfd2lua2luZ19leWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp6YW55X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiemFueV9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV93aXRoX3JhaXNlZF9leWVicm93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9yYWlzZWRfZXllYnJvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9tb25vY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9tb25vY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmVyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTEzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VuZ2xhc3NlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdW5nbGFzc2VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGlzZ3Vpc2VkX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGlzZ3Vpc2VkX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Nzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFyX3N0cnVjazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyX3N0cnVja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcnR5aW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFydHlpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW5hbXVzZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidW5hbXVzZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaXNhcHBvaW50ZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGlzYXBwb2ludGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjFlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVuc2l2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW5zaXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29ycmllZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b3JyaWVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29uZnVzZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uZnVzZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbGlnaHRfZnJvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2xpZ2h0X2Zyb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc2V2ZXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNldmVyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbmZvdW5kZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uZm91bmRlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRpcmVkX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGlyZWRfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndlYXJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndlYXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGxlYWRpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbGVhZGluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3J5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzb2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cml1bXBoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyaXVtcGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9zeW1ib2xzX292ZXJfbW91dGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV93aXRoX3N5bWJvbHNfb3Zlcl9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV4cGxvZGluZ19oZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV4cGxvZGluZ19oZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmx1c2hlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbHVzaGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG90X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG90X2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2xkX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29sZF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV9pbl9jbG91ZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV9pbl9jbG91ZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MzYtMjAwZC0xZjMyYi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NyZWFtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjcmVhbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlYXJmdWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVhcmZ1bFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbGRfc3dlYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29sZF9zd2VhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpc2FwcG9pbnRlZF9yZWxpZXZlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaXNhcHBvaW50ZWRfcmVsaWV2ZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzd2VhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzd2VhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmh1Z2dpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaHVnZ2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRoaW5raW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRoaW5raW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV93aXRoX3BlZWtpbmdfZXllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9wZWVraW5nX2V5ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9oYW5kX292ZXJfbW91dGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV93aXRoX2hhbmRfb3Zlcl9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9vcGVuX2V5ZXNfYW5kX2hhbmRfb3Zlcl9tb3V0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfb3Blbl9leWVzX2FuZF9oYW5kX292ZXJfbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWx1dGluZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbHV0aW5nX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaHVzaGluZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNodXNoaW5nX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWx0aW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVsdGluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bHlpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJseWluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9fbW91dGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm9fbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb3R0ZWRfbGluZV9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvdHRlZF9saW5lX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXV0cmFsX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmV1dHJhbF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV93aXRoX2RpYWdvbmFsX21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9kaWFnb25hbF9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFlNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV4cHJlc3Npb25sZXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV4cHJlc3Npb25sZXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2hha2luZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoYWtpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYWRfc2hha2luZ19ob3Jpem9udGFsbHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhZF9zaGFraW5nX2hvcml6b250YWxseVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Mi0yMDBkLTIxOTQtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYWRfc2hha2luZ192ZXJ0aWNhbGx5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWRfc2hha2luZ192ZXJ0aWNhbGx5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQyLTIwMGQtMjE5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JpbWFjaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyaW1hY2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvbGxpbmdfZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2xsaW5nX2V5ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpodXNoZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaHVzaGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJvd25pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJvd25pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmd1aXNoZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5ndWlzaGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9tb3V0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX21vdXRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0b25pc2hlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhc3RvbmlzaGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWF3bmluZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInlhd25pbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsZWVwaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNsZWVwaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJvb2xpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcm9vbGluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xlZXB5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNsZWVweVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2VfZXhoYWxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV9leGhhbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyZS0yMDBkLTFmNGE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGl6enlfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaXp6eV9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV93aXRoX3NwaXJhbF9leWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9zcGlyYWxfZXllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzNS0yMDBkLTFmNGFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6emlwcGVyX21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInppcHBlcl9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvb3p5X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29venlfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5hdXNlYXRlZF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5hdXNlYXRlZF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV92b21pdGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3ZvbWl0aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25lZXppbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbmVlemluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFzazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYXNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGhlcm1vbWV0ZXJfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aGVybW9tZXRlcl9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhZF9iYW5kYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWRfYmFuZGFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vbmV5X21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vbmV5X21vdXRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y293Ym95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvd2JveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaWxpbmdfaW1wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxpbmdfaW1wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjA4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aW1wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImltcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmphcGFuZXNlX29ncmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamFwYW5lc2Vfb2dyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmphcGFuZXNlX2dvYmxpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqYXBhbmVzZV9nb2JsaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvb3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9vcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdob3N0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdob3N0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2t1bGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2t1bGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbGllbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbGllblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwYWNlX2ludmFkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhY2VfaW52YWRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvYm90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvYm90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amFja19vX2xhbnRlcm46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamFja19vX2xhbnRlcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlsZXlfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxleV9jYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2M2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlsZV9jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21pbGVfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6am95X2NhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqb3lfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfZXllc19jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfZXllc19jYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2M2Iuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlya19jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21pcmtfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc2luZ19jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc2luZ19jYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2M2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY3JlYW1fY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjcmVhbV9jYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcnlpbmdfY2F0X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3J5aW5nX2NhdF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG91dGluZ19jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG91dGluZ19jYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2M2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9oYW5kczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9oYW5kc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2hhbmRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY2LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfaGFuZHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9oYW5kc190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9oYW5kc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2hhbmRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY2LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfaGFuZHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtc191cF90b2dldGhlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtc191cF90b2dldGhlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1zX3VwX3RvZ2V0aGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1zX3VwX3RvZ2V0aGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbXNfdXBfdG9nZXRoZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbXNfdXBfdG9nZXRoZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtc191cF90b2dldGhlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtc191cF90b2dldGhlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1zX3VwX3RvZ2V0aGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1zX3VwX3RvZ2V0aGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbXNfdXBfdG9nZXRoZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbXNfdXBfdG9nZXRoZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2hhbmRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5faGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kc190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kc190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmItMjAwZC0xZmFmMi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmItMjAwZC0xZmFmMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmItMjAwZC0xZmFmMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmItMjAwZC0xZmFmMi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmMtMjAwZC0xZmFmMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZjLTIwMGQtMWZhZjItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZjLTIwMGQtMWZhZjItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZjLTIwMGQtMWZhZjItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZkLTIwMGQtMWZhZjItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZkLTIwMGQtMWZhZjItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFkLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lM190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZC0yMDBkLTFmYWYyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZC0yMDBkLTFmYWYyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZS0yMDBkLTFmYWYyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lNF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZS0yMDBkLTFmYWYyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZS0yMDBkLTFmYWYyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmUtMjAwZC0xZmFmMi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmYtMjAwZC0xZmFmMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmYtMjAwZC0xZmFmMi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmYtMjAwZC0xZmFmMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmYtMjAwZC0xZmFmMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnN1cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnN1cFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRodW1ic3VwX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic3VwX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRkLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzdXBfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGh1bWJzdXBfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnN1cF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnN1cF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0ZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRodW1ic3VwX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic3VwX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRkLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzdXBfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGh1bWJzdXBfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnNkb3duX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic2Rvd25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdW5jaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdW5jaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1bmNoX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1bmNoX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVuY2hfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVuY2hfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdW5jaF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdW5jaF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0YS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1bmNoX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1bmNoX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVuY2hfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVuY2hfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlzdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlzdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0X2ZhY2luZ19maXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfZmFjaW5nX2Zpc3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodF9mYWNpbmdfZmlzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodF9mYWNpbmdfZmlzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0X2ZhY2luZ19maXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0X2ZhY2luZ19maXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodF9mYWNpbmdfZmlzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodF9mYWNpbmdfZmlzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0X2ZhY2luZ19maXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0X2ZhY2luZ19maXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX3B1c2hpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX3B1c2hpbmdfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmOC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaW5nZXJzX2Nyb3NzZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmluZ2Vyc19jcm9zc2VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmluZ2Vyc19jcm9zc2VkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpbmdlcnNfY3Jvc3NlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbmdlcnNfY3Jvc3NlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaW5nZXJzX2Nyb3NzZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaW5nZXJzX2Nyb3NzZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmluZ2Vyc19jcm9zc2VkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFlLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmluZ2Vyc19jcm9zc2VkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpbmdlcnNfY3Jvc3NlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbmdlcnNfY3Jvc3NlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaW5nZXJzX2Nyb3NzZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfd2l0aF9pbmRleF9maW5nZXJfYW5kX3RodW1iX2Nyb3NzZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX3lvdV9nZXN0dXJlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfeW91X2dlc3R1cmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXRhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXRhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1ldGFsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1ldGFsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWV0YWxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWV0YWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXRhbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXRhbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxOC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1ldGFsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1ldGFsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWV0YWxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWV0YWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpva19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGVkX2ZpbmdlcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluY2hlZF9maW5nZXJzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hlZF9maW5nZXJzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoZWRfZmluZ2Vyc190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwYy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmNoZWRfZmluZ2Vyc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGVkX2ZpbmdlcnNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGVkX2ZpbmdlcnNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluY2hlZF9maW5nZXJzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hlZF9maW5nZXJzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoZWRfZmluZ2Vyc190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmNoZWRfZmluZ2Vyc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGVkX2ZpbmdlcnNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGluZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX2Rvd25faGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX2Rvd25faGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fZG93bl9oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fZG93bl9oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYzLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV9kb3duX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV9kb3duX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX2Rvd25faGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX2Rvd25faGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fZG93bl9oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fZG93bl9oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYzLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV9kb3duX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV9kb3duX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX3VwX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV91cF9oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV91cF9oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fdXBfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fdXBfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX3VwX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX3VwX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV91cF9oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV91cF9oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fdXBfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fdXBfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX3VwX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9sZWZ0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2xlZnRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF8yX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwXzJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9kb3duX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X2Rvd25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfdXBfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3VwX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MWQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjFkLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfdXBfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3VwX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MWQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfYmFja19vZl9oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9iYWNrX29mX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3NwbGF5ZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZF9zcGxheWVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF9zcGxheWVkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfc3BsYXllZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5MC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRfc3BsYXllZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3NwbGF5ZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3NwbGF5ZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZF9zcGxheWVkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTkwLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF9zcGxheWVkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfc3BsYXllZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5MC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRfc3BsYXllZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3NwbGF5ZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2dWxjYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidnVsY2FuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dnVsY2FuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZ1bGNhbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5Ni0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZ1bGNhbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2dWxjYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2dWxjYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidnVsY2FuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTk2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dnVsY2FuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZ1bGNhbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5Ni0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZ1bGNhbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2dWxjYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsX21lX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxfbWVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnR3YXJkc19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdHdhcmRzX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnR3YXJkc19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdHdhcmRzX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXVzY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzY2xlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2NsZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhYS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11c2NsZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNjbGVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNjbGVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXVzY2xlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFhLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzY2xlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2NsZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhYS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11c2NsZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNjbGVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pY2FsX2FybTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY2FsX2FybVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2ZpbmdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2Zpbmdlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2Zpbmdlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2Zpbmdlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2Zpbmdlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pZGRsZV9maW5nZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlkZGxlX2Zpbmdlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5NS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndyaXRpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3cml0aW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXlfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXlfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Zi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5kZXhfcG9pbnRpbmdfYXRfdGhlX3ZpZXdlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVnX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVnX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVnX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVnX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lY2hhbmljYWxfbGVnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lY2hhbmljYWxfbGVnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGlwc3RpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGlwc3RpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsaXBzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpcHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiaXRpbmdfbGlwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJpdGluZ19saXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b290aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b290aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvbmd1ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b25ndWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0Mi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0Mi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfd2l0aF9oZWFyaW5nX2FpZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfd2l0aF9oZWFyaW5nX2FpZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliYi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3NlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vc2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290cHJpbnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RwcmludHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpleWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJleWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5hdG9taWNhbF9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmF0b21pY2FsX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bHVuZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibHVuZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmFpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmFpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwZWFraW5nX2hlYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BlYWtpbmdfaGVhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1c3RfaW5fc2lsaG91ZXR0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidXN0X2luX3NpbGhvdWV0dGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidXN0c19pbl9zaWxob3VldHRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1c3RzX2luX3NpbGhvdWV0dGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW9wbGVfaHVnZ2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW9wbGVfaHVnZ2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ni0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpbGRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpbGRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGlsZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlsZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWxkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaWxkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpbGRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpbGRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGlsZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlsZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmxfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmxfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lybF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ny0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib3lfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm95X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY2LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym95X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJveV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ni0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJveV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3lfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib3lfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm95X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY2LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym95X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJveV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ni0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFkdWx0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFkdWx0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWR1bHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWR1bHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphZHVsdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZHVsdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFkdWx0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFkdWx0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWR1bHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWR1bHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphZHVsdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZHVsdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Njguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9jdXJseV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9jdXJseV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTFfY3VybHlfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTFfY3VybHlfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUyX2N1cmx5X2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUyX2N1cmx5X2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lM19jdXJseV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lM19jdXJseV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTRfY3VybHlfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTRfY3VybHlfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU1X2N1cmx5X2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU1X2N1cmx5X2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2N1cmx5X2hhaXJlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jdXJseV9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jdXJseV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2N1cmx5X2hhaXJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2N1cmx5X2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY3VybHlfaGFpcmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY3VybHlfaGFpcmVkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jdXJseV9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jdXJseV9oYWlyZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2N1cmx5X2hhaXJlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2N1cmx5X2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY3VybHlfaGFpcmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY3VybHlfaGFpcmVkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jdXJseV9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lMV9yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTFfcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lMl9yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTJfcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lM19yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTNfcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lNF9yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTRfcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lNV9yZWRfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTVfcmVkX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JlZF9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmVkX2hhaXJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmVkX2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yZWRfaGFpcmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yZWRfaGFpcmVkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JlZF9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JlZF9oYWlyZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmVkX2hhaXJlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmVkX2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yZWRfaGFpcmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yZWRfaGFpcmVkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JlZF9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yZWRfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yZWRfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmVkX2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmVkX2hhaXJlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JlZF9oYWlyZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3JlZF9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yZWRfaGFpcmVkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yZWRfaGFpcmVkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmVkX2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmVkX2hhaXJlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JlZF9oYWlyZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3JlZF9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmRfaGFpcmVkX3BlcnNvbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF93b21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG9uZC1oYWlyZWRfd29tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfd29tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX3dvbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcxLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxvbmQtaGFpcmVkX3dvbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF93b21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF93b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG9uZC1oYWlyZWRfd29tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfd29tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX3dvbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcxLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxvbmQtaGFpcmVkX3dvbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF93b21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aGl0ZV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aGl0ZV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTFfd2hpdGVfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTFfd2hpdGVfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUyX3doaXRlX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUyX3doaXRlX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lM193aGl0ZV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lM193aGl0ZV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTRfd2hpdGVfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTRfd2hpdGVfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU1X3doaXRlX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU1X3doaXRlX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3doaXRlX2hhaXJlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aGl0ZV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3doaXRlX2hhaXJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3doaXRlX2hhaXJlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2hpdGVfaGFpcmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2hpdGVfaGFpcmVkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aGl0ZV9oYWlyZWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aGl0ZV9oYWlyZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3doaXRlX2hhaXJlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3doaXRlX2hhaXJlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2hpdGVfaGFpcmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2hpdGVfaGFpcmVkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aGl0ZV9oYWlyZWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9iYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTFfYmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTFfYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUyX2JhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUyX2JhbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lM19iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lM19iYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTRfYmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTRfYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU1X2JhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU1X2JhbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmFsZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iYWxkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iYWxkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JhbGRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JhbGRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmFsZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmFsZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iYWxkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iYWxkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JhbGRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9iYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYmFsZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmFsZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JhbGRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JhbGRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iYWxkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9iYWxkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYmFsZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmFsZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JhbGRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JhbGRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYXJkZWRfcGVyc29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYXJkZWRfcGVyc29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhcmRlZF9wZXJzb25fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhcmRlZF9wZXJzb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFyZGVkX3BlcnNvbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFyZGVkX3BlcnNvbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYXJkZWRfcGVyc29uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYXJkZWRfcGVyc29uX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhcmRlZF9wZXJzb25fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhcmRlZF9wZXJzb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFyZGVkX3BlcnNvbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFyZGVkX3BlcnNvbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTFfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTFfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lMl9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lMl9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmUzX2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmUzX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTRfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTRfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lNV9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lNV9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTFfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmUxX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmUyX2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lMl9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lM19iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTNfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTRfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmU0X2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmU1X2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lNV9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX2FkdWx0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX2FkdWx0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfYWR1bHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfYWR1bHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9hZHVsdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9hZHVsdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX2FkdWx0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX2FkdWx0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfYWR1bHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfYWR1bHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9hZHVsdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9hZHVsdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX3dvbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX3dvbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfd29tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfd29tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl93b21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl93b21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX3dvbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX3dvbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfd29tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfd29tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl93b21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl93b21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc0LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc0LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX2NoaW5lc2VfY2FwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX2NoaW5lc2VfY2FwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF9jaGluZXNlX2NhcF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9jaGluZXNlX2NhcF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Mi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF9jaGluZXNlX2NhcF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9jaGluZXNlX2NhcF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Mi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93ZWFyaW5nX3R1cmJhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2VhcmluZ190dXJiYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dlYXJpbmdfdHVyYmFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dlYXJpbmdfdHVyYmFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93ZWFyaW5nX3R1cmJhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2VhcmluZ190dXJiYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2VhcmluZ190dXJiYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93ZWFyaW5nX3R1cmJhbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93ZWFyaW5nX3R1cmJhbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2VhcmluZ190dXJiYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2VhcmluZ190dXJiYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dlYXJpbmdfdHVyYmFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dlYXJpbmdfdHVyYmFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93ZWFyaW5nX3R1cmJhbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfaGVhZHNjYXJmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfaGVhZHNjYXJmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX2hlYWRzY2FyZl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX2hlYWRzY2FyZl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX2hlYWRzY2FyZl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX2hlYWRzY2FyZl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvbGljZV9vZmZpY2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvbGljZV9vZmZpY2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9saWNlX29mZmljZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9saWNlX29mZmljZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2xpY2Vfb2ZmaWNlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xpY2Vfb2ZmaWNlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvbGljZV9vZmZpY2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvbGljZV9vZmZpY2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9saWNlX29mZmljZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9saWNlX29mZmljZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2xpY2Vfb2ZmaWNlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xpY2Vfb2ZmaWNlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BvbGljZV9vZmZpY2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvbGljZV9vZmZpY2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG9saWNlX29mZmljZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcG9saWNlX29mZmljZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG9saWNlX29mZmljZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcG9saWNlX29mZmljZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb2xpY2Vfb2ZmaWNlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG9saWNlX29mZmljZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG9saWNlX29mZmljZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvbGljZV9vZmZpY2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvbGljZV9vZmZpY2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG9saWNlX29mZmljZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG9saWNlX29mZmljZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvbGljZV9vZmZpY2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvbGljZV9vZmZpY2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc3LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc3LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1YXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VhcmRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3VhcmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpndWFyZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndWFyZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1YXJkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1YXJkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VhcmRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3VhcmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpndWFyZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndWFyZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2d1YXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2d1YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ3VhcmRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ3VhcmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ndWFyZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ndWFyZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2d1YXJkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2d1YXJkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ3VhcmRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ3VhcmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ndWFyZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ndWFyZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ndWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ3VhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ3VhcmRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2d1YXJkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2d1YXJkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ndWFyZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ndWFyZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ3VhcmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ3VhcmRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2d1YXJkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2d1YXJkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ndWFyZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRldGVjdGl2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXRlY3RpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXRlY3RpdmVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGV0ZWN0aXZlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGV0ZWN0aXZlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRldGVjdGl2ZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRldGVjdGl2ZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXRlY3RpdmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXRlY3RpdmVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGV0ZWN0aXZlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGV0ZWN0aXZlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRldGVjdGl2ZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2RldGVjdGl2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9kZXRlY3RpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtZmUwZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2RldGVjdGl2ZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9kZXRlY3RpdmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9kZXRlY3RpdmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZGV0ZWN0aXZlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZGV0ZWN0aXZlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2RldGVjdGl2ZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2RldGVjdGl2ZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9kZXRlY3RpdmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9kZXRlY3RpdmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZGV0ZWN0aXZlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LWZlMGYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGV0ZWN0aXZlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kZXRlY3RpdmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGV0ZWN0aXZlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kZXRlY3RpdmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGV0ZWN0aXZlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kZXRlY3RpdmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGV0ZWN0aXZlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kZXRlY3RpdmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGV0ZWN0aXZlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kZXRlY3RpdmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFsdGhfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWx0aF93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9oZWFsdGhfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2hlYWx0aF93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faGVhbHRoX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faGVhbHRoX3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTI2OTUtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9oZWFsdGhfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9oZWFsdGhfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2hlYWx0aF93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2hlYWx0aF93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faGVhbHRoX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faGVhbHRoX3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI2OTUtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9oZWFsdGhfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9oZWFsdGhfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2hlYWx0aF93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2hlYWx0aF93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXJtZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFybWVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYXJtZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFybWVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFybWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYXJtZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjMzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYXJtZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zhcm1lcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zhcm1lcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFybWVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFybWVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYXJtZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjMzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYXJtZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zhcm1lcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zhcm1lcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFybWVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvb2tfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29va190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29rX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2tfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvb2tfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29va190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Nvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Nvb2tfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29va190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY29va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jb29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb29rX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Nvb2tfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Nvb2tfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29va190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY29va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jb29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Nvb2tfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Nvb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb29rX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29va190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29va190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Nvb2tfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Nvb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb29rX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVkZW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWRlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0dWRlbnRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3R1ZGVudF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1ZGVudF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVkZW50X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVkZW50X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWRlbnRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0dWRlbnRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3R1ZGVudF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1ZGVudF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVkZW50X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdHVkZW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0dWRlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0dWRlbnRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3R1ZGVudF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3R1ZGVudF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdHVkZW50X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdHVkZW50X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0dWRlbnRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0dWRlbnRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3R1ZGVudF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3R1ZGVudF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdHVkZW50X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3R1ZGVudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3R1ZGVudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0dWRlbnRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0dWRlbnRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdHVkZW50X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdHVkZW50X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3R1ZGVudF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3R1ZGVudF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0dWRlbnRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0dWRlbnRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdHVkZW50X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdHVkZW50X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaW5nZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2luZ2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaW5nZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2luZ2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2luZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaW5nZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjNhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zaW5nZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Npbmdlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Npbmdlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2luZ2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2luZ2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaW5nZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjNhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zaW5nZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Npbmdlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Npbmdlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2luZ2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWFjaGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYWNoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlYWNoZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVhY2hlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhY2hlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWFjaGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWFjaGVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYWNoZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlYWNoZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVhY2hlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhY2hlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWFjaGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWFjaGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlYWNoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RlYWNoZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVhY2hlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVhY2hlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90ZWFjaGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWFjaGVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlYWNoZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RlYWNoZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVhY2hlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVhY2hlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90ZWFjaGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVhY2hlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVhY2hlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlYWNoZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlYWNoZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWFjaGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWFjaGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVhY2hlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVhY2hlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlYWNoZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlYWNoZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWFjaGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWFjaGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWN0b3J5X3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWN0b3J5X3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjdG9yeV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjdG9yeV93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY3Rvcnlfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY3Rvcnlfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWN0b3J5X3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWN0b3J5X3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjdG9yeV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjdG9yeV93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY3Rvcnlfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY3Rvcnlfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWN0b3J5X3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWN0b3J5X3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjdG9yeV93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWNobm9sb2dpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVjaG5vbG9naXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWNobm9sb2dpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVjaG5vbG9naXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVjaG5vbG9naXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWNobm9sb2dpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjRiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWNobm9sb2dpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlY2hub2xvZ2lzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlY2hub2xvZ2lzdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVjaG5vbG9naXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVjaG5vbG9naXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWNobm9sb2dpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjRiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWNobm9sb2dpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlY2hub2xvZ2lzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlY2hub2xvZ2lzdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVjaG5vbG9naXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZmZpY2Vfd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9mZmljZV93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9mZmljZV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2ZmaWNlX3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2ZmaWNlX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZmZpY2Vfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZmZpY2Vfd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9mZmljZV93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9mZmljZV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2ZmaWNlX3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2ZmaWNlX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZmZpY2Vfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9vZmZpY2Vfd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX29mZmljZV93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX29mZmljZV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fb2ZmaWNlX3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fb2ZmaWNlX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX29mZmljZV93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX29mZmljZV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fb2ZmaWNlX3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fb2ZmaWNlX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fb2ZmaWNlX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fb2ZmaWNlX3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX29mZmljZV93b3JrZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX29mZmljZV93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9vZmZpY2Vfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9vZmZpY2Vfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fb2ZmaWNlX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fb2ZmaWNlX3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX29mZmljZV93b3JrZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX29mZmljZV93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9vZmZpY2Vfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9vZmZpY2Vfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVjaGFuaWNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVjaGFuaWNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lY2hhbmljX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lY2hhbmljX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pY190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVjaGFuaWNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVjaGFuaWNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lY2hhbmljX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lY2hhbmljX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tZWNoYW5pYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tZWNoYW5pY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWVjaGFuaWNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbWVjaGFuaWNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21lY2hhbmljX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21lY2hhbmljX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tZWNoYW5pY190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tZWNoYW5pY190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWVjaGFuaWNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbWVjaGFuaWNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21lY2hhbmljX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21lY2hhbmljX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWVjaGFuaWNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21lY2hhbmljX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2llbnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NpZW50aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zY2llbnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2NpZW50aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2NpZW50aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zY2llbnRpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjUyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zY2llbnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3NjaWVudGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NjaWVudGlzdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2NpZW50aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2NpZW50aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zY2llbnRpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjUyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zY2llbnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3NjaWVudGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NjaWVudGlzdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2NpZW50aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hcnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXJ0aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXJ0aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hcnRpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjNhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hcnRpc3RfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FydGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FydGlzdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXJ0aXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXJ0aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hcnRpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjNhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hcnRpc3RfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FydGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FydGlzdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXJ0aXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlZmlnaHRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlZmlnaHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZWZpZ2h0ZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZWZpZ2h0ZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVmaWdodGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVmaWdodGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlZmlnaHRlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlZmlnaHRlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZWZpZ2h0ZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZWZpZ2h0ZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVmaWdodGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVmaWdodGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9maXJlZmlnaHRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9maXJlZmlnaHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZpcmVmaWdodGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZpcmVmaWdodGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9maXJlZmlnaHRlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9maXJlZmlnaHRlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZpcmVmaWdodGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZpcmVmaWdodGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmlyZWZpZ2h0ZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZpcmVmaWdodGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWxvdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWxvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbG90X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbG90X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlsb3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlsb3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWxvdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWxvdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbG90X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbG90X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlsb3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlsb3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9waWxvdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9waWxvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BpbG90X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BpbG90X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGlsb3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGlsb3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9waWxvdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9waWxvdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BpbG90X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BpbG90X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGlsb3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGlsb3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGlsb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BpbG90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BpbG90X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9waWxvdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9waWxvdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGlsb3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGlsb3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BpbG90X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BpbG90X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9waWxvdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9waWxvdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGlsb3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3Ryb25hdXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0cm9uYXV0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hc3Ryb25hdXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYXN0cm9uYXV0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXN0cm9uYXV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hc3Ryb25hdXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjY4MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hc3Ryb25hdXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FzdHJvbmF1dF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FzdHJvbmF1dF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXN0cm9uYXV0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXN0cm9uYXV0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hc3Ryb25hdXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjY4MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hc3Ryb25hdXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FzdHJvbmF1dF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FzdHJvbmF1dF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXN0cm9uYXV0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqdWRnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqdWRnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmp1ZGdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImp1ZGdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6anVkZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwianVkZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqdWRnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqdWRnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmp1ZGdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImp1ZGdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6anVkZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwianVkZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWRnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWRnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1ZGdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1ZGdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVkZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVkZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWRnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWRnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1ZGdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1ZGdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVkZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVkZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVkZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1ZGdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1ZGdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWRnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWRnZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVkZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVkZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1ZGdlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1ZGdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWRnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWRnZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVkZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF92ZWlsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3ZlaWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3ZlaWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF92ZWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF92ZWlsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfdmVpbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfdmVpbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3ZlaWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3ZlaWxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF92ZWlsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF92ZWlsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfdmVpbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfdmVpbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3ZlaWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF92ZWlsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3ZlaWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fdHV4ZWRvX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl90dXhlZG9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl90dXhlZG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fdHV4ZWRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fdHV4ZWRvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3R1eGVkb190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3R1eGVkb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl90dXhlZG9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl90dXhlZG9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fdHV4ZWRvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fdHV4ZWRvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3R1eGVkb190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3R1eGVkb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl90dXhlZG9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fdHV4ZWRvX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl90dXhlZG9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF9jcm93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9jcm93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX2Nyb3duX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX2Nyb3duX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfY3Jvd25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfY3Jvd25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF9jcm93bl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9jcm93bl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX2Nyb3duX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX2Nyb3duX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfY3Jvd25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfY3Jvd25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2VzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2Vzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZXNzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZXNzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlc3NfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlc3NfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2Vzc190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2Vzc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZXNzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZXNzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlc3NfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlc3NfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcmhlcm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJoZXJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJoZXJvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVyaGVyb190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVyaGVyb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcmhlcm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcmhlcm9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJoZXJvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJoZXJvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVyaGVyb190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVyaGVyb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcmhlcm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcmhlcm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJoZXJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJoZXJvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVyaGVyb190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVyaGVyb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcmhlcm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcmhlcm9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJoZXJvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJoZXJvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVyaGVyb190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVyaGVyb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcmhlcm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJoZXJvX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcmhlcm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcnZpbGxhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJ2aWxsYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJ2aWxsYWluX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVydmlsbGFpbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVydmlsbGFpbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcnZpbGxhaW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcnZpbGxhaW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJ2aWxsYWluX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJ2aWxsYWluX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVydmlsbGFpbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVydmlsbGFpbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcnZpbGxhaW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcnZpbGxhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJ2aWxsYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJ2aWxsYWluX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVydmlsbGFpbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVydmlsbGFpbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJ2aWxsYWluX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJ2aWxsYWluX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVydmlsbGFpbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVydmlsbGFpbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VwZXJ2aWxsYWluX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXBlcnZpbGxhaW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuaW5qYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuaW5qYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pbmphX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5pbmphX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmluamFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmluamFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuaW5qYV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuaW5qYV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Ny0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pbmphX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5pbmphX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmluamFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmluamFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpteF9jbGF1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJteF9jbGF1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmMzg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXhfY2xhdXNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXhfY2xhdXNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjM4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm14X2NsYXVzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm14X2NsYXVzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpteF9jbGF1c190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJteF9jbGF1c190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmMzg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXhfY2xhdXNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXhfY2xhdXNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjM4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm14X2NsYXVzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm14X2NsYXVzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptcnNfY2xhdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXJzX2NsYXVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXJzX2NsYXVzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1yc19jbGF1c190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1yc19jbGF1c190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtcnNfY2xhdXNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptcnNfY2xhdXNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXJzX2NsYXVzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXJzX2NsYXVzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1yc19jbGF1c190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1yc19jbGF1c190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtcnNfY2xhdXNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW50YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW50YVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbnRhX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbnRhX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FudGFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FudGFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW50YV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW50YV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4NS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbnRhX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbnRhX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FudGFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FudGFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tYWdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21hZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbWFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tYWdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21hZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21hZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWFnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbWFnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tYWdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21hZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21hZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxmX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVsZl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGZfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbGZfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxmX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxmX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVsZl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGZfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9lbGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZWxmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZWxmX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2VsZl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2VsZl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9lbGZfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9lbGZfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZWxmX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZWxmX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2VsZl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2VsZl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9lbGZfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZWxmX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9lbGZfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cm9sbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cm9sbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZhbXBpcmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmFtcGlyZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3ZhbXBpcmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdmFtcGlyZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl92YW1waXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl92YW1waXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3ZhbXBpcmVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3ZhbXBpcmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdmFtcGlyZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdmFtcGlyZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl92YW1waXJlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl92YW1waXJlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRiLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3ZhbXBpcmVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3ZhbXBpcmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdmFtcGlyZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdmFtcGlyZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnpvbWJpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6b21iaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl96b21iaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fem9tYmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3pvbWJpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fem9tYmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2VuaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2VuaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZW5pZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZW5pZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nZW5pZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VuaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJwZXJzb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVycGVyc29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVycGVyc29uX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcnBlcnNvbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcnBlcnNvbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJwZXJzb25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJwZXJzb25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVycGVyc29uX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVycGVyc29uX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcnBlcnNvbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcnBlcnNvbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJwZXJzb25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYWlkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1haWRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVybWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcm1hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVybWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcm1hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWlyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWlyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhaXJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhaXJ5X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFpcnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFpcnlfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWlyeV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWlyeV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhaXJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhaXJ5X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFpcnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFpcnlfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWlyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWlyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhaXJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhaXJ5X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFpcnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFpcnlfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWlyeV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWlyeV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhaXJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhaXJ5X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFpcnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFpcnlfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFpcnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhaXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhaXJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWlyeV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWlyeV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFpcnlfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFpcnlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhaXJ5X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhaXJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWlyeV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWlyeV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFpcnlfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5nZWxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5nZWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2MtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdlbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdlbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Yy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5nZWxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5nZWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2MtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9wZXJzb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfcGVyc29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfcGVyc29uX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3BlcnNvbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3BlcnNvbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9wZXJzb25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9wZXJzb25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfcGVyc29uX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfcGVyc29uX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3BlcnNvbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3BlcnNvbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9wZXJzb25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF93b21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF93b21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3dvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3dvbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMwLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfd29tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF93b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF93b21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3dvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3dvbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMwLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfd29tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmVhc3RfZmVlZGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmVhc3RfZmVlZGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyZWFzdF9mZWVkaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyZWFzdF9mZWVkaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJlYXN0X2ZlZWRpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJlYXN0X2ZlZWRpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmVhc3RfZmVlZGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmVhc3RfZmVlZGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyZWFzdF9mZWVkaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyZWFzdF9mZWVkaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJlYXN0X2ZlZWRpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJlYXN0X2ZlZWRpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmVlZGluZ19iYWJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mZWVkaW5nX2JhYnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZlZWRpbmdfYmFieV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZlZWRpbmdfYmFieV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZlZWRpbmdfYmFieV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZlZWRpbmdfYmFieV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnlfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnlfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mZWVkaW5nX2JhYnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmVlZGluZ19iYWJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmVlZGluZ19iYWJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mZWVkaW5nX2JhYnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mZWVkaW5nX2JhYnlfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZlZWRpbmdfYmFieV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZlZWRpbmdfYmFieV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmVlZGluZ19iYWJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmVlZGluZ19iYWJ5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mZWVkaW5nX2JhYnlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mZWVkaW5nX2JhYnlfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZlZWRpbmdfYmFieV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZlZWRpbmdfYmFieV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmVlZGluZ19iYWJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm93aW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3dpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm93aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm93aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jvd2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ny0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jvd2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3dpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm93aW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm93aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jvd2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ny0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jvd2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm93aW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdGlwcGluZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90aXBwaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90aXBwaW5nX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGlwcGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGlwcGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RpcHBpbmdfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4MS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RpcHBpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90aXBwaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90aXBwaW5nX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGlwcGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGlwcGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RpcHBpbmdfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4MS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RpcHBpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90aXBwaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGlwcGluZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90aXBwaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfbm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfbm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX25vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX25vX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19ub190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0NS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19ub190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX25vX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX25vX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19ub190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0NS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19ub190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX25vX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfbm9fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXN0dXJpbmdfb2tfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19va190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ni0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX29rX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19va190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ni0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VzdHVyaW5nX29rX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXN0dXJpbmdfb2tfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmFpc2luZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yYWlzaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yYWlzaW5nX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmFpc2luZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmFpc2luZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JhaXNpbmdfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JhaXNpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmFpc2luZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmFpc2luZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JhaXNpbmdfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JhaXNpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmFpc2luZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yYWlzaW5nX2hhbmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3BlcnNvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3BlcnNvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfcGVyc29uX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfcGVyc29uX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9wZXJzb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9wZXJzb25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3BlcnNvbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3BlcnNvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfcGVyc29uX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfcGVyc29uX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9wZXJzb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9wZXJzb25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3dvbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmFjZXBhbG1pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZhY2VwYWxtaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZhY2VwYWxtaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mYWNlcGFsbWluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mYWNlcGFsbWluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZhY2VwYWxtaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZhY2VwYWxtaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mYWNlcGFsbWluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mYWNlcGFsbWluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWNlcGFsbWluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWNlcGFsbWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY2VwYWxtaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY2VwYWxtaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjZXBhbG1pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjZXBhbG1pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWNlcGFsbWluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWNlcGFsbWluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY2VwYWxtaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY2VwYWxtaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjZXBhbG1pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjZXBhbG1pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjZXBhbG1pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY2VwYWxtaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY2VwYWxtaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWNlcGFsbWluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWNlcGFsbWluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFjZXBhbG1pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjZXBhbG1pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY2VwYWxtaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY2VwYWxtaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWNlcGFsbWluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWNlcGFsbWluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFjZXBhbG1pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Mzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc2hydWdnaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zaHJ1Z2dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaHJ1Z2dpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2hydWdnaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2hydWdnaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NocnVnZ2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNy0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3NocnVnZ2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zaHJ1Z2dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaHJ1Z2dpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2hydWdnaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2hydWdnaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NocnVnZ2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNy0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3NocnVnZ2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zaHJ1Z2dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2hydWdnaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaHJ1Z2dpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcG91dGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcG91dGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wb3V0aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wb3V0aW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BvdXRpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BvdXRpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcG91dGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcG91dGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wb3V0aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wb3V0aW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BvdXRpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BvdXRpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb3V0aW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvdXRpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG91dGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG91dGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb3V0aW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb3V0aW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvdXRpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvdXRpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG91dGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG91dGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb3V0aW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb3V0aW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvdXRpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvdXRpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZnJvd25pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Zyb3duaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Zyb3duaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mcm93bmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mcm93bmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZnJvd25pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZnJvd25pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Zyb3duaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Zyb3duaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mcm93bmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mcm93bmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZnJvd25pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mcm93bmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mcm93bmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Zyb3duaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zyb3duaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZnJvd25pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZnJvd25pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mcm93bmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mcm93bmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Zyb3duaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zyb3duaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZnJvd25pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZnJvd25pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZnJvd25pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zyb3duaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zyb3duaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mcm93bmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mcm93bmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZnJvd25pbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZnJvd25pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zyb3duaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zyb3duaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mcm93bmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mcm93bmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZnJvd25pbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2hhaXJjdXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19oYWlyY3V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ny0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ny0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nZXR0aW5nX21hc3NhZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fc3RlYW15X3Jvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX3N0ZWFteV9yb29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9zdGVhbXlfcm9vbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9zdGVhbXlfcm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fc3RlYW15X3Jvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX3N0ZWFteV9yb29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3N0ZWFteV9yb29tX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9zdGVhbXlfcm9vbV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9zdGVhbXlfcm9vbV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fc3RlYW15X3Jvb21fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fc3RlYW15X3Jvb21fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX3N0ZWFteV9yb29tX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3N0ZWFteV9yb29tX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9zdGVhbXlfcm9vbV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9zdGVhbXlfcm9vbV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fc3RlYW15X3Jvb21fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYWlsX2NhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmFpbF9jYXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmFpbF9jYXJlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5haWxfY2FyZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4NS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5haWxfY2FyZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYWlsX2NhcmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYWlsX2NhcmVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmFpbF9jYXJlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmFpbF9jYXJlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5haWxfY2FyZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4NS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5haWxfY2FyZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYWlsX2NhcmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWxmaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VsZmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VsZmllX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlbGZpZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlbGZpZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWxmaWVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWxmaWVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VsZmllX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VsZmllX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlbGZpZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlbGZpZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWxmaWVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYW5jZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFuY2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFuY2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhbmNlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4My0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhbmNlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYW5jZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYW5jZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFuY2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFuY2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhbmNlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4My0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhbmNlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYW5jZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGFuY2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGFuY2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9kYW5jaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kYW5jaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTdhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RhbmNpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2RhbmNpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1N2EtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGFuY2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGFuY2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3YS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9kYW5jaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kYW5jaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTdhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RhbmNpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2RhbmNpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1N2EtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW9wbGVfd2l0aF9idW5ueV9lYXJzX3BhcnR5aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV93aXRoX2J1bm55X2VhcnNfcGFydHlpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl93aXRoX2J1bm55X2VhcnNfcGFydHlpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5fd2l0aF9idW5ueV9lYXJzX3BhcnR5aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX3dpdGhfYnVubnlfZWFyc19wYXJ0eWluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5fd2l0aF9idW5ueV9lYXJzX3BhcnR5aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGV2aXRhdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGV2aXRhdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZXZpdGF0ZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZXZpdGF0ZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxldml0YXRlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxldml0YXRlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGV2aXRhdGVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGV2aXRhdGVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZXZpdGF0ZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZXZpdGF0ZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxldml0YXRlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxldml0YXRlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmItMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmUtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYi0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmQtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZS0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmItMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZC0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmUtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9wcm9iaW5nX2NhbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9wcm9iaW5nX2NhbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9rbmVlbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fa25lZWxpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9rbmVlbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fa25lZWxpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9rbmVlbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fa25lZWxpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9rbmVlbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fa25lZWxpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZiLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZlLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmItMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZC0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmUtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmItMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmUtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYi0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmQtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZS0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmItMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZC0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmUtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N0YW5kaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdGFuZGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdGFuZGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3RhbmRpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3RhbmRpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N0YW5kaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N0YW5kaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdGFuZGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdGFuZGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3RhbmRpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3RhbmRpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N0YW5kaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3RhbmRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3RhbmRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdGFuZGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdGFuZGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0YW5kaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0YW5kaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3RhbmRpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3RhbmRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdGFuZGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdGFuZGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0YW5kaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0YW5kaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0YW5kaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdGFuZGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdGFuZGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3RhbmRpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3RhbmRpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0YW5kaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0YW5kaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdGFuZGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdGFuZGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3RhbmRpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3RhbmRpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0YW5kaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2hvbGRpbmdfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnR3b193b21lbl9ob2xkaW5nX2hhbmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR3b193b21lbl9ob2xkaW5nX2hhbmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZkLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lM190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZkLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0d29fbWVuX2hvbGRpbmdfaGFuZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHdvX21lbl9ob2xkaW5nX2hhbmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0Njguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3d3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0Njkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX21tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV9tbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVraXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZWtpc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhmLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lMl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Zi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhmLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193dzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3d3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfYWR1bHRfYWR1bHRfY2hpbGRfY2hpbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X2FkdWx0X2FkdWx0X2NoaWxkX2NoaWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5ZDEtMjAwZC0xZjlkMi0yMDBkLTFmOWQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X2FkdWx0X2FkdWx0X2NoaWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9hZHVsdF9hZHVsdF9jaGlsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWQxLTIwMGQtMWY5ZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfYWR1bHRfY2hpbGRfY2hpbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X2FkdWx0X2NoaWxkX2NoaWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5ZDItMjAwZC0xZjlkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9hZHVsdF9jaGlsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfYWR1bHRfY2hpbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjlkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbWFuX3dvbWFuX2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbWFuX3dvbWFuX2JveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY5LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbXdnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9td2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OS0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X213Z2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X213Z2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OS0yMDBkLTFmNDY3LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbXdiYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbXdiYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY5LTIwMGQtMWY0NjYtMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9td2dnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9td2dnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ny0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3d3YjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfd3diXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93d2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3d3Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY5LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfd3dnYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfd3dnYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY5LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93d2JiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93d2JiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ni0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3d3Z2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3d3Z2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2OS0yMDBkLTFmNDY3LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbW1iOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tbWJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OC0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21tZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbW1nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjgtMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9tbWdiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tbWdiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjgtMjAwZC0xZjQ2Ny0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21tYmI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21tYmJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OC0yMDBkLTFmNDY2LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbW1nZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbW1nZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY4LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93b21hbl9ib3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3dvbWFuX2JveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3dvbWFuX2dpcmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3dvbWFuX2dpcmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93b21hbl9naXJsX2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfd29tYW5fZ2lybF9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2Ny0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3dvbWFuX2JveV9ib3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3dvbWFuX2JveV9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2Ni0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3dvbWFuX2dpcmxfZ2lybDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfd29tYW5fZ2lybF9naXJsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9tYW5fYm95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tYW5fYm95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbWFuX2dpcmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21hbl9naXJsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbWFuX2dpcmxfYm95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tYW5fZ2lybF9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2Ny0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21hbl9ib3lfYm95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tYW5fYm95X2JveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY2LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbWFuX2dpcmxfZ2lybDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbWFuX2dpcmxfZ2lybFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY3LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprbm90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtub3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp5YXJuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInlhcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHJlYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGhyZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2V3aW5nX25lZWRsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZXdpbmdfbmVlZGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWU1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFiX2NvYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFiX2NvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5N2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWZldHlfdmVzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWZldHlfdmVzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuc19jbG90aGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuc19jbG90aGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2hpcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hpcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqZWFuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqZWFuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyaWVmczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmllZnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaG9ydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hvcnRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmVja3RpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZWNrdGllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJlc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJlc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiaWtpbmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlraW5pXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b25lX3BpZWNlX3N3aW1zdWl0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uZV9waWVjZV9zd2ltc3VpdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpbW9ubzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraW1vbm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYXJpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhcmlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5N2Iuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aG9uZ19zYW5kYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGhvbmdfc2FuZGFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTc0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5zX2ZsYXRfc2hvZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbnNfZmxhdF9zaG9lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGlnaF9oZWVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhpZ2hfaGVlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbmRhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW5kYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib290OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5zX3Nob2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuc19zaG9lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDVlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXRobGV0aWNfc2hvZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhdGhsZXRpY19zaG9lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGlraW5nX2Jvb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGlraW5nX2Jvb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5N2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzb2NrczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzb2Nrc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdsb3ZlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnbG92ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY2FyZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY2FyZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvcGhhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b3BoYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiaWxsZWRfY2FwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJpbGxlZF9jYXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbnNfaGF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuc19oYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3J0YXJfYm9hcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9ydGFyX2JvYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVsbWV0X3dpdGhfY3Jvc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVsbWV0X3dpdGhfY3Jvc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pbGl0YXJ5X2hlbG1ldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaWxpdGFyeV9oZWxtZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcm93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcm93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdWNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdWNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVyc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVyc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kYmFnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRiYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmllZmNhc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJpZWZjYXNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2Nob29sX3NhdGNoZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2Nob29sX3NhdGNoZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsdWdnYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImx1Z2dhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpleWVnbGFzc2VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV5ZWdsYXNzZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYXJrX3N1bmdsYXNzZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFya19zdW5nbGFzc2VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z29nZ2xlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnb2dnbGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvc2VkX3VtYnJlbGxhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3NlZF91bWJyZWxsYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1cmx5X2hhaXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXJseV9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWRfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZF9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG9nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbXN0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFtc3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhYmJpdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWJiaXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOThhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFuZGFfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYW5kYV9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9sYXJfYmVhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xhcl9iZWFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNiLTIwMGQtMjc0NC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a29hbGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia29hbGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Mjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aWdlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aWdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpb25fZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsaW9uX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY293XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpZ19ub3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpZ19ub3NlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmcm9nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9ua2V5X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9ua2V5X2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWVfbm9fZXZpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWVfbm9fZXZpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJfbm9fZXZpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFyX25vX2V2aWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGVha19ub19ldmlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwZWFrX25vX2V2aWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb25rZXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9ua2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpY2tlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlja2VuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVuZ3VpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW5ndWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiaXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFieV9jaGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWJ5X2NoaWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGF0Y2hpbmdfY2hpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGF0Y2hpbmdfY2hpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYXRjaGVkX2NoaWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhdGNoZWRfY2hpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnb29zZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnb29zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmR1Y2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHVja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX2JpcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfYmlyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyNi0yMDBkLTJiMWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYWdsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYWdsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm93bDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvd2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTg3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29sZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b2xmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9hcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib2FyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9yc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9yc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1bmljb3JuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVuaWNvcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb29zZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb29zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b3JtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvcm1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnV0dGVyZmx5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1dHRlcmZseVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNuYWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNuYWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDBjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFkeV9iZWV0bGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFkeV9iZWV0bGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmx5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZseVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlZXRsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWV0bGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2Nrcm9hY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29ja3JvYWNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9zcXVpdG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9zcXVpdG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcmlja2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyaWNrZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGlkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BpZGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BpZGVyX3dlYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGlkZXJfd2ViXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NvcnBpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NvcnBpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0dXJ0bGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHVydGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25ha2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25ha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsaXphcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGl6YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOThlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dF9yZXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidF9yZXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYXVyb3BvZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYXVyb3BvZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9jdG9wdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2N0b3B1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNxdWlkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNxdWlkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTkxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amVsbHlmaXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImplbGx5ZmlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNocmltcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaHJpbXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb2JzdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvYnN0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcmFiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyYWJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG93ZmlzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG93ZmlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyb3BpY2FsX2Zpc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJvcGljYWxfZmlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRvbHBoaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9scGhpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoYWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoYWxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hhbGUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoYWxlMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoYXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTg4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JvY29kaWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyb2NvZGlsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRpZ2VyMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aWdlcjJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZW9wYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlb3BhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp6ZWJyYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6ZWJyYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdvcmlsbGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ29yaWxsYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9yYW5ndXRhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcmFuZ3V0YW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW1tb3RoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbW1vdGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbGVwaGFudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGVwaGFudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpcHBvcG90YW11czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoaXBwb3BvdGFtdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaGlubzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaGlub1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRyb21lZGFyeV9jYW1lbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcm9tZWRhcnlfY2FtZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW1lbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYW1lbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpcmFmZmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lyYWZmZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmthbmdhcm9vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImthbmdhcm9vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTk4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymlzb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlzb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXRlcl9idWZmYWxvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhdGVyX2J1ZmZhbG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdzI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY293MlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRvbmtleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb25rZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhY2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWNlaG9yc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFjZWhvcnNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlnMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWcyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoZWVwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoZWVwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGxhbWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGxhbWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnb2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb2cyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvZzJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb29kbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9vZGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VpZGVfZG9nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1aWRlX2RvZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlcnZpY2VfZG9nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlcnZpY2VfZG9nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDE1LTIwMGQtMWY5YmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXQyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhdDJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA4LTIwMGQtMmIxYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlYXRoZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVhdGhlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvb3N0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9vc3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnR1cmtleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0dXJrZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb2RvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvZG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZWFjb2NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlYWNvY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJyb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFycm90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTljLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3dhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzd2FuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhbWluZ286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhbWluZ29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb3ZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWJiaXQyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhYmJpdDJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWNjb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhY2Nvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpza3VuazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJza3Vua1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhZGdlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWRnZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWF2ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhdmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3R0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3R0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbG90aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbG90aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdXNlMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VzZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDAwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpcG11bms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpcG11bmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0M2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWRnZWhvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWRnZWhvZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRyYWdvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcmFnb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkcmFnb25fZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcmFnb25fZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBob2VuaXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGhvZW5peFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyNi0yMDBkLTFmNTI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FjdHVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhY3R1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNocmlzdG1hc190cmVlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNocmlzdG1hc190cmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXZlcmdyZWVuX3RyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXZlcmdyZWVuX3RyZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWNpZHVvdXNfdHJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWNpZHVvdXNfdHJlZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fdHJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX3RyZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b29kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvb2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWVkbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWVkbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlcmI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVyYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvdXJfbGVhZl9jbG92ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm91cl9sZWFmX2Nsb3ZlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbWJvbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYW1ib29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3R0ZWRfcGxhbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG90dGVkX3BsYW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWI0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGFuYWJhdGFfdHJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YW5hYmF0YV90cmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzhiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVhdmVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlYXZlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbGxlbl9sZWFmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbGxlbl9sZWFmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFwbGVfbGVhZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYXBsZV9sZWFmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmVzdF93aXRoX2VnZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmVzdF93aXRoX2VnZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbXB0eV9uZXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVtcHR5X25lc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNocm9vbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNocm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb3duX211c2hyb29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyb3duX211c2hyb29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQ0LTIwMGQtMWY3ZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGVsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGVsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvcmFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvcmFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cm9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2NrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX29mX3JpY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX29mX3JpY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib3VxdWV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvdXF1ZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0dWxpcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0dWxpcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbHRlZF9yb3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbHRlZF9yb3NlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aHlhY2ludGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaHlhY2ludGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3R1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3R1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpYmlzY3VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhpYmlzY3VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hlcnJ5X2Jsb3Nzb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hlcnJ5X2Jsb3Nzb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9zc29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb3Nzb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzM2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdW5mbG93ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VuZmxvd2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VuX3dpdGhfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdW5fd2l0aF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzFlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnVsbF9tb29uX3dpdGhfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmdWxsX21vb25fd2l0aF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmlyc3RfcXVhcnRlcl9tb29uX3dpdGhfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJzdF9xdWFydGVyX21vb25fd2l0aF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFzdF9xdWFydGVyX21vb25fd2l0aF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhc3RfcXVhcnRlcl9tb29uX3dpdGhfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5ld19tb29uX3dpdGhfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZXdfbW9vbl93aXRoX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmdWxsX21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnVsbF9tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FuaW5nX2dpYmJvdXNfbW9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YW5pbmdfZ2liYm91c19tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFzdF9xdWFydGVyX21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFzdF9xdWFydGVyX21vb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YW5pbmdfY3Jlc2NlbnRfbW9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YW5pbmdfY3Jlc2NlbnRfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5ld19tb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5ld19tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F4aW5nX2NyZXNjZW50X21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2F4aW5nX2NyZXNjZW50X21vb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJzdF9xdWFydGVyX21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyc3RfcXVhcnRlcl9tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzEzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F4aW5nX2dpYmJvdXNfbW9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXhpbmdfZ2liYm91c19tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3Jlc2NlbnRfbW9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcmVzY2VudF9tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzE5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFydGhfYW1lcmljYXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFydGhfYW1lcmljYXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJ0aF9hZnJpY2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFydGhfYWZyaWNhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzBkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFydGhfYXNpYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJ0aF9hc2lhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmluZ2VkX3BsYW5ldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaW5nZWRfcGxhbmV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGl6enk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGl6enlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMmI1MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXIyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YXIyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6emFwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInphcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9vbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvdWRfdG9ybmFkbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG91ZF90b3JuYWRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpbmJvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWluYm93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzA4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfc3VuX3NtYWxsX2Nsb3VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX3N1bl9zbWFsbF9jbG91ZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcnRseV9zdW5ueTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYXJ0bHlfc3VubnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZjNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX3N1bl9jbG91ZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9zdW5fY2xvdWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9zdW5fcmFpbl9jbG91ZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9zdW5fcmFpbl9jbG91ZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3VkX3JhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvdWRfcmFpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRodW5kZXJfY2xvdWRfcmFpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVuZGVyX2Nsb3VkX3JhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZjOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3VkX2xpZ2h0bmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG91ZF9saWdodG5pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG91ZF9zbm93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3VkX3Nub3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93bWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dtYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZjNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbmRfYmxvd2luZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmRfYmxvd2luZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJvcGxldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcm9wbGV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3dlYXRfZHJvcHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3dlYXRfZHJvcHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidWJibGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1YmJsZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvY2VhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvY2VhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmVlbl9hcHBsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmVlbl9hcHBsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFwcGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFwcGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZWFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGFuZ2VyaW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRhbmdlcmluZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlbW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlbW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGltZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsaW1lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzRiLTIwMGQtMWY3ZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYW5hbmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFuYW5hXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F0ZXJtZWxvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXRlcm1lbG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JhcGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyYXBlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0cmF3YmVycnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3RyYXdiZXJyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsdWViZXJyaWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsdWViZXJyaWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVsb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVsb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGVycmllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGVycmllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlYWNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlYWNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuZ286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuZ29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5lYXBwbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluZWFwcGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29jb251dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb2NvbnV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2l3aTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXdpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9tYXRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvbWF0b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVnZ3BsYW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVnZ3BsYW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXZvY2FkbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhdm9jYWRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVhX3BvZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZWFfcG9kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJvY2NvbGk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJvY2NvbGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWFmeV9ncmVlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWFmeV9ncmVlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1Y3VtYmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1Y3VtYmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTUyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG90X3BlcHBlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3RfcGVwcGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVsbF9wZXBwZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVsbF9wZXBwZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3JuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzM2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXJyb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2Fycm90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnYXJsaWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2FybGljXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b25pb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib25pb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3RhdG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG90YXRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3dlZXRfcG90YXRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN3ZWV0X3BvdGF0b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpbmdlcl9yb290OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpbmdlcl9yb290XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWRhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JvaXNzYW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyb2lzc2FudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhZ2VsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhZ2VsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJlYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJlYWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmcmVuY2hfYnJlYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJlbmNoX2JyZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJldHplbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmV0emVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hlZXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoZWVzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVnZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlZ2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29raW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2tpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidXR0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnV0dGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFuY2FrZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFuY2FrZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YWZmbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2FmZmxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWM3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFjb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFjb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXRfb2ZfbWVhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXRfb2ZfbWVhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdWx0cnlfbGVnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdWx0cnlfbGVnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVhdF9vbl9ib25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lYXRfb25fYm9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdGRvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3Rkb2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW1idXJnZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFtYnVyZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJpZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJpZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaXp6YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaXp6YVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYXRicmVhZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGF0YnJlYWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW5kd2ljaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW5kd2ljaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0dWZmZWRfZmxhdGJyZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWZmZWRfZmxhdGJyZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFsYWZlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWxhZmVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGFjbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YWNvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVycml0bzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidXJyaXRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGFtYWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRhbWFsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbGFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbGFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2hhbGxvd19wYW5fb2ZfZm9vZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGFsbG93X3Bhbl9vZl9mb29kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9uZHVlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvbmR1ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbm5lZF9mb29kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbm5lZF9mb29kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImphclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwYWdoZXR0aTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGFnaGV0dGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYW1lbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYW1lblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0ZXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3Rld1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1cnJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1cnJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VzaGk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VzaGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZW50bzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZW50b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmR1bXBsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImR1bXBsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3lzdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm95c3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyaWVkX3NocmltcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmcmllZF9zaHJpbXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWNlX2JhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmljZV9iYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmljZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmljZV9jcmFja2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpY2VfY3JhY2tlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc2hfY2FrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXNoX2Nha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb3J0dW5lX2Nvb2tpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb3J0dW5lX2Nvb2tpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vb25fY2FrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb29uX2Nha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZGVuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9kZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYW5nbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYW5nb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoYXZlZF9pY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hhdmVkX2ljZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmljZV9jcmVhbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpY2VfY3JlYW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppY2VjcmVhbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpY2VjcmVhbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXBjYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1cGNha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiaXJ0aGRheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiaXJ0aGRheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1c3RhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VzdGFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxvbGxpcG9wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvbGxpcG9wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FuZHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FuZHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaG9jb2xhdGVfYmFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNob2NvbGF0ZV9iYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3Bjb3JuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvcGNvcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzN2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb3VnaG51dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb3VnaG51dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvb2tpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29raWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGVzdG51dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGVzdG51dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlYW51dHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVhbnV0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYW5zOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYW5zXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQ4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9uZXlfcG90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvbmV5X3BvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pbGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlsa1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdXJpbmdfbGlxdWlkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdXJpbmdfbGlxdWlkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFieV9ib3R0bGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV9ib3R0bGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWFwb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVhcG90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWF0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJldmVyYWdlX2JveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZXZlcmFnZV9ib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXBfd2l0aF9zdHJhdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXBfd2l0aF9zdHJhd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1YmJsZV90ZWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnViYmxlX3RlYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNha2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FrZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlZXJzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlZXJzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzdiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hhbXBhZ25lX2dsYXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoYW1wYWduZV9nbGFzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbmVfZ2xhc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2luZV9nbGFzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnR1bWJsZXJfZ2xhc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHVtYmxlcl9nbGFzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvY2t0YWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvY2t0YWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzc4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJvcGljYWxfZHJpbms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJvcGljYWxfZHJpbmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGFtcGFnbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hhbXBhZ25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzdlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aWNlX2N1YmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWNlX2N1YmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcG9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcG9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvcmtfYW5kX2tuaWZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvcmtfYW5kX2tuaWZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzc0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9ya19rbmlmZV9wbGF0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb3JrX2tuaWZlX3BsYXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzdkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym93bF93aXRoX3Nwb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvd2xfd2l0aF9zcG9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRha2VvdXRfYm94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRha2VvdXRfYm94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTYxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hvcHN0aWNrczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaG9wc3RpY2tzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FsdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWx0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c29jY2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvY2NlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFza2V0YmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXNrZXRiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9vdGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9vdGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXNlYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXNlYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c29mdGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic29mdGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZW5uaXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVubmlzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2JlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dm9sbGV5YmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2b2xsZXliYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2QwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cnVnYnlfZm9vdGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicnVnYnlfZm9vdGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbHlpbmdfZGlzYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbHlpbmdfZGlzY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOjhiYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIjhiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2IxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eW9feW86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieW9feW9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5nX3Bvbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluZ19wb25nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2QzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFkbWludG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhZG1pbnRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvY2tleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob2NrZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaWVsZF9ob2NrZXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmllbGRfaG9ja2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2QxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFjcm9zc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFjcm9zc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcmlja2V0X2dhbWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3JpY2tldF9nYW1lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9vbWVyYW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvb21lcmFuZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE4My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdvYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ29hbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdvbGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ29sZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2l0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTgxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGxheWdyb3VuZF9zbGlkZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbGF5Z3JvdW5kX3NsaWRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym93X2FuZF9hcnJvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3dfYW5kX2Fycm93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlzaGluZ19wb2xlX2FuZF9maXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc2hpbmdfcG9sZV9hbmRfZmlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpdmluZ19tYXNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRpdmluZ19tYXNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym94aW5nX2dsb3ZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJveGluZ19nbG92ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hcnRpYWxfYXJ0c191bmlmb3JtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hcnRpYWxfYXJ0c191bmlmb3JtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cnVubmluZ19zaGlydF93aXRoX3Nhc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicnVubmluZ19zaGlydF93aXRoX3Nhc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpza2F0ZWJvYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNrYXRlYm9hcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Zjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2xsZXJfc2thdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9sbGVyX3NrYXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbGVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aWNlX3NrYXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImljZV9za2F0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VybGluZ19zdG9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXJsaW5nX3N0b25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2tpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNraVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNraWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNraWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2Zjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93Ym9hcmRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93Ym9hcmRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dib2FyZGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dib2FyZGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd2JvYXJkZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25vd2JvYXJkZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93Ym9hcmRlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93Ym9hcmRlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dib2FyZGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dib2FyZGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd2JvYXJkZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25vd2JvYXJkZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJhY2h1dGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFyYWNodXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTgyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbGlmdGluZ193ZWlnaHRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbGlmdGluZ193ZWlnaHRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2xpZnRpbmdfd2VpZ2h0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi1mZTBmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItZmUwZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2xpZnRpbmdfd2VpZ2h0c190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2xpZnRpbmdfd2VpZ2h0c190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2xpZnRpbmdfd2VpZ2h0c190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2xpZnRpbmdfd2VpZ2h0c190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2xpZnRpbmdfd2VpZ2h0c190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV93cmVzdGxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX3dyZXN0bGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX3dyZXN0bGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl93cmVzdGxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2MtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5fd3Jlc3RsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl93cmVzdGxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2MtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Mzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9kb2luZ19jYXJ0d2hlZWxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jYXJ0d2hlZWxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2FydHdoZWVsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2FydHdoZWVsaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NhcnR3aGVlbGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NhcnR3aGVlbGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2FydHdoZWVsaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2FydHdoZWVsaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NhcnR3aGVlbGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NhcnR3aGVlbGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2FydHdoZWVsaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jYXJ0d2hlZWxpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm91bmNpbmdfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm91bmNpbmdfYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm91bmNpbmdfYmFsbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm91bmNpbmdfYmFsbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3VuY2luZ19iYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JvdW5jaW5nX2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS1mZTBmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm91bmNpbmdfYmFsbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3VuY2luZ19iYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3VuY2luZ19iYWxsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm91bmNpbmdfYmFsbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm91bmNpbmdfYmFsbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3VuY2luZ19iYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3VuY2luZ19iYWxsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ib3VuY2luZ19iYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3VuY2luZ19iYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktZmUwZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ib3VuY2luZ19iYWxsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3VuY2luZ19iYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm91bmNpbmdfYmFsbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm91bmNpbmdfYmFsbF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JvdW5jaW5nX2JhbGxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JvdW5jaW5nX2JhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ib3VuY2luZ19iYWxsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3VuY2luZ19iYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm91bmNpbmdfYmFsbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm91bmNpbmdfYmFsbF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZlbmNpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZlbmNpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcGxheWluZ19oYW5kYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ19oYW5kYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGxheWluZ19oYW5kYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ19oYW5kYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGxheWluZ19oYW5kYmFsbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ19oYW5kYmFsbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ29sZmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ29sZmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9nb2xmaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nb2xmaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dvbGZpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2dvbGZpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ29sZmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ29sZmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9nb2xmaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nb2xmaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dvbGZpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2dvbGZpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtZmUwZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dvbGZpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ29sZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dvbGZpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ29sZmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dvbGZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ29sZmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dvbGZpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ29sZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dvbGZpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ29sZmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nb2xmaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nb2xmaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLWZlMGYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ29sZmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ29sZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nb2xmaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nb2xmaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dvbGZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dvbGZpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ29sZmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ29sZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nb2xmaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nb2xmaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9yc2VfcmFjaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvcnNlX3JhY2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvcnNlX3JhY2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3JzZV9yYWNpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3JzZV9yYWNpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9yc2VfcmFjaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9yc2VfcmFjaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvcnNlX3JhY2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvcnNlX3JhY2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3JzZV9yYWNpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3JzZV9yYWNpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9yc2VfcmFjaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9sb3R1c19wb3NpdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbG90dXNfcG9zaXRpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbG90dXNfcG9zaXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX2xvdHVzX3Bvc2l0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9sb3R1c19wb3NpdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N1cmZpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N1cmZpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3VyZmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3VyZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdXJmaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdXJmaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N1cmZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N1cmZpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3VyZmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3VyZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdXJmaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdXJmaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VyZmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXJmaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cmZpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N1cmZpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VyZmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VyZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdXJmaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXJmaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cmZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N1cmZpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VyZmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VyZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdXJmaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXJmaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N3aW1taW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zd2ltbWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zd2ltbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3dpbW1pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3dpbW1pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N3aW1taW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N3aW1taW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zd2ltbWluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zd2ltbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3dpbW1pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3dpbW1pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N3aW1taW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3dpbW1pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3dpbW1pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zd2ltbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zd2ltbWluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N3aW1taW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N3aW1taW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3dpbW1pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3dpbW1pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zd2ltbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zd2ltbWluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N3aW1taW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N3aW1taW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N3aW1taW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zd2ltbWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zd2ltbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3dpbW1pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3dpbW1pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N3aW1taW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N3aW1taW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zd2ltbWluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zd2ltbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3dpbW1pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3dpbW1pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N3aW1taW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ193YXRlcl9wb2xvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ193YXRlcl9wb2xvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2QtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2QtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3Jvd2luZ19ib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yb3dpbmdfYm9hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9yb3dpbmdfYm9hdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcm93aW5nX2JvYXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcm93aW5nX2JvYXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3Jvd2luZ19ib2F0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3Jvd2luZ19ib2F0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yb3dpbmdfYm9hdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9yb3dpbmdfYm9hdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcm93aW5nX2JvYXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcm93aW5nX2JvYXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3Jvd2luZ19ib2F0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcm93aW5nX2JvYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcm93aW5nX2JvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yb3dpbmdfYm9hdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yb3dpbmdfYm9hdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3Jvd2luZ19ib2F0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Jvd2luZ19ib2F0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcm93aW5nX2JvYXRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcm93aW5nX2JvYXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yb3dpbmdfYm9hdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yb3dpbmdfYm9hdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3Jvd2luZ19ib2F0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Jvd2luZ19ib2F0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Jvd2luZ19ib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yb3dpbmdfYm9hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yb3dpbmdfYm9hdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcm93aW5nX2JvYXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcm93aW5nX2JvYXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Jvd2luZ19ib2F0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Jvd2luZ19ib2F0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yb3dpbmdfYm9hdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yb3dpbmdfYm9hdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcm93aW5nX2JvYXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcm93aW5nX2JvYXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Jvd2luZ19ib2F0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2NsaW1iaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9jbGltYmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9jbGltYmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fY2xpbWJpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fY2xpbWJpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2NsaW1iaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2NsaW1iaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9jbGltYmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9jbGltYmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fY2xpbWJpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fY2xpbWJpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2NsaW1iaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2xpbWJpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2xpbWJpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jbGltYmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jbGltYmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NsaW1iaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NsaW1iaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2xpbWJpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2xpbWJpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jbGltYmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jbGltYmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NsaW1iaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NsaW1iaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NsaW1iaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jbGltYmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jbGltYmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2xpbWJpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2xpbWJpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NsaW1iaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NsaW1iaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jbGltYmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jbGltYmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2xpbWJpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2xpbWJpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NsaW1iaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX21vdW50YWluX2Jpa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fbW91bnRhaW5fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbW91bnRhaW5fYmlraW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21vdW50YWluX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21vdW50YWluX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21vdW50YWluX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21vdW50YWluX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21vdW50YWluX2Jpa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbW91bnRhaW5fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jpa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmlraW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iaWtpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjQtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmlraW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iaWtpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjQtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jpa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmlraW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJvcGh5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyb3BoeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcnN0X3BsYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcnN0X3BsYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2Vjb25kX3BsYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlY29uZF9wbGFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRoaXJkX3BsYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRoaXJkX3BsYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVkYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVkYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWxpdGFyeV9tZWRhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaWxpdGFyeV9tZWRhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvc2V0dGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9zZXR0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlbWluZGVyX3JpYmJvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZW1pbmRlcl9yaWJib25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aWNrZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGlja2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGlja2V0czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aWNrZXRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzlmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2lyY3VzX3RlbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2lyY3VzX3RlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fanVnZ2xpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2p1Z2dsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2p1Z2dsaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9qdWdnbGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9qdWdnbGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fanVnZ2xpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fanVnZ2xpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2p1Z2dsaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2p1Z2dsaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9qdWdnbGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9qdWdnbGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fanVnZ2xpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWdnbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWdnbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1Z2dsaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1Z2dsaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVnZ2xpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVnZ2xpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWdnbGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWdnbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1Z2dsaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1Z2dsaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVnZ2xpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVnZ2xpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVnZ2xpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1Z2dsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1Z2dsaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWdnbGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWdnbGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVnZ2xpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVnZ2xpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1Z2dsaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1Z2dsaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWdnbGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWdnbGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVnZ2xpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJmb3JtaW5nX2FydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyZm9ybWluZ19hcnRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFsbGV0X3Nob2VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbGxldF9zaG9lc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFwcGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsYXBwZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWNyb3Bob25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pY3JvcGhvbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFkcGhvbmVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWRwaG9uZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNpY2FsX3Njb3JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2ljYWxfc2NvcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNpY2FsX2tleWJvYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2ljYWxfa2V5Ym9hcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYXJhY2FzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hcmFjYXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkcnVtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRydW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb25nX2RydW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG9uZ19kcnVtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2F4b3Bob25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNheG9waG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRydW1wZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJ1bXBldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFjY29yZGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhY2NvcmRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpndWl0YXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3VpdGFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2I4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFuam86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFuam9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2aW9saW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmlvbGluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2JiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmx1dGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmx1dGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnYW1lX2RpZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnYW1lX2RpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoZXNzX3Bhd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hlc3NfcGF3blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym93bGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3dsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2IzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dmlkZW9fZ2FtZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2aWRlb19nYW1lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xvdF9tYWNoaW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNsb3RfbWFjaGluZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmppZ3NhdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqaWdzYXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWRfY2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZF9jYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0YXhpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRheGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlX2NhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibHVlX2NhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpY2t1cF90cnVjazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWNrdXBfdHJ1Y2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaW5pYnVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pbmlidXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjhjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJvbGxleWJ1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cm9sbGV5YnVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjhlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFjZV9jYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFjZV9jYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2xpY2VfY2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvbGljZV9jYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbWJ1bGFuY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW1idWxhbmNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjkxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZV9lbmdpbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZV9lbmdpbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cnVjazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cnVja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFydGljdWxhdGVkX2xvcnJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGljdWxhdGVkX2xvcnJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhY3RvcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFjdG9yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjljLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJvYmluZ19jYW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByb2JpbmdfY2FuZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbnVhbF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbnVhbF93aGVlbGNoYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW90b3JpemVkX3doZWVsY2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW90b3JpemVkX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcnV0Y2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3J1dGNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2Nvb3RlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY29vdGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiaWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW90b3Jfc2Nvb3RlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3Rvcl9zY29vdGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW90b3JjeWNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3RvcmN5Y2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXV0b19yaWNrc2hhdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhdXRvX3JpY2tzaGF3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hlZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hlZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb3RhdGluZ19saWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb3RhdGluZ19saWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9uY29taW5nX3BvbGljZV9jYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib25jb21pbmdfcG9saWNlX2NhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9uY29taW5nX2J1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbmNvbWluZ19idXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbmNvbWluZ19hdXRvbW9iaWxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uY29taW5nX2F1dG9tb2JpbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbmNvbWluZ190YXhpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uY29taW5nX3RheGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphZXJpYWxfdHJhbXdheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZXJpYWxfdHJhbXdheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdW50YWluX2NhYmxld2F5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdW50YWluX2NhYmxld2F5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VzcGVuc2lvbl9yYWlsd2F5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1c3BlbnNpb25fcmFpbHdheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaWx3YXlfY2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaWx3YXlfY2FyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjgzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VudGFpbl9yYWlsd2F5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdW50YWluX3JhaWx3YXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb25vcmFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb25vcmFpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1bGxldHRyYWluX3NpZGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVsbGV0dHJhaW5fc2lkZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1bGxldHRyYWluX2Zyb250OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1bGxldHRyYWluX2Zyb250XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjg1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGlnaHRfcmFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsaWdodF9yYWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjg4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3RlYW1fbG9jb21vdGl2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGVhbV9sb2NvbW90aXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjgyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhaW4yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyYWluMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1ldHJvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1ldHJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjg3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjhhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3RhdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGF0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjg5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWlycGxhbmVfZGVwYXJ0dXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFpcnBsYW5lX2RlcGFydHVyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFpcnBsYW5lX2Fycml2aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFpcnBsYW5lX2Fycml2aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWlycGxhbmVfc21hbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWlycGxhbmVfc21hbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYXRlbGxpdGVfb3JiaXRhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYXRlbGxpdGVfb3JiaXRhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvY2tldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2NrZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbHlpbmdfc2F1Y2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZseWluZ19zYXVjZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Zjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWxpY29wdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlbGljb3B0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ODEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW5vZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYW5vZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhaWxib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhaWxib2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGVlZGJvYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BlZWRib2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW90b3Jib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdG9yYm9hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZlNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNydWlzZV9zaGlwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNydWlzZV9zaGlwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmVycnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVycnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoaXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hpcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpbmdfYnVveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaW5nX2J1b3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmdWVscHVtcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmdWVscHVtcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29uc3RydWN0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZlcnRpY2FsX3RyYWZmaWNfbGlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmVydGljYWxfdHJhZmZpY19saWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWZmaWNfbGlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhZmZpY19saWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1c3N0b3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVzc3RvcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3lhaTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3lhaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXR1ZV9vZl9saWJlcnR5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YXR1ZV9vZl9saWJlcnR5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9reW9fdG93ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9reW9fdG93ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpldXJvcGVhbl9jYXN0bGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXVyb3BlYW5fY2FzdGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2YwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amFwYW5lc2VfY2FzdGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImphcGFuZXNlX2Nhc3RsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YWRpdW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3RhZGl1bVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlcnJpc193aGVlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmZXJyaXNfd2hlZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2xsZXJfY29hc3RlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2xsZXJfY29hc3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhcm91c2VsX2hvcnNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhcm91c2VsX2hvcnNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2EwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm91bnRhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm91bnRhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYWNoX3VtYnJlbGxhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYWNoX3VtYnJlbGxhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFjaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmlzbGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpc2xhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXNlcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVzZXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2RjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dm9sY2FubzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2b2xjYW5vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzBiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW91bnRhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91bnRhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdW50YWluX3Nub3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91bnRhaW5fc25vd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdW50X2Z1amk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91bnRfZnVqaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbXBpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FtcGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG91c2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG91c2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3VzZV93aXRoX2dhcmRlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3VzZV93aXRoX2dhcmRlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvbWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvbWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Q4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG91c2VfYWJhbmRvbmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvdXNlX2FiYW5kb25lZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmh1dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJodXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fc2l0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb25zdHJ1Y3Rpb25fc2l0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY3Rvcnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjdG9yeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9mZmljZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZmZpY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXBhcnRtZW50X3N0b3JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlcGFydG1lbnRfc3RvcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3N0X29mZmljZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3N0X29mZmljZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV1cm9wZWFuX3Bvc3Rfb2ZmaWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV1cm9wZWFuX3Bvc3Rfb2ZmaWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2U0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9zcGl0YWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9zcGl0YWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYW5rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3RlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3RlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnZlbmllbmNlX3N0b3JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnZlbmllbmNlX3N0b3JlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2VhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2Nob29sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaG9vbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxvdmVfaG90ZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG92ZV9ob3RlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndlZGRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2VkZGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsYXNzaWNhbF9idWlsZGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFzc2ljYWxfYnVpbGRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaHVyY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2h1cmNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3NxdWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9zcXVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3luYWdvZ3VlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN5bmFnb2d1ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU0ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpbmR1X3RlbXBsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoaW5kdV90ZW1wbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprYWFiYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrYWFiYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU0Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoaW50b19zaHJpbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hpbnRvX3NocmluZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpbHdheV90cmFjazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlsd2F5X3RyYWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW90b3J3YXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW90b3J3YXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqYXBhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqYXBhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpY2Vfc2NlbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmljZV9zY2VuZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1bnJpc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VucmlzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1bnJpc2Vfb3Zlcl9tb3VudGFpbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VucmlzZV9vdmVyX21vdW50YWluc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXJzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YXJzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BhcmtsZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhcmtsZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJld29ya3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZXdvcmtzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2l0eV9zdW5zZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2l0eV9zdW5zZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaXR5X2R1c2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2l0eV9kdXNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzA2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2l0eXNjYXBlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNpdHlzY2FwZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pZ2h0X3dpdGhfc3RhcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmlnaHRfd2l0aF9zdGFyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pbGt5X3dheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaWxreV93YXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmlkZ2VfYXRfbmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJpZGdlX2F0X25pZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzA5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9nZ3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9nZ3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXRjaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXRjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMzFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9iaWxlX3Bob25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vYmlsZV9waG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbGxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FsbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbXB1dGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbXB1dGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVza3RvcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXNrdG9wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbnRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmludGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW91c2VfdGhyZWVfYnV0dG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdXNlX3RocmVlX2J1dHRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjViMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWNrYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFja2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqb3lzdGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqb3lzdGlja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbXByZXNzaW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbXByZXNzaW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWluaWRpc2M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWluaWRpc2NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbG9wcHlfZGlzazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbG9wcHlfZGlza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHZkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImR2ZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZoczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2aHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW1lcmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FtZXJhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FtZXJhX3dpdGhfZmxhc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FtZXJhX3dpdGhfZmxhc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Zjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2aWRlb19jYW1lcmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmlkZW9fY2FtZXJhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW92aWVfY2FtZXJhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdmllX2NhbWVyYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByb2plY3RvcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcm9qZWN0b3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaWxtX2ZyYW1lczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaWxtX2ZyYW1lc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlbGVwaG9uZV9yZWNlaXZlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWxlcGhvbmVfcmVjZWl2ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWxlcGhvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVsZXBob25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWdlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZheDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0djpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0dlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhZGlvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhZGlvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWljcm9waG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWljcm9waG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZXZlbF9zbGlkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGV2ZWxfc2xpZGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzlhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29udHJvbF9rbm9iczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb250cm9sX2tub2JzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29tcGFzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb21wYXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3RvcHdhdGNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0b3B3YXRjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2YxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGltZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGltZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFsYXJtX2Nsb2NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFsYXJtX2Nsb2NrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdXJnbGFzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3VyZ2xhc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjMxYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdXJnbGFzc19mbG93aW5nX3NhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG91cmdsYXNzX2Zsb3dpbmdfc2FuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2YzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2F0ZWxsaXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhdGVsbGl0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhdHRlcnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmF0dGVyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxvd19iYXR0ZXJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvd19iYXR0ZXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxlY3RyaWNfcGx1ZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGVjdHJpY19wbHVnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTBjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVsYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidWxiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmxhc2hsaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFzaGxpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FuZGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbmRsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpeWFfbGFtcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaXlhX2xhbXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlX2V4dGluZ3Vpc2hlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlX2V4dGluZ3Vpc2hlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9pbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb25leV93aXRoX3dpbmdzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vbmV5X3dpdGhfd2luZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Yjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb2xsYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9sbGFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWVuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInllblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV1cm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXVyb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29pbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb2luXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9uZXliYWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9uZXliYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcmVkaXRfY2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcmVkaXRfY2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmlkZW50aWZpY2F0aW9uX2NhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWRlbnRpZmljYXRpb25fY2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdlbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnZW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsYWRkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFkZGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTljLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9vbGJveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b29sYm94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWYwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NyZXdkcml2ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NyZXdkcml2ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cmVuY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JlbmNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFtbWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbW1lclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvb2xzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvb2xzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2Y2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXJwZW50cnlfc2F3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhcnBlbnRyeV9zYXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpudXRfYW5kX2JvbHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibnV0X2FuZF9ib2x0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW91c2VfdHJhcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VzZV90cmFwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJpY2tzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyaWNrc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoYWluczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGFpbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZkMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpbms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGlua1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb2tlbl9jaGFpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm9rZW5fY2hhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZkMy1mZTBmLTIwMGQtMWY0YTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWduZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFnbmV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvbWI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9tYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVjcmFja2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVjcmFja2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXhlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImF4ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtuaWZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtuaWZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFnZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhZ2dlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVlMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoaWVsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGllbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbW9raW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtb2tpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2ZmaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29mZmluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFkc3RvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhZHN0b25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dXJuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVyblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW1waG9yYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbXBob3JhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2ZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3J5c3RhbF9iYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyeXN0YWxfYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByYXllcl9iZWFkczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmF5ZXJfYmVhZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYXphcl9hbXVsZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmF6YXJfYW11bGV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFtc2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFtc2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXJiZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFyYmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVsZXNjb3BlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlbGVzY29wZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pY3Jvc2NvcGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWljcm9zY29wZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9sZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnhfcmF5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInhfcmF5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTdiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWRoZXNpdmVfYmFuZGFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZGhlc2l2ZV9iYW5kYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTc5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3RldGhvc2NvcGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3RldGhvc2NvcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhN2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzeXJpbmdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN5cmluZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkcm9wX29mX2Jsb29kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRyb3Bfb2ZfYmxvb2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkbmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG5hXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWljcm9iZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaWNyb2JlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGV0cmlfZGlzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXRyaV9kaXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVzdF90dWJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlc3RfdHViZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRoZXJtb21ldGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRoZXJtb21ldGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJvb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Zjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwbHVuZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBsdW5nZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXNrZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFza2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cm9sbF9vZl9wYXBlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2xsX29mX3BhcGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9pbGV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvaWxldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdGFibGVfd2F0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG90YWJsZV93YXRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNob3dlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaG93ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRodHViOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGh0dWJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXRoX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdGhfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzAtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzb2FwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvYXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b290aGJydXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvb3RoYnJ1c2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYXpvcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYXpvclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhaXJfcGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYWlyX3BpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcG9uZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BvbmdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVja2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1Y2tldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNxdWVlemVfYm90dGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNxdWVlemVfYm90dGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVsbGhvcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWxsaG9wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2V5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtleTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2V5MlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVkZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRvb3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9vclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTkxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291Y2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291Y2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Y2Iuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xlZXBpbmdfYWNjb21tb2RhdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbGVlcGluZ19hY2NvbW1vZGF0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2JlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fYmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2JlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fYmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2JlZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fYmVkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2JlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fYmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2JlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fYmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVkZHlfYmVhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWRkeV9iZWFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmVzdGluZ19kb2xsczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZXN0aW5nX2RvbGxzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTg2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJhbWVfcGhvdG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJhbWVfcGhvdG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaXJyb3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlycm9yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTllLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2luZG93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmRvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNob3BwaW5nX2JhZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hvcHBpbmdfYmFnc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNob3BwaW5nX2NhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hvcHBpbmdfY2FydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdpZnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2lmdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbGxvb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFsbG9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzhmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmliYm9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpYmJvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hZ2ljX3dhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFnaWNfd2FuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmF0YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5hdGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25mZXR0aV9iYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbmZldHRpX2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0YWRhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRhZGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb2xsczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb2xsc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvbGRpbmdfaGFuZF9mYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9sZGluZ19oYW5kX2ZhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOml6YWtheWFfbGFudGVybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpemFrYXlhX2xhbnRlcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aW5kX2NoaW1lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmRfY2hpbWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaXJyb3JfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaXJyb3JfYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZF9lbnZlbG9wZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWRfZW52ZWxvcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbnZlbG9wZV93aXRoX2Fycm93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVudmVsb3BlX3dpdGhfYXJyb3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmNvbWluZ19lbnZlbG9wZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbmNvbWluZ19lbnZlbG9wZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmUtbWFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlLW1haWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX2xldHRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX2xldHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluYm94X3RyYXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5ib3hfdHJheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm91dGJveF90cmF5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm91dGJveF90cmF5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFja2FnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWNrYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFiZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFiZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwbGFjYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBsYWNhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWlsYm94X2Nsb3NlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWlsYm94X2Nsb3NlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1haWxib3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFpbGJveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1haWxib3hfd2l0aF9tYWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1haWxib3hfd2l0aF9tYWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFpbGJveF93aXRoX25vX21haWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFpbGJveF93aXRoX25vX21haWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3N0Ym94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvc3Rib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3N0YWxfaG9ybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3N0YWxfaG9yblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjcm9sbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY3JvbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWdlX3dpdGhfY3VybDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWdlX3dpdGhfY3VybFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhZ2VfZmFjaW5nX3VwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhZ2VfZmFjaW5nX3VwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9va21hcmtfdGFiczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib29rbWFya190YWJzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVjZWlwdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWNlaXB0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFyX2NoYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhcl9jaGFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoYXJ0X3dpdGhfdXB3YXJkc190cmVuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGFydF93aXRoX3Vwd2FyZHNfdHJlbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Yzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGFydF93aXRoX2Rvd253YXJkc190cmVuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGFydF93aXRoX2Rvd253YXJkc190cmVuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vdGVwYWRfc3BpcmFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vdGVwYWRfc3BpcmFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsZW5kYXJfc3BpcmFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGVuZGFyX3NwaXJhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVkMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbGVuZGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGVuZGFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGF0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FzdGViYXNrZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2FzdGViYXNrZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXJkX2luZGV4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhcmRfaW5kZXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Yzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXJkX2JveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXJkX2JveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVjMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbGxvdF9ib3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFsbG90X2JveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbGVfY2FiaW5ldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaWxlX2NhYmluZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGlwYm9hcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xpcGJvYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlsZV9mb2xkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlsZV9mb2xkZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGVuX2ZpbGVfZm9sZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9wZW5fZmlsZV9mb2xkZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaXZpZGVyczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaXZpZGVyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVjMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5ld3NwYXBlcjI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmV3c3BhcGVyMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVkZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5ld3NwYXBlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZXdzcGFwZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3RlYm9vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3RlYm9va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vdGVib29rX3dpdGhfZGVjb3JhdGl2ZV9jb3ZlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3RlYm9va193aXRoX2RlY29yYXRpdmVfY292ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWRnZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVkZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvc2VkX2Jvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvc2VkX2Jvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmVlbl9ib29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZWVuX2Jvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlX2Jvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmx1ZV9ib29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQ4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3JhbmdlX2Jvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3JhbmdlX2Jvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib29rczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib29rc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvb2ttYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvb2ttYXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FmZXR5X3BpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWZldHlfcGluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFwZXJjbGlwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcGVyY2xpcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcGVyY2xpcHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFwZXJjbGlwc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU4Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyaWFuZ3VsYXJfcnVsZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJpYW5ndWxhcl9ydWxlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0cmFpZ2h0X3J1bGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0cmFpZ2h0X3J1bGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWJhY3VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFiYWN1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1c2hwaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVzaHBpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvdW5kX3B1c2hwaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm91bmRfcHVzaHBpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbl9iYWxscG9pbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVuX2JhbGxwb2ludFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU4YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbl9mb3VudGFpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW5fZm91bnRhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWludGJydXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhaW50YnJ1c2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcmF5b246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3JheW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNThkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVuY2lsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlbmNpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbmNpbDI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVuY2lsMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb2NrX3dpdGhfaW5rX3BlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb2NrX3dpdGhfaW5rX3BlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3NlZF9sb2NrX3dpdGhfa2V5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3NlZF9sb2NrX3dpdGhfa2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb2NrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW5sb2NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVubG9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmtfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlua19oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9yYW5nZV9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcmFuZ2VfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp5ZWxsb3dfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieWVsbG93X2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JlZW5faGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JlZW5faGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsaWdodF9ibHVlX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpZ2h0X2JsdWVfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsdWVfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdXJwbGVfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVycGxlX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDljLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmV5X2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZXlfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb3duX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyb3duX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJva2VuX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyb2tlbl9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnR3b19oZWFydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHdvX2hlYXJ0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJldm9sdmluZ19oZWFydHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmV2b2x2aW5nX2hlYXJ0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0YmVhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydGJlYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydHB1bHNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0cHVsc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGFya2xpbmdfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhcmtsaW5nX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VwaWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VwaWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaWZ0X2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpZnRfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5kaW5nX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbmRpbmdfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc2NC1mZTBmLTIwMGQtMWZhNzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9vbl9maXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X29uX2ZpcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc2NC1mZTBmLTIwMGQtMWY1MjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9kZWNvcmF0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2RlY29yYXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZWFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZWFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjJlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3Jvc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3Jvc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcxZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXJfYW5kX2NyZXNjZW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YXJfYW5kX2NyZXNjZW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbV9zeW1ib2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib21fc3ltYm9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2hhbmRhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtoYW5kYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNpeF9wb2ludGVkX3N0YXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2l4X3BvaW50ZWRfc3RhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbm9yYWg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVub3JhaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU0ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnlpbl95YW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInlpbl95YW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwbGFjZV9vZl93b3JzaGlwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBsYWNlX29mX3dvcnNoaXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcGhpdWNodXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3BoaXVjaHVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2Y2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnZW1pbmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2VtaW5pXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW5jZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FuY2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZW86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2aXJnbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2aXJnb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGlicmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGlicmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY0ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjb3JwaXVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjb3JwaXVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF0b206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXRvbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWNjZXB0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFjY2VwdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjI1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vYmlsZV9waG9uZV9vZmY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9iaWxlX3Bob25lX29mZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZpYnJhdGlvbl9tb2RlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZpYnJhdGlvbl9tb2RlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTY3MDk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTY3MDlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NzEyMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NzEyMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIxYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU3NTMzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU3NTMzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTU1YjY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTU1YjZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyM2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NjcwODpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NjcwOFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTlhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfZmxvd2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX2Zsb3dlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmlkZW9ncmFwaF9hZHZhbnRhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWRlb2dyYXBoX2FkdmFudGFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjI1MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU1NDA4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU1NDA4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTZlODA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTZlODBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NTI3MjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NTI3MlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU3OTgxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU3OTgxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTcwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTcxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm8yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm8yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTdlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c29zOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOng6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiNTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvY3RhZ29uYWxfc2lnbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvY3RhZ29uYWxfc2lnblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vX2VudHJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX2VudHJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYW1lX2JhZGdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5hbWVfYmFkZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19lbnRyeV9zaWduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX2VudHJ5X3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjoxMDA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiMTAwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5nZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5nZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19wZWRlc3RyaWFuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub19wZWRlc3RyaWFuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRvX25vdF9saXR0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9fbm90X2xpdHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vX2JpY3ljbGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX2JpY3ljbGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9uLXBvdGFibGVfd2F0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm9uLXBvdGFibGVfd2F0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1bmRlcmFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1bmRlcmFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vX21vYmlsZV9waG9uZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm9fbW9iaWxlX3Bob25lc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vX3Ntb2tpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm9fc21va2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbmdiYW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbmdiYW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIwM2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3dfYnJpZ2h0bmVzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3dfYnJpZ2h0bmVzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpZ2hfYnJpZ2h0bmVzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoaWdoX2JyaWdodG5lc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJ0X2FsdGVybmF0aW9uX21hcms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFydF9hbHRlcm5hdGlvbl9tYXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMwM2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXJuaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhcm5pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZhMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWxkcmVuX2Nyb3NzaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaWxkcmVuX2Nyb3NzaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJpZGVudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmlkZW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxldXItZGUtbGlzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsZXVyLWRlLWxpc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjljLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVnaW5uZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVnaW5uZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWN5Y2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlY3ljbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY3Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU2MzA3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU2MzA3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Yjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZWdhdGl2ZV9zcXVhcmVkX2Nyb3NzX21hcms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmVnYXRpdmVfc3F1YXJlZF9jcm9zc19tYXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnbG9iZV93aXRoX21lcmlkaWFuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnbG9iZV93aXRoX21lcmlkaWFuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpYW1vbmRfc2hhcGVfd2l0aF9hX2RvdF9pbnNpZGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGlhbW9uZF9zaGFwZV93aXRoX2FfZG90X2luc2lkZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNGMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3ljbG9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjeWNsb25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzAwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6enp6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInp6elwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF0bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhdG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3Y1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoZWVsY2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFya2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYXJraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxldmF0b3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxldmF0b3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1N2E3YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1N2E3YVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjAyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFzc3BvcnRfY29udHJvbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYXNzcG9ydF9jb250cm9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VzdG9tczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXN0b21zXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFnZ2FnZV9jbGFpbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWdnYWdlX2NsYWltXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9sdWdnYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnRfbHVnZ2FnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpcmVsZXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpcmVsZXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5zXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5zOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfc3ltYm9sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfc3ltYm9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVzdHJvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVzdHJvb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdXRfbGl0dGVyX2luX2l0c19wbGFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdXRfbGl0dGVyX2luX2l0c19wbGFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNpbmVtYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaW5lbWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaWduYWxfc3RyZW5ndGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2lnbmFsX3N0cmVuZ3RoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a29rbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrb2tvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjAxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3ltYm9sczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzeW1ib2xzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWJjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFiY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFiY2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWJjZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhcGl0YWxfYWJjZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXBpdGFsX2FiY2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmV3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTk1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmcmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6emVybzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6ZXJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMwLTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMxLTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0d286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHdvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMyLTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHJlZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zMy0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm91cjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb3VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzM0LTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzUtMjBlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNpeDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzYtMjBlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNldmVuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNldmVuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzM3LTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zOC0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmluZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuaW5lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzM5LTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprZXljYXBfdGVuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtleWNhcF90ZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjoxMjM0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIjEyMzRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjMtMjBlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFzdGVyaXNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdGVyaXNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJhLTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplamVjdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlamVjdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2NmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfZm9yd2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19mb3J3YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI1YjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXVzZV9idXR0b246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGF1c2VfYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwbGF5X3BhdXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBsYXlfcGF1c2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0b3BfYnV0dG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0b3BfYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWNvcmRfYnV0dG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlY29yZF9idXR0b25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWNrX25leHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhY2tfbmV4dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhY2tfcHJldmlvdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhY2tfcHJldmlvdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhc3RfZm9yd2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYXN0X2ZvcndhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJld2luZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZXdpbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2RvdWJsZV91cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19kb3VibGVfdXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2RvdWJsZV9kb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X2RvdWJsZV9kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19iYWNrd2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19iYWNrd2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWMwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfdXBfc21hbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfdXBfc21hbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1M2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19kb3duX3NtYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X2Rvd25fc21hbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1M2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yN2ExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfbGVmdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19sZWZ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiMDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd191cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd191cFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjA2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiMDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19yaWdodF9ob29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X3JpZ2h0X2hvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjFhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnR3YXJkc19hcnJvd193aXRoX2hvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdHdhcmRzX2Fycm93X3dpdGhfaG9va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMWE5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHdpc3RlZF9yaWdodHdhcmRzX2Fycm93czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0d2lzdGVkX3JpZ2h0d2FyZHNfYXJyb3dzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTAwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVwZWF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlcGVhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlcGVhdF9vbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVwZWF0X29uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93c19jb3VudGVyY2xvY2t3aXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93c19jb3VudGVyY2xvY2t3aXNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTA0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dzX2Nsb2Nrd2lzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd3NfY2xvY2t3aXNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTAzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzaWNhbF9ub3RlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2ljYWxfbm90ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vdGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vdGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2I2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhdnlfZXF1YWxzX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfZXF1YWxzX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmZpbml0eTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbmZpbml0eVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjdlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhdnlfZG9sbGFyX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfZG9sbGFyX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXJyZW5jeV9leGNoYW5nZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXJyZW5jeV9leGNoYW5nZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvcHlyaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3B5cmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvYTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpc3RlcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lzdGVyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvYWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXJseV9sb29wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1cmx5X2xvb3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjdiMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxvb3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG9vcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yN2JmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic29vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhZGlvX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWRpb19idXR0b25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWRfY2lyY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZF9jaXJjbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlX2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibHVlX2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb3duX2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm93bl9jaXJjbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdXJwbGVfY2lyY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1cnBsZV9jaXJjbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmVlbl9jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JlZW5fY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2UyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWVsbG93X2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5ZWxsb3dfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2UxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3JhbmdlX2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcmFuZ2VfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2UwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21hbGxfcmVkX3RyaWFuZ2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtYWxsX3JlZF90cmlhbmdsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtYWxsX3JlZF90cmlhbmdsZV9kb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtYWxsX3JlZF90cmlhbmdsZV9kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21hbGxfb3JhbmdlX2RpYW1vbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21hbGxfb3JhbmdlX2RpYW1vbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1Mzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWFsbF9ibHVlX2RpYW1vbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic21hbGxfYmx1ZV9kaWFtb25kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTM5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFyZ2Vfb3JhbmdlX2RpYW1vbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFyZ2Vfb3JhbmdlX2RpYW1vbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsYXJnZV9ibHVlX2RpYW1vbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGFyZ2VfYmx1ZV9kaWFtb25kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTM3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfc3F1YXJlX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9zcXVhcmVfYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfc3F1YXJlX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibGFja19zcXVhcmVfYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfc21hbGxfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX3NtYWxsX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfc21hbGxfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX3NtYWxsX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfbWVkaXVtX3NtYWxsX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibGFja19tZWRpdW1fc21hbGxfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI1ZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9tZWRpdW1fc21hbGxfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX21lZGl1bV9zbWFsbF9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjVmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX21lZGl1bV9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfbWVkaXVtX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfbWVkaXVtX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9tZWRpdW1fc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI1ZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19sYXJnZV9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfbGFyZ2Vfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiMWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9sYXJnZV9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfbGFyZ2Vfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiMWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcmFuZ2Vfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9yYW5nZV9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibHVlX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZF9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVkX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb3duX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm93bl9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdXJwbGVfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1cnBsZV9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmVlbl9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JlZW5fc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2U5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWVsbG93X3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5ZWxsb3dfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2U4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BlYWtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGVha2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTA4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXV0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTA3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c291bmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic291bmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3VkX3NvdW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdWRfc291bmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19iZWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX2JlbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWdhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lZ2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3Vkc3BlYWtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3Vkc3BlYWtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwZWVjaF9sZWZ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwZWVjaF9sZWZ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXllX2luX3NwZWVjaF9idWJibGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXllX2luX3NwZWVjaF9idWJibGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDEtMjAwZC0xZjVlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwZWVjaF9iYWxsb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwZWVjaF9iYWxsb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGhvdWdodF9iYWxsb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRob3VnaHRfYmFsbG9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VyX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VyX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfam9rZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfam9rZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYwY2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbG93ZXJfcGxheWluZ19jYXJkczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbG93ZXJfcGxheWluZ19jYXJkc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1haGpvbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFoam9uZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjAwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2syXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2szOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrNlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrOVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2syMzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2syMzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazMzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazMzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNDMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrNDMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s1MzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s1MzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazYzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazYzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNzMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrNzMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s4MzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s4MzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazkzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazkzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTAzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazEwMzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazExMzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxMTMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2sxMjMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTIzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYW5zZ2VuZGVyX3N5bWJvbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFuc2dlbmRlcl9zeW1ib2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZhNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfd2hpdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ193aGl0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmxhY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ibGFja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpcmF0ZV9mbGFnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpcmF0ZV9mbGFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LTIwMGQtMjYyMC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hlY2tlcmVkX2ZsYWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hlY2tlcmVkX2ZsYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmlhbmd1bGFyX2ZsYWdfb25fcG9zdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmlhbmd1bGFyX2ZsYWdfb25fcG9zdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaW5ib3dfZmxhZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWluYm93X2ZsYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjMtZmUwZi0yMDBkLTFmMzA4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJhbnNnZW5kZXJfZmxhZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFuc2dlbmRlcl9mbGFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2YzLWZlMGYtMjAwZC0yNmE3LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1bml0ZWRfbmF0aW9uczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1bml0ZWRfbmF0aW9uc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19heFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZHo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19kelwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYW86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19haVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hcVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hdVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYXo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19helwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ic1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ieVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYno6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ielwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ialwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYm06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ibVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19idFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ib1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19id1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaW86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ192Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYm46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19iaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19raFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3Y6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jdlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYnE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19icVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19reVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2Y6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190ZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jeFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaHI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19oclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jdVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY3o6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jelwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ka1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZGo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19kalwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZG06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19kbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19kb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19lY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19lZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3Y6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zdlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ncVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19lclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19lZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZXU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ldVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ma1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19mb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZmo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19malwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19maVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZnI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19mclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2Y6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190ZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19kZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19naFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19naVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ncFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ndVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ndFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19neVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19odFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaG46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19oblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19oa1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaHU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19odVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaXE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pcVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfaXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19pdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfam06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19qbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfanA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19qcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyb3NzZWRfZmxhZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3Jvc3NlZF9mbGFnc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfamU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19qZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfam86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19qb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa3o6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19relwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa2k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19raVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfeGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ194a1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZC0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sdlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbGI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19seVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbGk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19saVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbHU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sdVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbW86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ta1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19td1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19teVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tdlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19taFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tcVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tdVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfeXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ195dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19teFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZm06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19mbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19telwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbnI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbnA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ucFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ubFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbno6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uelwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbnU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19udVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbmY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19uZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19tcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ub1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNC0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wa1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcHc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19weVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19waFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcG46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcHI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19xYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNi0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19yZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19yb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcnU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ydVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcnc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19yd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfd3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ193c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYy0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19yc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zeFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19za1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfemE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ196YVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZi0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19lc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sa1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19ibFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfa246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19rblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfbGM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19sY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfcG06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19wbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdmM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ192Y1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3o6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zelwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19jaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfc3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19zeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdHc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190d1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190alwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdHo6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190elwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190bFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGs6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190a1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdG46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdHI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190clwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdG06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190bVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdGM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190Y1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdmk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ192aVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdHY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ190dlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ191Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfdWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ191YVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfYWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19hZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYWdfZ2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhZ19nYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVuZ2xhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZW5nbGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC1lMDA2Ny1lMDA2Mi1lMDA2NS1lMDA2ZS1lMDA2Ny1lMDA3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjb3RsYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjb3RsYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LWUwMDY3LWUwMDYyLWUwMDczLWUwMDYzLWUwMDc0LWUwMDdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FsZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2FsZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQtZTAwNjctZTAwNjItZTAwNzctZTAwNmMtZTAwNzMtZTAwN2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3V5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3V6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdXpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3Z1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdnVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3dmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfd2ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmMtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZWhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3llOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfeWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmUtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ptOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfem1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3p3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfendcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2J2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZGdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2htOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21mOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NqOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3VtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3o6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfdjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfdlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl91OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl91XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3Jfc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfajpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfalwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9pOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9pXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9mOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9mXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9jOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9jXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi5zdmdcIik7XG59XG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBFbW9qaXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGbGFnXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRmxhZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgUGF0aFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZsYWcgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5mbGFnOm5vdCguaWNvbikge1xuICBzcGVhazogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuaS5mbGFnOm5vdCguaWNvbik6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cbmkuZmxhZy5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmZsYWcubWVkaXVtIHtcbiAgZm9udC1zaXplOiAzZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmZsYWcubGFyZ2Uge1xuICBmb250LXNpemU6IDZlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkuZmxhZy5iaWcge1xuICBmb250LXNpemU6IDcuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5mbGFnLmh1Z2Uge1xuICBmb250LXNpemU6IDllbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkuZmxhZy5tYXNzaXZlIHtcbiAgZm9udC1zaXplOiAxMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuaS5mbGFnLnRyYW5zZ2VuZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2YzLWZlMGYtMjAwZC0yNmE3LWZlMGYuc3ZnXCIpO1xufVxuaS5mbGFnLnJhaW5ib3c6OmJlZm9yZSxcbmkuZmxhZy5wcmlkZTo6YmVmb3JlLFxuaS5mbGFnLmxnYnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjMtZmUwZi0yMDBkLTFmMzA4LnN2Z1wiKTtcbn1cbmkuZmxhZy5waXJhdGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQtMjAwZC0yNjIwLWZlMGYuc3ZnXCIpO1xufVxuaS5mbGFnLmFmOjpiZWZvcmUsXG5pLmZsYWcuYWZnaGFuaXN0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWIuc3ZnXCIpO1xufVxuaS5mbGFnLmF4OjpiZWZvcmUsXG5pLmZsYWcuYWxhbmQuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmZC5zdmdcIik7XG59XG5pLmZsYWcuYWw6OmJlZm9yZSxcbmkuZmxhZy5hbGJhbmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5kejo6YmVmb3JlLFxuaS5mbGFnLmFsZ2VyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZmYuc3ZnXCIpO1xufVxuaS5mbGFnLmFzOjpiZWZvcmUsXG5pLmZsYWcuYW1lcmljYW4uc2Ftb2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmFkOjpiZWZvcmUsXG5pLmZsYWcuYW5kb3JyYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuYW86OmJlZm9yZSxcbmkuZmxhZy5hbmdvbGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmFpOjpiZWZvcmUsXG5pLmZsYWcuYW5ndWlsbGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWUuc3ZnXCIpO1xufVxuaS5mbGFnLmFxOjpiZWZvcmUsXG5pLmZsYWcuYW50YXJjdGljYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmNi5zdmdcIik7XG59XG5pLmZsYWcuYWc6OmJlZm9yZSxcbmkuZmxhZy5hbnRpZ3VhLmFuZC5iYXJidWRhOjpiZWZvcmUsXG5pLmZsYWcuYW50aWd1YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuYXI6OmJlZm9yZSxcbmkuZmxhZy5hcmdlbnRpbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmFtOjpiZWZvcmUsXG5pLmZsYWcuYXJtZW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuYXc6OmJlZm9yZSxcbmkuZmxhZy5hcnViYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmYy5zdmdcIik7XG59XG5pLmZsYWcuYXU6OmJlZm9yZSxcbmkuZmxhZy5hdXN0cmFsaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLmF0OjpiZWZvcmUsXG5pLmZsYWcuYXVzdHJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuYXo6OmJlZm9yZSxcbmkuZmxhZy5hemVyYmFpamFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5iczo6YmVmb3JlLFxuaS5mbGFnLmJhaGFtYXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmJoOjpiZWZvcmUsXG5pLmZsYWcuYmFocmFpbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlZC5zdmdcIik7XG59XG5pLmZsYWcuYmQ6OmJlZm9yZSxcbmkuZmxhZy5iYW5nbGFkZXNoOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWU5LnN2Z1wiKTtcbn1cbmkuZmxhZy5iYjo6YmVmb3JlLFxuaS5mbGFnLmJhcmJhZG9zOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWU3LnN2Z1wiKTtcbn1cbmkuZmxhZy5ieTo6YmVmb3JlLFxuaS5mbGFnLmJlbGFydXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLmJlOjpiZWZvcmUsXG5pLmZsYWcuYmVsZ2l1bTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuYno6OmJlZm9yZSxcbmkuZmxhZy5iZWxpemU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmYuc3ZnXCIpO1xufVxuaS5mbGFnLmJqOjpiZWZvcmUsXG5pLmZsYWcuYmVuaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWYuc3ZnXCIpO1xufVxuaS5mbGFnLmJtOjpiZWZvcmUsXG5pLmZsYWcuYmVybXVkYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuYnQ6OmJlZm9yZSxcbmkuZmxhZy5iaHV0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLmJvOjpiZWZvcmUsXG5pLmZsYWcuYm9saXZpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcuYmE6OmJlZm9yZSxcbmkuZmxhZy5ib3NuaWEuYW5kLmhlcnplZ292aW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5idzo6YmVmb3JlLFxuaS5mbGFnLmJvdHN3YW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5icjo6YmVmb3JlLFxuaS5mbGFnLmJyYXppbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuaW86OmJlZm9yZSxcbmkuZmxhZy5icml0aXNoLmluZGlhbi5vY2Vhbi50ZXJyaXRvcnk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLnZnOjpiZWZvcmUsXG5pLmZsYWcuYnJpdGlzaC52aXJnaW4uaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuYm46OmJlZm9yZSxcbmkuZmxhZy5icnVuZWk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLmJnOjpiZWZvcmUsXG5pLmZsYWcuYnVsZ2FyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLmJmOjpiZWZvcmUsXG5pLmZsYWcuYnVya2luYS5mYXNvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy5iaTo6YmVmb3JlLFxuaS5mbGFnLmJ1cnVuZGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWUuc3ZnXCIpO1xufVxuaS5mbGFnLmtoOjpiZWZvcmUsXG5pLmZsYWcuY2FtYm9kaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLmNtOjpiZWZvcmUsXG5pLmZsYWcuY2FtZXJvb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmNhOjpiZWZvcmUsXG5pLmZsYWcuY2FuYWRhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5pYzo6YmVmb3JlLFxuaS5mbGFnLmNhbmFyeS5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5jdjo6YmVmb3JlLFxuaS5mbGFnLmNhcGUudmVyZGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmIuc3ZnXCIpO1xufVxuaS5mbGFnLmJxOjpiZWZvcmUsXG5pLmZsYWcuY2FyaWJiZWFuLm5ldGhlcmxhbmRzOjpiZWZvcmUsXG5pLmZsYWcuYW46OmJlZm9yZSxcbmkuZmxhZy5uZXRoZXJsYW5kcy5hbnRpbGxlczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmNi5zdmdcIik7XG59XG5pLmZsYWcua3k6OmJlZm9yZSxcbmkuZmxhZy5jYXltYW4uaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcuY2Y6OmJlZm9yZSxcbmkuZmxhZy5jZW50cmFsLmFmcmljYW4ucmVwdWJsaWM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWIuc3ZnXCIpO1xufVxuaS5mbGFnLnRkOjpiZWZvcmUsXG5pLmZsYWcuY2hhZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuY2w6OmJlZm9yZSxcbmkuZmxhZy5jaGlsZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcuY246OmJlZm9yZSxcbmkuZmxhZy5jaGluYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcuY3g6OmJlZm9yZSxcbmkuZmxhZy5jaHJpc3RtYXMuaXNsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWZkLnN2Z1wiKTtcbn1cbmkuZmxhZy5jYzo6YmVmb3JlLFxuaS5mbGFnLmNvY29zLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZTguc3ZnXCIpO1xufVxuaS5mbGFnLmNvOjpiZWZvcmUsXG5pLmZsYWcuY29sb21iaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmttOjpiZWZvcmUsXG5pLmZsYWcuY29tb3Jvczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuY2c6OmJlZm9yZSxcbmkuZmxhZy5jb25nby5icmF6emF2aWxsZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuY2Q6OmJlZm9yZSxcbmkuZmxhZy5jb25nby5raW5zaGFzYTo6YmVmb3JlLFxuaS5mbGFnLmNvbmdvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWU5LnN2Z1wiKTtcbn1cbmkuZmxhZy5jazo6YmVmb3JlLFxuaS5mbGFnLmNvb2suaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuY3I6OmJlZm9yZSxcbmkuZmxhZy5jb3N0YS5yaWNhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5jaTo6YmVmb3JlLFxuaS5mbGFnLmPDtHRlLmTigJlpdm9pcmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWUuc3ZnXCIpO1xufVxuaS5mbGFnLmhyOjpiZWZvcmUsXG5pLmZsYWcuY3JvYXRpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuY3U6OmJlZm9yZSxcbmkuZmxhZy5jdWJhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5jdzo6YmVmb3JlLFxuaS5mbGFnLmN1cmFjYW86OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLmN5OjpiZWZvcmUsXG5pLmZsYWcuY3lwcnVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWZlLnN2Z1wiKTtcbn1cbmkuZmxhZy5jejo6YmVmb3JlLFxuaS5mbGFnLmN6ZWNoaWE6OmJlZm9yZSxcbmkuZmxhZy5jemVjaC5yZXB1YmxpYzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcuZGs6OmJlZm9yZSxcbmkuZmxhZy5kZW5tYXJrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5kajo6YmVmb3JlLFxuaS5mbGFnLmRqaWJvdXRpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWVmLnN2Z1wiKTtcbn1cbmkuZmxhZy5kbTo6YmVmb3JlLFxuaS5mbGFnLmRvbWluaWNhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5kbzo6YmVmb3JlLFxuaS5mbGFnLmRvbWluaWNhbi5yZXB1YmxpYzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcuZWM6OmJlZm9yZSxcbmkuZmxhZy5lY3VhZG9yOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5lZzo6YmVmb3JlLFxuaS5mbGFnLmVneXB0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5zdjo6YmVmb3JlLFxuaS5mbGFnLmVsLnNhbHZhZG9yOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWZiLnN2Z1wiKTtcbn1cbmkuZmxhZy5ncTo6YmVmb3JlLFxuaS5mbGFnLmVxdWF0b3JpYWwuZ3VpbmVhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWY2LnN2Z1wiKTtcbn1cbmkuZmxhZy5lcjo6YmVmb3JlLFxuaS5mbGFnLmVyaXRyZWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmVlOjpiZWZvcmUsXG5pLmZsYWcuZXN0b25pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuZXQ6OmJlZm9yZSxcbmkuZmxhZy5ldGhpb3BpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuZXU6OmJlZm9yZSxcbmkuZmxhZy5ldXJvcGVhbi51bmlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFmYS5zdmdcIik7XG59XG5pLmZsYWcuZms6OmJlZm9yZSxcbmkuZmxhZy5mYWxrbGFuZC5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWViLTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5mbzo6YmVmb3JlLFxuaS5mbGFnLmZhcm9lLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmZqOjpiZWZvcmUsXG5pLmZsYWcuZmlqaTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFlZi5zdmdcIik7XG59XG5pLmZsYWcuZmk6OmJlZm9yZSxcbmkuZmxhZy5maW5sYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWViLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5mcjo6YmVmb3JlLFxuaS5mbGFnLmZyYW5jZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuZ2Y6OmJlZm9yZSxcbmkuZmxhZy5mcmVuY2guZ3VpYW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy5wZjo6YmVmb3JlLFxuaS5mbGFnLmZyZW5jaC5wb2x5bmVzaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWIuc3ZnXCIpO1xufVxuaS5mbGFnLnRmOjpiZWZvcmUsXG5pLmZsYWcuZnJlbmNoLnNvdXRoZXJuLnRlcnJpdG9yaWVzOjpiZWZvcmUsXG5pLmZsYWcuZnJlbmNoLnRlcnJpdG9yaWVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy5nYTo6YmVmb3JlLFxuaS5mbGFnLmdhYm9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5nbTo6YmVmb3JlLFxuaS5mbGFnLmdhbWJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuZ2U6OmJlZm9yZSxcbmkuZmxhZy5nZW9yZ2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5kZTo6YmVmb3JlLFxuaS5mbGFnLmdlcm1hbnk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmdoOjpiZWZvcmUsXG5pLmZsYWcuZ2hhbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLmdpOjpiZWZvcmUsXG5pLmZsYWcuZ2licmFsdGFyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5ncjo6YmVmb3JlLFxuaS5mbGFnLmdyZWVjZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuZ2w6OmJlZm9yZSxcbmkuZmxhZy5ncmVlbmxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLmdkOjpiZWZvcmUsXG5pLmZsYWcuZ3JlbmFkYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuZ3A6OmJlZm9yZSxcbmkuZmxhZy5ndWFkZWxvdXBlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWY1LnN2Z1wiKTtcbn1cbmkuZmxhZy5ndTo6YmVmb3JlLFxuaS5mbGFnLmd1YW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLmd0OjpiZWZvcmUsXG5pLmZsYWcuZ3VhdGVtYWxhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWY5LnN2Z1wiKTtcbn1cbmkuZmxhZy5nZzo6YmVmb3JlLFxuaS5mbGFnLmd1ZXJuc2V5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5nbjo6YmVmb3JlLFxuaS5mbGFnLmd1aW5lYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcuZ3c6OmJlZm9yZSxcbmkuZmxhZy5ndWluZWEtYmlzc2F1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5neTo6YmVmb3JlLFxuaS5mbGFnLmd1eWFuYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcuaHQ6OmJlZm9yZSxcbmkuZmxhZy5oYWl0aTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuaG46OmJlZm9yZSxcbmkuZmxhZy5ob25kdXJhczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcuaGs6OmJlZm9yZSxcbmkuZmxhZy5ob25nLmtvbmcuc2FyLmNoaW5hOjpiZWZvcmUsXG5pLmZsYWcuaG9uZy5rb25nOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVkLTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5odTo6YmVmb3JlLFxuaS5mbGFnLmh1bmdhcnk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLmlzOjpiZWZvcmUsXG5pLmZsYWcuaWNlbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmOC5zdmdcIik7XG59XG5pLmZsYWcuaW46OmJlZm9yZSxcbmkuZmxhZy5pbmRpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcuaWQ6OmJlZm9yZSxcbmkuZmxhZy5pbmRvbmVzaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZTkuc3ZnXCIpO1xufVxuaS5mbGFnLmlyOjpiZWZvcmUsXG5pLmZsYWcuaXJhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuaXE6OmJlZm9yZSxcbmkuZmxhZy5pcmFxOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWY2LnN2Z1wiKTtcbn1cbmkuZmxhZy5pZTo6YmVmb3JlLFxuaS5mbGFnLmlyZWxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmltOjpiZWZvcmUsXG5pLmZsYWcuaXNsZS5vZi5tYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmlsOjpiZWZvcmUsXG5pLmZsYWcuaXNyYWVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5pdDo6YmVmb3JlLFxuaS5mbGFnLml0YWx5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWY5LnN2Z1wiKTtcbn1cbmkuZmxhZy5qbTo6YmVmb3JlLFxuaS5mbGFnLmphbWFpY2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmpwOjpiZWZvcmUsXG5pLmZsYWcuamFwYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjUuc3ZnXCIpO1xufVxuaS5mbGFnLmplOjpiZWZvcmUsXG5pLmZsYWcuamVyc2V5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVmLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5qbzo6YmVmb3JlLFxuaS5mbGFnLmpvcmRhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcua3o6OmJlZm9yZSxcbmkuZmxhZy5rYXpha2hzdGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5rZTo6YmVmb3JlLFxuaS5mbGFnLmtlbnlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5raTo6YmVmb3JlLFxuaS5mbGFnLmtpcmliYXRpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy54azo6YmVmb3JlLFxuaS5mbGFnLmtvc292bzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZC0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcua3c6OmJlZm9yZSxcbmkuZmxhZy5rdXdhaXQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLmtnOjpiZWZvcmUsXG5pLmZsYWcua3lyZ3l6c3Rhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcubGE6OmJlZm9yZSxcbmkuZmxhZy5sYW9zOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5sdjo6YmVmb3JlLFxuaS5mbGFnLmxhdHZpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmYi5zdmdcIik7XG59XG5pLmZsYWcubGI6OmJlZm9yZSxcbmkuZmxhZy5sZWJhbm9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWU3LnN2Z1wiKTtcbn1cbmkuZmxhZy5sczo6YmVmb3JlLFxuaS5mbGFnLmxlc290aG86OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmxyOjpiZWZvcmUsXG5pLmZsYWcubGliZXJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcubHk6OmJlZm9yZSxcbmkuZmxhZy5saWJ5YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcubGk6OmJlZm9yZSxcbmkuZmxhZy5saWVjaHRlbnN0ZWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5sdDo6YmVmb3JlLFxuaS5mbGFnLmxpdGh1YW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcubHU6OmJlZm9yZSxcbmkuZmxhZy5sdXhlbWJvdXJnOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5tbzo6YmVmb3JlLFxuaS5mbGFnLm1hY2FvLnNhci5jaGluYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcubWs6OmJlZm9yZSxcbmkuZmxhZy5yZXB1YmxpYy5vZi5ub3J0aC5tYWNlZG9uaWE6OmJlZm9yZSxcbmkuZmxhZy5ub3J0aC5tYWNlZG9uaWE6OmJlZm9yZSxcbmkuZmxhZy5tYWNlZG9uaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLm1nOjpiZWZvcmUsXG5pLmZsYWcubWFkYWdhc2Nhcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcubXc6OmJlZm9yZSxcbmkuZmxhZy5tYWxhd2k6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLm15OjpiZWZvcmUsXG5pLmZsYWcubWFsYXlzaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLm12OjpiZWZvcmUsXG5pLmZsYWcubWFsZGl2ZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmIuc3ZnXCIpO1xufVxuaS5mbGFnLm1sOjpiZWZvcmUsXG5pLmZsYWcubWFsaTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcubXQ6OmJlZm9yZSxcbmkuZmxhZy5tYWx0YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcubWg6OmJlZm9yZSxcbmkuZmxhZy5tYXJzaGFsbC5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy5tcTo6YmVmb3JlLFxuaS5mbGFnLm1hcnRpbmlxdWU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjYuc3ZnXCIpO1xufVxuaS5mbGFnLm1yOjpiZWZvcmUsXG5pLmZsYWcubWF1cml0YW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcubXU6OmJlZm9yZSxcbmkuZmxhZy5tYXVyaXRpdXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLnl0OjpiZWZvcmUsXG5pLmZsYWcubWF5b3R0ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZS0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcubXg6OmJlZm9yZSxcbmkuZmxhZy5tZXhpY286OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmQuc3ZnXCIpO1xufVxuaS5mbGFnLmZtOjpiZWZvcmUsXG5pLmZsYWcubWljcm9uZXNpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcubWQ6OmJlZm9yZSxcbmkuZmxhZy5tb2xkb3ZhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWU5LnN2Z1wiKTtcbn1cbmkuZmxhZy5tYzo6YmVmb3JlLFxuaS5mbGFnLm1vbmFjbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcubW46OmJlZm9yZSxcbmkuZmxhZy5tb25nb2xpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcubWU6OmJlZm9yZSxcbmkuZmxhZy5tb250ZW5lZ3JvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5tczo6YmVmb3JlLFxuaS5mbGFnLm1vbnRzZXJyYXQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLm1hOjpiZWZvcmUsXG5pLmZsYWcubW9yb2Njbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcubXo6OmJlZm9yZSxcbmkuZmxhZy5tb3phbWJpcXVlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5tbTo6YmVmb3JlLFxuaS5mbGFnLm15YW5tYXI6OmJlZm9yZSxcbmkuZmxhZy5idXJtYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcubmE6OmJlZm9yZSxcbmkuZmxhZy5uYW1pYmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5ucjo6YmVmb3JlLFxuaS5mbGFnLm5hdXJ1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5ucDo6YmVmb3JlLFxuaS5mbGFnLm5lcGFsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWY1LnN2Z1wiKTtcbn1cbmkuZmxhZy5ubDo6YmVmb3JlLFxuaS5mbGFnLm5ldGhlcmxhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5uYzo6YmVmb3JlLFxuaS5mbGFnLm5ldy5jYWxlZG9uaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZTguc3ZnXCIpO1xufVxuaS5mbGFnLm56OjpiZWZvcmUsXG5pLmZsYWcubmV3LnplYWxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZmYuc3ZnXCIpO1xufVxuaS5mbGFnLm5pOjpiZWZvcmUsXG5pLmZsYWcubmljYXJhZ3VhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5uZTo6YmVmb3JlLFxuaS5mbGFnLm5pZ2VyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5uZzo6YmVmb3JlLFxuaS5mbGFnLm5pZ2VyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLm51OjpiZWZvcmUsXG5pLmZsYWcubml1ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmYS5zdmdcIik7XG59XG5pLmZsYWcubmY6OmJlZm9yZSxcbmkuZmxhZy5ub3Jmb2xrLmlzbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcua3A6OmJlZm9yZSxcbmkuZmxhZy5ub3J0aC5rb3JlYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmNS5zdmdcIik7XG59XG5pLmZsYWcubXA6OmJlZm9yZSxcbmkuZmxhZy5ub3J0aGVybi5tYXJpYW5hLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjUuc3ZnXCIpO1xufVxuaS5mbGFnLm5vOjpiZWZvcmUsXG5pLmZsYWcubm9yd2F5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy5vbTo6YmVmb3JlLFxuaS5mbGFnLm9tYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjQtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnBrOjpiZWZvcmUsXG5pLmZsYWcucGFraXN0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLnB3OjpiZWZvcmUsXG5pLmZsYWcucGFsYXU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLnBzOjpiZWZvcmUsXG5pLmZsYWcucGFsZXN0aW5pYW4udGVycml0b3JpZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLnBhOjpiZWZvcmUsXG5pLmZsYWcucGFuYW1hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5wZzo6YmVmb3JlLFxuaS5mbGFnLnBhcHVhLm5ldy5ndWluZWE6OmJlZm9yZSxcbmkuZmxhZy5uZXcuZ3VpbmVhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5weTo6YmVmb3JlLFxuaS5mbGFnLnBhcmFndWF5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWZlLnN2Z1wiKTtcbn1cbmkuZmxhZy5wZTo6YmVmb3JlLFxuaS5mbGFnLnBlcnU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLnBoOjpiZWZvcmUsXG5pLmZsYWcucGhpbGlwcGluZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLnBuOjpiZWZvcmUsXG5pLmZsYWcucGl0Y2Fpcm4uaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcucGw6OmJlZm9yZSxcbmkuZmxhZy5wb2xhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLnB0OjpiZWZvcmUsXG5pLmZsYWcucG9ydHVnYWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLnByOjpiZWZvcmUsXG5pLmZsYWcucHVlcnRvLnJpY286OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLnFhOjpiZWZvcmUsXG5pLmZsYWcucWF0YXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjYtMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLnJlOjpiZWZvcmUsXG5pLmZsYWcucsOpdW5pb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLnJvOjpiZWZvcmUsXG5pLmZsYWcucm9tYW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcucnU6OmJlZm9yZSxcbmkuZmxhZy5ydXNzaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLnJ3OjpiZWZvcmUsXG5pLmZsYWcucndhbmRhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY3LTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy53czo6YmVmb3JlLFxuaS5mbGFnLnNhbW9hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZjLTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5zbTo6YmVmb3JlLFxuaS5mbGFnLnNhbi5tYXJpbm86OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnN0OjpiZWZvcmUsXG5pLmZsYWcuc2FvLnRvbWUuYW5kLnByaW5jaXBlOjpiZWZvcmUsXG5pLmZsYWcuc2Ftby50b21lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWY5LnN2Z1wiKTtcbn1cbmkuZmxhZy5zYTo6YmVmb3JlLFxuaS5mbGFnLnNhdWRpLmFyYWJpYTo6YmVmb3JlLFxuaS5mbGFnLnNhdWRpYXJhYmlhOjpiZWZvcmUsXG5pLmZsYWcuc2F1ZGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLnNuOjpiZWZvcmUsXG5pLmZsYWcuc2VuZWdhbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcucnM6OmJlZm9yZSxcbmkuZmxhZy5zZXJiaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLnNjOjpiZWZvcmUsXG5pLmZsYWcuc2V5Y2hlbGxlczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcuc2w6OmJlZm9yZSxcbmkuZmxhZy5zaWVycmEubGVvbmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLnNnOjpiZWZvcmUsXG5pLmZsYWcuc2luZ2Fwb3JlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5zeDo6YmVmb3JlLFxuaS5mbGFnLnNpbnQubWFhcnRlbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZC5zdmdcIik7XG59XG5pLmZsYWcuc2s6OmJlZm9yZSxcbmkuZmxhZy5zbG92YWtpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuc2k6OmJlZm9yZSxcbmkuZmxhZy5zbG92ZW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcuZ3M6OmJlZm9yZSxcbmkuZmxhZy5zb3V0aC5nZW9yZ2lhLmFuZC5zb3V0aC5zYW5kd2ljaC5pc2xhbmRzOjpiZWZvcmUsXG5pLmZsYWcuc2FuZHdpY2guaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmOC5zdmdcIik7XG59XG5pLmZsYWcuc2I6OmJlZm9yZSxcbmkuZmxhZy5zb2xvbW9uLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTcuc3ZnXCIpO1xufVxuaS5mbGFnLnNvOjpiZWZvcmUsXG5pLmZsYWcuc29tYWxpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcuemE6OmJlZm9yZSxcbmkuZmxhZy5zb3V0aC5hZnJpY2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLmtyOjpiZWZvcmUsXG5pLmZsYWcuc291dGgua29yZWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLnNzOjpiZWZvcmUsXG5pLmZsYWcuc291dGguc3VkYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmVzOjpiZWZvcmUsXG5pLmZsYWcuc3BhaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmxrOjpiZWZvcmUsXG5pLmZsYWcuc3JpLmxhbmthOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5ibDo6YmVmb3JlLFxuaS5mbGFnLnN0LmJhcnRoZWxlbXk6OmJlZm9yZSxcbmkuZmxhZy5zYWludC5iYXJ0aDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcuc2g6OmJlZm9yZSxcbmkuZmxhZy5zdC5oZWxlbmE6OmJlZm9yZSxcbmkuZmxhZy5zYWludC5oZWxlbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLmtuOjpiZWZvcmUsXG5pLmZsYWcuc3Qua2l0dHMuYW5kLm5ldmlzOjpiZWZvcmUsXG5pLmZsYWcuc2FpbnQua2l0dHMuYW5kLm5hdmlzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWYzLnN2Z1wiKTtcbn1cbmkuZmxhZy5sYzo6YmVmb3JlLFxuaS5mbGFnLnN0Lmx1Y2lhOjpiZWZvcmUsXG5pLmZsYWcuc2FpbnQubHVjaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZTguc3ZnXCIpO1xufVxuaS5mbGFnLnBtOjpiZWZvcmUsXG5pLmZsYWcuc3QucGllcnJlLmFuZC5taXF1ZWxvbjo6YmVmb3JlLFxuaS5mbGFnLnNhaW50LnBpZXJyZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcudmM6OmJlZm9yZSxcbmkuZmxhZy5zdC52aW5jZW50LmFuZC5ncmVuYWRpbmVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5zZDo6YmVmb3JlLFxuaS5mbGFnLnN1ZGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWU5LnN2Z1wiKTtcbn1cbmkuZmxhZy5zcjo6YmVmb3JlLFxuaS5mbGFnLnN1cmluYW1lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5zejo6YmVmb3JlLFxuaS5mbGFnLmVzd2F0aW5pOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5zZTo6YmVmb3JlLFxuaS5mbGFnLnN3ZWRlbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuY2g6OmJlZm9yZSxcbmkuZmxhZy5zd2l0emVybGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlZC5zdmdcIik7XG59XG5pLmZsYWcuc3k6OmJlZm9yZSxcbmkuZmxhZy5zeXJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcudHc6OmJlZm9yZSxcbmkuZmxhZy50YWl3YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLnRqOjpiZWZvcmUsXG5pLmZsYWcudGFqaWtpc3Rhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlZi5zdmdcIik7XG59XG5pLmZsYWcudHo6OmJlZm9yZSxcbmkuZmxhZy50YW56YW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcudGg6OmJlZm9yZSxcbmkuZmxhZy50aGFpbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlZC5zdmdcIik7XG59XG5pLmZsYWcudGw6OmJlZm9yZSxcbmkuZmxhZy50aW1vci1sZXN0ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcudGc6OmJlZm9yZSxcbmkuZmxhZy50b2dvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy50azo6YmVmb3JlLFxuaS5mbGFnLnRva2VsYXU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLnRvOjpiZWZvcmUsXG5pLmZsYWcudG9uZ2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLnR0OjpiZWZvcmUsXG5pLmZsYWcudHJpbmlkYWQuYW5kLnRvYmFnbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcudG46OmJlZm9yZSxcbmkuZmxhZy50dW5pc2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWYzLnN2Z1wiKTtcbn1cbmkuZmxhZy50cjo6YmVmb3JlLFxuaS5mbGFnLnR1cmtleTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcudG06OmJlZm9yZSxcbmkuZmxhZy50dXJrbWVuaXN0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnRjOjpiZWZvcmUsXG5pLmZsYWcudHVya3MuYW5kLmNhaWNvcy5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy52aTo6YmVmb3JlLFxuaS5mbGFnLnVzLnZpcmdpbi5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy50djo6YmVmb3JlLFxuaS5mbGFnLnR1dmFsdTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmYi5zdmdcIik7XG59XG5pLmZsYWcudWc6OmJlZm9yZSxcbmkuZmxhZy51Z2FuZGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLnVhOjpiZWZvcmUsXG5pLmZsYWcudWtyYWluZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcuYWU6OmJlZm9yZSxcbmkuZmxhZy51bml0ZWQuYXJhYi5lbWlyYXRlczo6YmVmb3JlLFxuaS5mbGFnLnVhZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuZ2I6OmJlZm9yZSxcbmkuZmxhZy51bml0ZWQua2luZ2RvbTo6YmVmb3JlLFxuaS5mbGFnLnVrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWU3LnN2Z1wiKTtcbn1cbmkuZmxhZy5nYi5lbmc6OmJlZm9yZSxcbmkuZmxhZy5lbmdsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LWUwMDY3LWUwMDYyLWUwMDY1LWUwMDZlLWUwMDY3LWUwMDdmLnN2Z1wiKTtcbn1cbmkuZmxhZy5nYi5zY3Q6OmJlZm9yZSxcbmkuZmxhZy5zY290bGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC1lMDA2Ny1lMDA2Mi1lMDA3My1lMDA2My1lMDA3NC1lMDA3Zi5zdmdcIik7XG59XG5pLmZsYWcuZ2Iud2xzOjpiZWZvcmUsXG5pLmZsYWcud2FsZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQtZTAwNjctZTAwNjItZTAwNzctZTAwNmMtZTAwNzMtZTAwN2Yuc3ZnXCIpO1xufVxuaS5mbGFnLnVzOjpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLnN0YXRlczo6YmVmb3JlLFxuaS5mbGFnLmFtZXJpY2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLnV5OjpiZWZvcmUsXG5pLmZsYWcudXJ1Z3VheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcudXo6OmJlZm9yZSxcbmkuZmxhZy51emJla2lzdGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy52dTo6YmVmb3JlLFxuaS5mbGFnLnZhbnVhdHU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLnZhOjpiZWZvcmUsXG5pLmZsYWcudmF0aWNhbi5jaXR5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy52ZTo6YmVmb3JlLFxuaS5mbGFnLnZlbmV6dWVsYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcudm46OmJlZm9yZSxcbmkuZmxhZy52aWV0bmFtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWYzLnN2Z1wiKTtcbn1cbmkuZmxhZy53Zjo6YmVmb3JlLFxuaS5mbGFnLndhbGxpcy5hbmQuZnV0dW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZjLTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy5laDo6YmVmb3JlLFxuaS5mbGFnLndlc3Rlcm4uc2FoYXJhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy55ZTo6YmVmb3JlLFxuaS5mbGFnLnllbWVuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZlLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy56bTo6YmVmb3JlLFxuaS5mbGFnLnphbWJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZi0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuenc6OmJlZm9yZSxcbmkuZmxhZy56aW1iYWJ3ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZi0xZjFmYy5zdmdcIik7XG59XG5pLmZsYWcuYWM6OmJlZm9yZSxcbmkuZmxhZy5hc2NlbnNpb24uaXNsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5idjo6YmVmb3JlLFxuaS5mbGFnLmJvdXZldC5pc2xhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmIuc3ZnXCIpO1xufVxuaS5mbGFnLmNwOjpiZWZvcmUsXG5pLmZsYWcuY2xpcHBlcnRvbi5pc2xhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjUuc3ZnXCIpO1xufVxuaS5mbGFnLmVhOjpiZWZvcmUsXG5pLmZsYWcuY2V1dGEuYW5kLm1lbGlsbGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLmRnOjpiZWZvcmUsXG5pLmZsYWcuZGllZ28uZ2FyY2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5obTo6YmVmb3JlLFxuaS5mbGFnLmhlYXJkLmFuZC5tY2RvbmFsZC5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVkLTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5tZjo6YmVmb3JlLFxuaS5mbGFnLnN0Lm1hcnRpbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcuc2o6OmJlZm9yZSxcbmkuZmxhZy5zdmFsYmFyZC5hbmQuamFuLm1heWVuOjpiZWZvcmUsXG5pLmZsYWcuc3ZhbGJhcmQ6OmJlZm9yZSxcbmkuZmxhZy5qYW4ubWF5ZW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWYuc3ZnXCIpO1xufVxuaS5mbGFnLnRhOjpiZWZvcmUsXG5pLmZsYWcudHJpc3Rhbi5kYS5jdW5oYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcudW06OmJlZm9yZSxcbmkuZmxhZy51cy5vdXRseWluZy5pc2xhbmRzOjpiZWZvcmUsXG5pLmZsYWcubWlub3IuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcudW46OmJlZm9yZSxcbmkuZmxhZy51bml0ZWQubmF0aW9uczo6YmVmb3JlLFxuaS5mbGFnLnVuaXRlZC5uYXRpb25zOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWYzLnN2Z1wiKTtcbn1cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSGVhZGVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSGVhZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdWIgSGVhZGluZyAqL1xuLyogU3ViIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogSW1hZ2UgKi9cbi8qIExhYmVsICovXG4vKiBDb250ZW50ICovXG4vKiBQYXJhZ3JhcGggYWZ0ZXIgSGVhZGVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2l6aW5nICovXG4vKiBTdWIgSGVhZGVyICovXG4vKiBJY29uIEhlYWRlciAqL1xuLyogTm8gTGluZSBIZWlnaHQgT2Zmc2V0ICovXG4vKiBEaXZpZGVkICovXG4vKiBCbG9jayAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSGVhZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU3RhbmRhcmQgKi9cbi51aS5oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogY2FsYygycmVtIC0gMC4xNDI4NTcxNDI4NTcxNDI5ZW0pIDAgMXJlbTtcbiAgcGFkZGluZzogMCAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAtMC4xNDI4NTcxNGVtO1xufVxuLnVpLmhlYWRlcjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3ViIEhlYWRlclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhlYWRlciA+IC5pY29ucyxcbi51aS5oZWFkZXIgPiBpLmljb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBvcGFjaXR5OiAxO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIFdpdGggVGV4dCBOb2RlICovXG4udWkuaGVhZGVyOm5vdCguaWNvbikgPiAuaWNvbnM6b25seS1jaGlsZCxcbi51aS5oZWFkZXI6bm90KC5pY29uKSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhlYWRlciA+IC5pbWFnZTpub3QoLmljb24pLFxuLnVpLmhlYWRlciA+IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xNDI4NTcxNGVtO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKTpvbmx5LWNoaWxkLFxuLnVpLmhlYWRlciA+IGltZzpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGVhZGVyIC5jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogQWZ0ZXIgSW1hZ2UgKi9cbi51aS5oZWFkZXIgPiBpbWcgKyAuY29udGVudCxcbi51aS5oZWFkZXIgPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIEFmdGVyIEljb24gKi9cbi51aS5oZWFkZXI6bm90KC5pY29uKTpub3QoLmNlbnRlcmVkKTpub3QoLmFsaWduZWQpID4gLmljb25zICsgLmNvbnRlbnQsXG4udWkuaGVhZGVyOm5vdCguaWNvbik6bm90KC5jZW50ZXJlZCk6bm90KC5hbGlnbmVkKSA+IGkuaWNvbiArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiBMb29zZSBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGVhZGVyIC51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogXCJcIjtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIFBvc2l0aW9uaW5nICovXG4udWkuaGVhZGVyICsgcCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbmgxLnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbmgxLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbmgyLnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbmgyLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbmgzLnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbmgzLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmg0LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4wNzE0Mjg1N3JlbTtcbn1cbmg0LnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmg1LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmg1LnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbmg2LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbmg2LnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gQ29udGVudCBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5taW5pLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLm1pbmkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLm1pbmkuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkudGlueS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkudGlueS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkuc21hbGwuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3ZW07XG59XG4udWkuc21hbGwuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnNtYWxsLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5sYXJnZS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi51aS5sYXJnZS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkubGFyZ2Uuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmJpZy5oZWFkZXIge1xuICBmb250LXNpemU6IDEuODU3MTQyODZlbTtcbn1cbi51aS5iaWcuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkuaHVnZS5oZWFkZXIge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWluLWhlaWdodDogMWVtO1xufVxuLnVpLmh1Z2UuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmh1Z2Uuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1hc3NpdmUuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAyLjI4NTcxNDI5ZW07XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbn1cbi51aS5tYXNzaXZlLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3ViIEhlYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdWIuaGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4xNDI4NTcxNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogXCJcIjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmljb24uaGVhZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMnJlbSAwIDFyZW07XG59XG4udWkuaWNvbi5oZWFkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pY29uLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuaWNvbi5oZWFkZXIgPiAuaW1hZ2UuaWNvbixcbi51aS5pY29uLmhlYWRlciA+IC5pY29ucyxcbi51aS5pY29uLmhlYWRlciA+IGkuaWNvbiB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtYXJnaW46IDAgYXV0byAwLjVyZW07XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuaWNvbi5oZWFkZXIgLmNvcm5lci5pY29uIHtcbiAgZm9udC1zaXplOiBjYWxjKDNlbSAqIDAuNDUpO1xufVxuLnVpLmljb24uaGVhZGVyIC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG4udWkuaWNvbi5oZWFkZXIgPiBpLmNpcmN1bGFyIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4udWkuaWNvbi5oZWFkZXIgPiBpLnNxdWFyZSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLnVpLmJsb2NrLmljb24uaGVhZGVyID4gLmltYWdlLmljb24sXG4udWkuYmxvY2suaWNvbi5oZWFkZXIgPiAuaWNvbnMsXG4udWkuYmxvY2suaWNvbi5oZWFkZXIgPiBpLmljb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLmljb24uaGVhZGVyLmFsaWduZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZGlzYWJsZWQuaGVhZGVyIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4udWkuaW52ZXJ0ZWQuYXR0YWNoZWQuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5pbnZlcnRlZC5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkuaGVhZGVyIHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG5hLnVpLnByaW1hcnkuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM1ZDJiNTk7XG59XG4udWkucHJpbWFyeS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzZDMzY2Nztcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5hLnVpLmludmVydGVkLnByaW1hcnkuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzIxYjhmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTRjOGZmO1xufVxuLnVpLnNlY29uZGFyeS5oZWFkZXIge1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbmEudWkuc2Vjb25kYXJ5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjOThmMDEzO1xufVxuLnVpLnNlY29uZGFyeS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbmEudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM2ZTZlNmU7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTQ1NDU0O1xufVxuLnVpLnJlZC5oZWFkZXIge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbmEudWkucmVkLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZDAxOTE5O1xufVxuLnVpLnJlZC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbmEudWkuaW52ZXJ0ZWQucmVkLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZjM5MmI7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmY2OTVlO1xufVxuLnVpLm9yYW5nZS5oZWFkZXIge1xuICBjb2xvcjogI2YyNzExYztcbn1cbmEudWkub3JhbmdlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZjI2MjAyO1xufVxuLnVpLm9yYW5nZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbmEudWkuaW52ZXJ0ZWQub3JhbmdlLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNlNzZiMDA7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmY4NTFiO1xufVxuLnVpLnllbGxvdy5oZWFkZXIge1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbmEudWkueWVsbG93LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWFhZTAwO1xufVxuLnVpLnllbGxvdy5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2ZmZTIxZjtcbn1cbmEudWkuaW52ZXJ0ZWQueWVsbG93LmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNlYmNkMDA7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZlMjFmO1xufVxuLnVpLm9saXZlLmhlYWRlciB7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuYS51aS5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2E3YmQwZDtcbn1cbi51aS5vbGl2ZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuYS51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZDJlNzQ1O1xufVxuLnVpLmludmVydGVkLm9saXZlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDllNzc4O1xufVxuLnVpLmdyZWVuLmhlYWRlciB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuYS51aS5ncmVlbi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi51aS5ncmVlbi5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuYS51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMWVhOTJlO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmVjYzQwO1xufVxuLnVpLnRlYWwuaGVhZGVyIHtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG5hLnVpLnRlYWwuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMwMDljOTU7XG59XG4udWkudGVhbC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG5hLnVpLmludmVydGVkLnRlYWwuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzNhZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNmRmZmZmO1xufVxuLnVpLmJsdWUuaGVhZGVyIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG5hLnVpLmJsdWUuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxNjc4YzI7XG59XG4udWkuYmx1ZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5hLnVpLmludmVydGVkLmJsdWUuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzIxYjhmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTRjOGZmO1xufVxuLnVpLnZpb2xldC5oZWFkZXIge1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbmEudWkudmlvbGV0LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNTgyOWJiO1xufVxuLnVpLnZpb2xldC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbmEudWkuaW52ZXJ0ZWQudmlvbGV0LmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM3NDVhZmY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTI5MWZiO1xufVxuLnVpLnB1cnBsZS5oZWFkZXIge1xuICBjb2xvcjogI2EzMzNjODtcbn1cbmEudWkucHVycGxlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjOTYyN2JhO1xufVxuLnVpLnB1cnBsZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbmEudWkuaW52ZXJ0ZWQucHVycGxlLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNjZjQwZmY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGM3M2ZmO1xufVxuLnVpLnBpbmsuaGVhZGVyIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG5hLnVpLnBpbmsuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNlNjFhOGQ7XG59XG4udWkucGluay5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG5hLnVpLmludmVydGVkLnBpbmsuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmNWJkMTtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmY4ZWRmO1xufVxuLnVpLmJyb3duLmhlYWRlciB7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuYS51aS5icm93bi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk3NWIzMztcbn1cbi51aS5icm93bi5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuYS51aS5pbnZlcnRlZC5icm93bi5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjYjA2MjBmO1xufVxuLnVpLmludmVydGVkLmJyb3duLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDY3YzFjO1xufVxuLnVpLmdyZXkuaGVhZGVyIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG5hLnVpLmdyZXkuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM4MzgzODM7XG59XG4udWkuZ3JleS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG5hLnVpLmludmVydGVkLmdyZXkuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2MyYzRjNTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGNkZGRlO1xufVxuLnVpLmJsYWNrLmhlYWRlciB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuYS51aS5ibGFjay5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzI3MjkyYTtcbn1cbi51aS5ibGFjay5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuYS51aS5pbnZlcnRlZC5ibGFjay5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNTQ1NDU0O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sZWZ0LmFsaWduZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5yaWdodC5hbGlnbmVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmNlbnRlcmVkLmhlYWRlcixcbi51aS5jZW50ZXIuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuanVzdGlmaWVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4udWkuanVzdGlmaWVkLmhlYWRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGVkLmhlYWRlcixcbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uaGVhZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5oZWFkZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5maXR0ZWQuaGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXZpZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmRpdmlkaW5nLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxcmVtO1xufVxuLnVpLmRpdmlkaW5nLmhlYWRlciBpLmljb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLmludmVydGVkLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEJsb2NrXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDFyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuYmxvY2suaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMXJlbTtcbiAgbWFyZ2luOiAwIC0xcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuYXR0YWNoZWQuYmxvY2suaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnRvcCkuaGVhZGVyIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS50b3AuYXR0YWNoZWQuaGVhZGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQuaGVhZGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5zZWFtbGVzcy5hdHRhY2hlZDpub3QoLmJvdHRvbSkuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi8qIEF0dGFjaGVkIFNpemVzICovXG4udWkuYXR0YWNoZWQuaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubWluaS5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS50aW55LmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmJpZy5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBJY29uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKlxuKiBGb250IEF3ZXNvbWUgNS4xNS40IGJ5IEBmb250YXdlc29tZSBbaHR0cHM6Ly9mb250YXdlc29tZS5jb21dXG4qIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChJY29uczogQ0MgQlkgNC4wIExpY2Vuc2UsIEZvbnRzOiBTSUwgT0ZMIDEuMSBMaWNlbnNlLCBDU1M6IE1JVCBMaWNlbnNlKVxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkZvbWFudGljLVVJIGludGVncmF0aW9uIG9mIEZvbnRBd2Vzb21lOlxuXG4vLyBjbGFzcyBuYW1lcyBhcmUgc2VwYXJhdGVkXG5pLmljb24uYW5nbGUtbGVmdCAgPT4gIGkuaWNvbi5hbmdsZS5sZWZ0XG5cbi8vIHZhcmlhdGlvbnMgYXJlIGV4dHJhY3RlZFxuaS5pY29uLmNpcmNsZSAgICAgID0+ICBpLmljb24uY2lyY2xlXG5pLmljb24uY2lyY2xlLW8gICAgPT4gIGkuaWNvbi5jaXJjbGUub3V0bGluZVxuXG4vLyBhYmJyZXZpYXRpb24gYXJlIHJlcGxhY2VkIGJ5IGZ1bGwgd29yZHNcbmkuaWNvbi4qLWggICAgICAgICA9PiAgaS5pY29uLiouaG9yaXpvbnRhbFxuaS5pY29uLiotdiAgICAgICAgID0+ICBpLmljb24uKi52ZXJ0aWNhbFxuaS5pY29uLmFscGhhICAgICAgID0+ICBpLmljb24uYWxwaGFiZXRcbmkuaWNvbi5hc2MgICAgICAgICA9PiAgaS5pY29uLmFzY2VuZGluZ1xuaS5pY29uLmRlc2MgICAgICAgID0+ICBpLmljb24uZGVzY2VuZGluZ1xuaS5pY29uLmFsdCAgICAgICAgID0+ICBpLmljb24uYWx0ZXJuYXRlXG5cbkljb25zIGFyZSBvcmRlciBBLVogaW4gdGhlaXIgZ3JvdXAsIFNvbGlkLCBPdXRsaW5lLCBUaGluIChQcm8gb25seSkgYW5kIEJyYW5kXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9udCBGaWxlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTb2xpZCBJY29ucyAqL1xuLyogRGVwcmVjYXRlZCAoSW4vT3V0IE5hbWluZyBDb25mbGljdCkgKi9cbi8qIEljb25zICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRGVmaW5pdGlvblxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uIFZhcmlhYmxlcyAqL1xuLyogVmFyaWF0aW9ucyAqL1xuLyogRHVvdG9uZSBzcGVjaWZpY3MgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSWNvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm91dGxpbmUtaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9vdXRsaW5lLWljb25zLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvb3V0bGluZS1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9icmFuZC1pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2JyYW5kLWljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbmkuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICB3aWR0aDogMS4xOGVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgc3BlYWs6IG5vbmU7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5pLmljb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuaS5sb2FkaW5nLmljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5pLmxvYWRpbmcuaWNvbixcbmkubG9hZGluZy5pY29ucyB7XG4gIGFuaW1hdGlvbjogbG9hZGVyIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5pY29uOmhvdmVyLFxuaS5pY29uczpob3ZlcixcbmkuaWNvbjphY3RpdmUsXG5pLmljb25zOmFjdGl2ZSxcbmkuZW1waGFzaXplZC5pY29uOm5vdCguZGlzYWJsZWQpLFxuaS5lbXBoYXNpemVkLmljb25zOm5vdCguZGlzYWJsZWQpIHtcbiAgb3BhY2l0eTogMTtcbn1cbmkuZGlzYWJsZWQuaWNvbixcbmkuZGlzYWJsZWQuaWNvbnMge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLmZpdHRlZC5pY29ucyxcbmkuZml0dGVkLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLmxpbmsuaWNvbjpub3QoLmRpc2FibGVkKSxcbmkubGluay5pY29uczpub3QoLmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC44O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbmkubGluay5pY29uOmhvdmVyLFxuaS5saW5rLmljb25zOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLmNpcmN1bGFyLmljb24ge1xuICBib3JkZXItcmFkaXVzOiA1MDBlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjVlbSAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMWVtIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbiAgd2lkdGg6IDJlbSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDJlbSAhaW1wb3J0YW50O1xufVxuaS5jaXJjdWxhci5pY29uLmNvbG9yZWQge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFlbSBjdXJyZW50Q29sb3IgaW5zZXQ7XG59XG5pLmNpcmN1bGFyLmludmVydGVkLmljb24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmxpcHBlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLmZsaXBwZWQuaWNvbixcbmkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuaS52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuLmljb25zIGkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmhvcml6b250YWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpO1xufVxuLmljb25zIGkudmVydGljYWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFJvdGF0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5yb3RhdGVkLmljb24sXG5pLnJpZ2h0LnJvdGF0ZWQuaWNvbixcbmkuY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbmkubGVmdC5yb3RhdGVkLmljb24sXG5pLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbmkuaGFsZndheS5yb3RhdGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmljb25zIGkucm90YXRlZC5yb3RhdGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmljb25zIGkucmlnaHQucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmNsb2Nrd2lzZS5yb3RhdGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbn1cbi5pY29ucyBpLmxlZnQucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xufVxuLmljb25zIGkuaGFsZndheS5yb3RhdGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsaXBwZWQgJiBSb3RhdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLnJvdGF0ZWQuZmxpcHBlZC5pY29uLFxuaS5yaWdodC5yb3RhdGVkLmZsaXBwZWQuaWNvbixcbmkuY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSkgcm90YXRlKDkwZGVnKTtcbn1cbmkubGVmdC5yb3RhdGVkLmZsaXBwZWQuaWNvbixcbmkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTBkZWcpO1xufVxuaS5oYWxmd2F5LnJvdGF0ZWQuZmxpcHBlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSkgcm90YXRlKDE4MGRlZyk7XG59XG5pLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24sXG5pLnJpZ2h0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24sXG5pLmNsb2Nrd2lzZS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSkgcm90YXRlKDkwZGVnKTtcbn1cbmkubGVmdC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uLFxuaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKSByb3RhdGUoLTkwZGVnKTtcbn1cbmkuaGFsZndheS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSkgcm90YXRlKDE4MGRlZyk7XG59XG4uaWNvbnMgaS5yb3RhdGVkLmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5yaWdodC5yb3RhdGVkLmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5jbG9ja3dpc2Uucm90YXRlZC5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpIHJvdGF0ZSg5MGRlZyk7XG59XG4uaWNvbnMgaS5sZWZ0LnJvdGF0ZWQuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTBkZWcpO1xufVxuLmljb25zIGkuaGFsZndheS5yb3RhdGVkLmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgtMSwgMSkgcm90YXRlKDE4MGRlZyk7XG59XG4uaWNvbnMgaS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLnJpZ2h0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmljb25zIGkuY2xvY2t3aXNlLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpIHJvdGF0ZSg5MGRlZyk7XG59XG4uaWNvbnMgaS5sZWZ0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmljb25zIGkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEsIC0xKSByb3RhdGUoLTkwZGVnKTtcbn1cbi5pY29ucyBpLmhhbGZ3YXkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLCAtMSkgcm90YXRlKDE4MGRlZyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQm9yZGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5ib3JkZXJlZC5pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuNWVtIDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xZW0gcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xufVxuaS5ib3JkZXJlZC5pY29uLmNvbG9yZWQge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFlbSBjdXJyZW50Q29sb3IgaW5zZXQ7XG59XG5pLmJvcmRlcmVkLmludmVydGVkLmljb24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgU2hhcGVzICovXG5pLmludmVydGVkLmJvcmRlcmVkLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuaW52ZXJ0ZWQuaWNvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmkucHJpbWFyeS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuaS5pbnZlcnRlZC5wcmltYXJ5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnByaW1hcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnByaW1hcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnByaW1hcnkuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLnByaW1hcnkuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuc2Vjb25kYXJ5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG5pLmludmVydGVkLnNlY29uZGFyeS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5zZWNvbmRhcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnNlY29uZGFyeS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuc2Vjb25kYXJ5Lmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5zZWNvbmRhcnkuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkucmVkLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG5pLmludmVydGVkLnJlZC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZmY2OTVlO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5yZWQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnJlZC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQucmVkLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5yZWQuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkub3JhbmdlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG5pLmludmVydGVkLm9yYW5nZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5vcmFuZ2UuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLm9yYW5nZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub3JhbmdlLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5vcmFuZ2UuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkueWVsbG93Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG5pLmludmVydGVkLnllbGxvdy5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC55ZWxsb3cuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnllbGxvdy5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQueWVsbG93Lmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci55ZWxsb3cuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkub2xpdmUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbmkuaW52ZXJ0ZWQub2xpdmUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub2xpdmUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLm9saXZlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5vbGl2ZS5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIub2xpdmUuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuZ3JlZW4uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbmkuaW52ZXJ0ZWQuZ3JlZW4uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuZ3JlZW4uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZWVuLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmVlbi5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuZ3JlZW4uaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkudGVhbC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuaS5pbnZlcnRlZC50ZWFsLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnRlYWwuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnRlYWwuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnRlYWwuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLnRlYWwuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuYmx1ZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuaS5pbnZlcnRlZC5ibHVlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmJsdWUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJsdWUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLmJsdWUuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLmJsdWUuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkudmlvbGV0Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG5pLmludmVydGVkLnZpb2xldC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC52aW9sZXQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnZpb2xldC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQudmlvbGV0Lmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci52aW9sZXQuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkucHVycGxlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG5pLmludmVydGVkLnB1cnBsZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5wdXJwbGUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnB1cnBsZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQucHVycGxlLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5wdXJwbGUuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkucGluay5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuaS5pbnZlcnRlZC5waW5rLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnBpbmsuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnBpbmsuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnBpbmsuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLnBpbmsuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuYnJvd24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbmkuaW52ZXJ0ZWQuYnJvd24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYnJvd24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJyb3duLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5icm93bi5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYnJvd24uaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuZ3JleS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuaS5pbnZlcnRlZC5ncmV5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmdyZXkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZXkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLmdyZXkuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZXkuaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmkuYmxhY2suaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbmkuaW52ZXJ0ZWQuYmxhY2suaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYmxhY2suaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJsYWNrLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibGFjay5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYmxhY2suaWNvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLmljb24sXG5pLmljb25zIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5pLm1pbmkubWluaS5taW5pLmljb24sXG5pLm1pbmkubWluaS5taW5pLmljb25zIHtcbiAgZm9udC1zaXplOiAwLjRlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkudGlueS50aW55LnRpbnkuaWNvbixcbmkudGlueS50aW55LnRpbnkuaWNvbnMge1xuICBmb250LXNpemU6IDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5zbWFsbC5zbWFsbC5zbWFsbC5pY29uLFxuaS5zbWFsbC5zbWFsbC5zbWFsbC5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5sYXJnZS5sYXJnZS5sYXJnZS5pY29uLFxuaS5sYXJnZS5sYXJnZS5sYXJnZS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmJpZy5iaWcuYmlnLmljb24sXG5pLmJpZy5iaWcuYmlnLmljb25zIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmh1Z2UuaHVnZS5odWdlLmljb24sXG5pLmh1Z2UuaHVnZS5odWdlLmljb25zIHtcbiAgZm9udC1zaXplOiA0ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLm1hc3NpdmUubWFzc2l2ZS5tYXNzaXZlLmljb24sXG5pLm1hc3NpdmUubWFzc2l2ZS5tYXNzaXZlLmljb25zIHtcbiAgZm9udC1zaXplOiA4ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgIEdyb3Vwc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pLmljb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IDEuMThlbTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmkuaWNvbnMgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMDtcbn1cbmkuaWNvbnMgLmljb246bm90KC5jb3JuZXIpOm5vdCgucm90YXRlZCk6bm90KC5mbGlwcGVkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuaS5pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5pLmljb25zOm5vdCguYm9yZGVyZWQpOm5vdCguY2lyY3VsYXIpIC5pY29uOmZpcnN0LWNoaWxkOm5vdCgucm90YXRlZCk6bm90KC5mbGlwcGVkKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi8qIENvcm5lciBJY29uICovXG5pLmljb25zIC5jb3JuZXIuaWNvbiB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjQ1ZW07XG4gIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjRkZGRkZGLCAxcHggLTFweCAwICNGRkZGRkYsIC0xcHggMXB4IDAgI0ZGRkZGRiwgMXB4IDFweCAwICNGRkZGRkY7XG59XG5pLmljb25zIC5jb3JuZXIuaWNvbjpub3QoLnJvdGF0ZWQpOm5vdCguZmxpcHBlZCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5pLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgcmlnaHRcIl0ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG59XG5pLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgbGVmdFwiXSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbmkuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIHJpZ2h0XCJdIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuaS5pY29ucyAuaW52ZXJ0ZWQuY29ybmVyLmljb24ge1xuICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzFiMWMxZCwgMXB4IC0xcHggMCAjMWIxYzFkLCAtMXB4IDFweCAwICMxYjFjMWQsIDFweCAxcHggMCAjMWIxYzFkO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICBCb3JkZXJlZC9jaXJjdWxhciB3aXRoIGNvcm5lciBvciBncm91cCBpY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pLmJvcmRlcmVkLmljb25zLFxuaS5jaXJjdWxhci5pY29ucyB7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFlbSByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmJvcmRlcmVkLmljb25zLmNvbG9yZWQsXG5pLmNpcmN1bGFyLmljb25zLmNvbG9yZWQge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFlbSBjdXJyZW50Q29sb3IgaW5zZXQ7XG59XG5pLmNpcmN1bGFyLmljb25zIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW07XG59XG5pLmJvcmRlcmVkLmljb25zIGkuaWNvbjpmaXJzdC1jaGlsZCxcbmkuY2lyY3VsYXIuaWNvbnMgaS5pY29uOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi8qIEludmVydGVkIEljb24gKi9cbmkuYm9yZGVyZWQuaW52ZXJ0ZWQuaWNvbnMsXG5pLmNpcmN1bGFyLmludmVydGVkLmljb25zIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIENvcm5lciBJY29uICovXG5pLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcixcbmkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyLFxuaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIHJpZ2h0XCJdLFxuaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIHJpZ2h0XCJdIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMS4xNWVtO1xuICBib3R0b206IDEuMTVlbTtcbn1cbmkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCByaWdodFwiXSxcbmkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCByaWdodFwiXSB7XG4gIHRvcDogMS4xNWVtO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMS4xNWVtO1xuICBib3R0b206IGF1dG87XG59XG5pLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgbGVmdFwiXSxcbmkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCBsZWZ0XCJdIHtcbiAgdG9wOiAxLjE1ZW07XG4gIGxlZnQ6IDEuMTVlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbmkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSBsZWZ0XCJdLFxuaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIGxlZnRcIl0ge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDEuMTVlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMS4xNWVtO1xufVxuLyogRGVwcmVjYXRlZCAqSW4vT3V0IE5hbWluZyBDb25mbGljdCkgKi9cbmkuaWNvbi5saW5rZWRpbi5pbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cbmkuaWNvbi56b29tLmluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuaS5pY29uLnpvb20ub3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuaS5pY29uLnNpZ24uaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY2XCI7XG59XG5pLmljb24uaW4uY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbmkuaWNvbi5sb2cub3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiO1xufVxuaS5pY29uLnNpZ24ub3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiO1xufVxuaS5pY29uLnNpZ24uaW4uYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiO1xufVxuaS5pY29uLnNpZ24ub3V0LmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTb2xpZCBJY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJY29ucyAqL1xuaS5pY29uLmFkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0MVwiO1xufVxuaS5pY29uLmFkZHJlc3MuYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjlcIjtcbn1cbmkuaWNvbi5hZGRyZXNzLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7XG59XG5pLmljb24uYWRqdXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MlwiO1xufVxuaS5pY29uLmFpci5mcmVzaGVuZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQwXCI7XG59XG5pLmljb24uYWxpZ24uY2VudGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuaS5pY29uLmFsaWduLmp1c3RpZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM5XCI7XG59XG5pLmljb24uYWxpZ24ubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjtcbn1cbmkuaWNvbi5hbGlnbi5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzhcIjtcbn1cbmkuaWNvbi5hbGxlcmdpZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYxXCI7XG59XG5pLmljb24uYW1idWxhbmNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOVwiO1xufVxuaS5pY29uLmFtZXJpY2FuLnNpZ24ubGFuZ3VhZ2UuaW50ZXJwcmV0aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFuY2hvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbmkuaWNvbi5hbmdsZS5kb3VibGUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cbmkuaWNvbi5hbmdsZS5kb3VibGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDBcIjtcbn1cbmkuaWNvbi5hbmdsZS5kb3VibGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiO1xufVxuaS5pY29uLmFuZ2xlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG5pLmljb24uYW5nbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG59XG5pLmljb24uYW5nbGUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG5pLmljb24uYW5nbGUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDdcIjtcbn1cbmkuaWNvbi5hbmdyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTZcIjtcbn1cbmkuaWNvbi5hbmtoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0NFwiO1xufVxuaS5pY29uLmFyY2hpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG5pLmljb24uYXJjaHdheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTdcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU4XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OVwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVhXCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWJcIjtcbn1cbmkuaWNvbi5hcnJvdy5jaXJjbGUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cbmkuaWNvbi5hcnJvdy5jaXJjbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYThcIjtcbn1cbmkuaWNvbi5hcnJvdy5jaXJjbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG5pLmljb24uYXJyb3cuY2lyY2xlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhYVwiO1xufVxuaS5pY29uLmFycm93LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYzXCI7XG59XG5pLmljb24uYXJyb3cubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbmkuaWNvbi5hcnJvdy5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjFcIjtcbn1cbmkuaWNvbi5hcnJvdy51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjtcbn1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuaS5pY29uLmFycm93cy5hbHRlcm5hdGUuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzdcIjtcbn1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiO1xufVxuaS5pY29uLmFzc2lzdGl2ZS5saXN0ZW5pbmcuc3lzdGVtczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTJcIjtcbn1cbmkuaWNvbi5hc3Rlcmlzazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjlcIjtcbn1cbmkuaWNvbi5hdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmFcIjtcbn1cbmkuaWNvbi5hdGxhczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NThcIjtcbn1cbmkuaWNvbi5hdG9tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMlwiO1xufVxuaS5pY29uLmF1ZGlvLmRlc2NyaXB0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZVwiO1xufVxuaS5pY29uLmF3YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1OVwiO1xufVxuaS5pY29uLmJhYnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdjXCI7XG59XG5pLmljb24uYmFieS5jYXJyaWFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2RcIjtcbn1cbmkuaWNvbi5iYWNrc3BhY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVhXCI7XG59XG5pLmljb24uYmFja3dhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XG59XG5pLmljb24uYmFjb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U1XCI7XG59XG5pLmljb24uYmFjdGVyaWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU5XCI7XG59XG5pLmljb24uYmFjdGVyaXVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1YVwiO1xufVxuaS5pY29uLmJhaGFpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NlwiO1xufVxuaS5pY29uLmJhbGFuY2Uuc2NhbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XG59XG5pLmljb24uYmFsYW5jZS5zY2FsZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNVwiO1xufVxuaS5pY29uLmJhbGFuY2Uuc2NhbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE2XCI7XG59XG5pLmljb24uYmFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuaS5pY29uLmJhbmQuYWlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2MlwiO1xufVxuaS5pY29uLmJhcmNvZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7XG59XG5pLmljb24uYmFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbmkuaWNvbi5iYXNlYmFsbC5iYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzM1wiO1xufVxuaS5pY29uLmJhc2tldGJhbGwuYmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzRcIjtcbn1cbmkuaWNvbi5iYXRoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiO1xufVxuaS5pY29uLmJhdHRlcnkuZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7XG59XG5pLmljb24uYmF0dGVyeS5mdWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiO1xufVxuaS5pY29uLmJhdHRlcnkuaGFsZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDJcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5LnF1YXJ0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQzXCI7XG59XG5pLmljb24uYmF0dGVyeS50aHJlZS5xdWFydGVyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjtcbn1cbmkuaWNvbi5iZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7XG59XG5pLmljb24uYmVlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbmkuaWNvbi5iZWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuaS5pY29uLmJlbGwuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG5pLmljb24uYmV6aWVyLmN1cnZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1YlwiO1xufVxuaS5pY29uLmJpYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0N1wiO1xufVxuaS5pY29uLmJpY3ljbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG5pLmljb24uYmlraW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0YVwiO1xufVxuaS5pY29uLmJpbm9jdWxhcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG5pLmljb24uYmlvaGF6YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4MFwiO1xufVxuaS5pY29uLmJpcnRoZGF5LmNha2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZkXCI7XG59XG5pLmljb24uYmxlbmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTdcIjtcbn1cbmkuaWNvbi5ibGVuZGVyLnBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiNlwiO1xufVxuaS5pY29uLmJsaW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZFwiO1xufVxuaS5pY29uLmJsb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgxXCI7XG59XG5pLmljb24uYm9sZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzJcIjtcbn1cbmkuaWNvbi5ib2x0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiO1xufVxuaS5pY29uLmJvbWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XG59XG5pLmljb24uYm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDdcIjtcbn1cbmkuaWNvbi5ib25nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1Y1wiO1xufVxuaS5pY29uLmJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG5pLmljb24uYm9vay5kZWFkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiN1wiO1xufVxuaS5pY29uLmJvb2subWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTZcIjtcbn1cbmkuaWNvbi5ib29rLm9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE4XCI7XG59XG5pLmljb24uYm9vay5yZWFkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRhXCI7XG59XG5pLmljb24uYm9va21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG5pLmljb24uYm9yZGVyLmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NGNcIjtcbn1cbmkuaWNvbi5ib3JkZXIubm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NTBcIjtcbn1cbmkuaWNvbi5ib3JkZXIuc3R5bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODUzXCI7XG59XG5pLmljb24uYm93bGluZy5iYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNlwiO1xufVxuaS5pY29uLmJveDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjZcIjtcbn1cbmkuaWNvbi5ib3gub3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OWVcIjtcbn1cbmkuaWNvbi5ib3gudGlzc3VlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1YlwiO1xufVxuaS5pY29uLmJveGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2OFwiO1xufVxuaS5pY29uLmJyYWlsbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmExXCI7XG59XG5pLmljb24uYnJhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRjXCI7XG59XG5pLmljb24uYnJlYWQuc2xpY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2VjXCI7XG59XG5pLmljb24uYnJpZWZjYXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiO1xufVxuaS5pY29uLmJyaWVmY2FzZS5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2OVwiO1xufVxuaS5pY29uLmJyb2FkY2FzdC50b3dlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTlcIjtcbn1cbmkuaWNvbi5icm9vbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWFcIjtcbn1cbmkuaWNvbi5icnVzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWRcIjtcbn1cbmkuaWNvbi5idWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG5pLmljb24uYnVpbGRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7XG59XG5pLmljb24uYnVsbGhvcm46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG5pLmljb24uYnVsbHNleWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG5pLmljb24uYnVybjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmFcIjtcbn1cbmkuaWNvbi5idXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XG59XG5pLmljb24uYnVzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWVcIjtcbn1cbmkuaWNvbi5idXNpbmVzcy50aW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0YVwiO1xufVxuaS5pY29uLmNhbGN1bGF0b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVjXCI7XG59XG5pLmljb24uY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG5pLmljb24uY2FsZW5kYXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3M1wiO1xufVxuaS5pY29uLmNhbGVuZGFyLmNoZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NFwiO1xufVxuaS5pY29uLmNhbGVuZGFyLmRheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5taW51czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiO1xufVxuaS5pY29uLmNhbGVuZGFyLnRpbWVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiO1xufVxuaS5pY29uLmNhbGVuZGFyLndlZWs6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg0XCI7XG59XG5pLmljb24uY2FtZXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuaS5pY29uLmNhbWVyYS5yZXRybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjtcbn1cbmkuaWNvbi5jYW1wZ3JvdW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiYlwiO1xufVxuaS5pY29uLmNhbmR5LmNhbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg2XCI7XG59XG5pLmljb24uY2FubmFiaXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVmXCI7XG59XG5pLmljb24uY2Fwc3VsZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZiXCI7XG59XG5pLmljb24uY2FyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOVwiO1xufVxuaS5pY29uLmNhci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRlXCI7XG59XG5pLmljb24uY2FyLmJhdHRlcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRmXCI7XG59XG5pLmljb24uY2FyLmNyYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlMVwiO1xufVxuaS5pY29uLmNhci5zaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlNFwiO1xufVxuaS5pY29uLmNhcmF2YW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGZmXCI7XG59XG5pLmljb24uY2FyZXQuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbmkuaWNvbi5jYXJldC5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuaS5pY29uLmNhcmV0LnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XG59XG5pLmljb24uY2FyZXQudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG5pLmljb24uY2Fycm90OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4N1wiO1xufVxuaS5pY29uLmNhcnQuYXJyb3cuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbmkuaWNvbi5jYXJ0LnBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG5pLmljb24uY2FzaC5yZWdpc3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODhcIjtcbn1cbmkuaWNvbi5jYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmJlXCI7XG59XG5pLmljb24uY2VydGlmaWNhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG5pLmljb24uY2hhaXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMwXCI7XG59XG5pLmljb24uY2hhbGtib2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWJcIjtcbn1cbmkuaWNvbi5jaGFsa2JvYXJkLnRlYWNoZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFjXCI7XG59XG5pLmljb24uY2hhcmdpbmcuc3RhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTdcIjtcbn1cbmkuaWNvbi5jaGFydC5hcmVhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuaS5pY29uLmNoYXJ0LmJhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbmkuaWNvbi5jaGFydC5waWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24uY2hhcnRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiO1xufVxuaS5pY29uLmNoZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuaS5pY29uLmNoZWNrLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNThcIjtcbn1cbmkuaWNvbi5jaGVjay5kb3VibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYwXCI7XG59XG5pLmljb24uY2hlY2suc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuaS5pY29uLmNoZWVzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZWZcIjtcbn1cbmkuaWNvbi5jaGVzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzlcIjtcbn1cbmkuaWNvbi5jaGVzcy5iaXNob3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNhXCI7XG59XG5pLmljb24uY2hlc3MuYm9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNjXCI7XG59XG5pLmljb24uY2hlc3Mua2luZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0M2ZcIjtcbn1cbmkuaWNvbi5jaGVzcy5rbmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQxXCI7XG59XG5pLmljb24uY2hlc3MucGF3bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDNcIjtcbn1cbmkuaWNvbi5jaGVzcy5xdWVlbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDVcIjtcbn1cbmkuaWNvbi5jaGVzcy5yb29rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0N1wiO1xufVxuaS5pY29uLmNoZXZyb24uY2lyY2xlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7XG59XG5pLmljb24uY2hldnJvbi5jaXJjbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5pLmljb24uY2hldnJvbi5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuaS5pY29uLmNoZXZyb24ucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5pLmljb24uY2hldnJvbi51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbmkuaWNvbi5jaGlsZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWVcIjtcbn1cbmkuaWNvbi5jaHVyY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFkXCI7XG59XG5pLmljb24uY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuaS5pY29uLmNpcmNsZS5ub3RjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cbmkuaWNvbi5jaXR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0ZlwiO1xufVxuaS5pY29uLmNsaW5pYy5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmMlwiO1xufVxuaS5pY29uLmNsaXBib2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjhcIjtcbn1cbmkuaWNvbi5jbGlwYm9hcmQuY2hlY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZjXCI7XG59XG5pLmljb24uY2xpcGJvYXJkLmxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZkXCI7XG59XG5pLmljb24uY2xvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG5pLmljb24uY2xvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRkXCI7XG59XG5pLmljb24uY2xvc2VkLmNhcHRpb25pbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG5pLmljb24uY2xvdWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMyXCI7XG59XG5pLmljb24uY2xvdWQuZG93bmxvYWQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiO1xufVxuaS5pY29uLmNsb3VkLm1lYXRiYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczYlwiO1xufVxuaS5pY29uLmNsb3VkLm1vb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMzXCI7XG59XG5pLmljb24uY2xvdWQubW9vbi5yYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczY1wiO1xufVxuaS5pY29uLmNsb3VkLnJhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzNkXCI7XG59XG5pLmljb24uY2xvdWQuc2hvd2Vycy5oZWF2eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDBcIjtcbn1cbmkuaWNvbi5jbG91ZC5zdW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM0XCI7XG59XG5pLmljb24uY2xvdWQuc3VuLnJhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQzXCI7XG59XG5pLmljb24uY2xvdWQudXBsb2FkLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjtcbn1cbmkuaWNvbi5jb2NrdGFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjFcIjtcbn1cbmkuaWNvbi5jb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiO1xufVxuaS5pY29uLmNvZGUuYnJhbmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiO1xufVxuaS5pY29uLmNvZmZlZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjRcIjtcbn1cbmkuaWNvbi5jb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG5pLmljb24uY29nczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cbmkuaWNvbi5jb2luczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWVcIjtcbn1cbmkuaWNvbi5jb2x1bW5zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYlwiO1xufVxuaS5pY29uLmNvbW1lbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY29tbWVudC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XG59XG5pLmljb24uY29tbWVudC5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjUxXCI7XG59XG5pLmljb24uY29tbWVudC5kb3RzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZFwiO1xufVxuaS5pY29uLmNvbW1lbnQubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjVcIjtcbn1cbmkuaWNvbi5jb21tZW50LnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiM1wiO1xufVxuaS5pY29uLmNvbW1lbnRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NlwiO1xufVxuaS5pY29uLmNvbW1lbnRzLmRvbGxhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTNcIjtcbn1cbmkuaWNvbi5jb21wYWN0LmRpc2M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFmXCI7XG59XG5pLmljb24uY29tcGFzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbmkuaWNvbi5jb21wcmVzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cbmkuaWNvbi5jb21wcmVzcy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIyXCI7XG59XG5pLmljb24uY29tcHJlc3MuYXJyb3dzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGNcIjtcbn1cbmkuaWNvbi5jb25jaWVyZ2UuYmVsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjJcIjtcbn1cbmkuaWNvbi5jb29raWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYzXCI7XG59XG5pLmljb24uY29va2llLmJpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY0XCI7XG59XG5pLmljb24uY29weTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjtcbn1cbmkuaWNvbi5jb3B5cmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY5XCI7XG59XG5pLmljb24uY291Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI4XCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5pLmljb24uY3JvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjVcIjtcbn1cbmkuaWNvbi5jcm9wLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjVcIjtcbn1cbmkuaWNvbi5jcm9zczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTRcIjtcbn1cbmkuaWNvbi5jcm9zc2hhaXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YlwiO1xufVxuaS5pY29uLmNyb3c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIwXCI7XG59XG5pLmljb24uY3Jvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIxXCI7XG59XG5pLmljb24uY3J1dGNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmN1wiO1xufVxuaS5pY29uLmN1YmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG5pLmljb24uY3ViZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG5pLmljb24uY3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNFwiO1xufVxuaS5pY29uLmRhdGFiYXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMFwiO1xufVxuaS5pY29uLmRlYWY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7XG59XG5pLmljb24uZGVtb2NyYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQ3XCI7XG59XG5pLmljb24uZGVza3RvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbmkuaWNvbi5kaGFybWFjaGFrcmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU1XCI7XG59XG5pLmljb24uZGlhZ25vc2VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MFwiO1xufVxuaS5pY29uLmRpY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIyXCI7XG59XG5pLmljb24uZGljZS5kMjA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNmXCI7XG59XG5pLmljb24uZGljZS5kNjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDFcIjtcbn1cbmkuaWNvbi5kaWNlLmZpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTIzXCI7XG59XG5pLmljb24uZGljZS5mb3VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNFwiO1xufVxuaS5pY29uLmRpY2Uub25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNVwiO1xufVxuaS5pY29uLmRpY2Uuc2l4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyNlwiO1xufVxuaS5pY29uLmRpY2UudGhyZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI3XCI7XG59XG5pLmljb24uZGljZS50d286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI4XCI7XG59XG5pLmljb24uZGlnaXRhbC50YWNob2dyYXBoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NlwiO1xufVxuaS5pY29uLmRpcmVjdGlvbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWViXCI7XG59XG5pLmljb24uZGlzZWFzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZmFcIjtcbn1cbmkuaWNvbi5kaXZpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI5XCI7XG59XG5pLmljb24uZGl6enk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY3XCI7XG59XG5pLmljb24uZG5hOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MVwiO1xufVxuaS5pY29uLmRvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDNcIjtcbn1cbmkuaWNvbi5kb2xsYXIuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cbmkuaWNvbi5kb2xseTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzJcIjtcbn1cbmkuaWNvbi5kb2xseS5mbGF0YmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3NFwiO1xufVxuaS5pY29uLmRvbmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjlcIjtcbn1cbmkuaWNvbi5kb29yLmNsb3NlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmFcIjtcbn1cbmkuaWNvbi5kb29yLm9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJiXCI7XG59XG5pLmljb24uZG90LmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbmkuaWNvbi5kb3ZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiYVwiO1xufVxuaS5pY29uLmRvd25sb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiO1xufVxuaS5pY29uLmRyYWZ0aW5nLmNvbXBhc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY4XCI7XG59XG5pLmljb24uZHJhZ29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkNVwiO1xufVxuaS5pY29uLmRyYXcucG9seWdvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZWVcIjtcbn1cbmkuaWNvbi5kcnVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2OVwiO1xufVxuaS5pY29uLmRydW0uc3RlZWxwYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZhXCI7XG59XG5pLmljb24uZHJ1bXN0aWNrLmJpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQ3XCI7XG59XG5pLmljb24uZHVtYmJlbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRiXCI7XG59XG5pLmljb24uZHVtcHN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkzXCI7XG59XG5pLmljb24uZHVtcHN0ZXIuZmlyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTRcIjtcbn1cbmkuaWNvbi5kdW5nZW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkOVwiO1xufVxuaS5pY29uLmVkaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG5pLmljb24uZWdnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmYlwiO1xufVxuaS5pY29uLmVqZWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiO1xufVxuaS5pY29uLmVsbGlwc2lzLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG5pLmljb24uZWxsaXBzaXMudmVydGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQyXCI7XG59XG5pLmljb24uZW52ZWxvcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5pLmljb24uZW52ZWxvcGUub3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZS5vcGVuLnRleHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU4XCI7XG59XG5pLmljb24uZW52ZWxvcGUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OVwiO1xufVxuaS5pY29uLmVxdWFsczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmNcIjtcbn1cbmkuaWNvbi5lcmFzZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG5pLmljb24uZXRoZXJuZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk2XCI7XG59XG5pLmljb24uZXVyby5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiO1xufVxuaS5pY29uLmV4Y2hhbmdlLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjJcIjtcbn1cbmkuaWNvbi5leGNsYW1hdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbmkuaWNvbi5leGNsYW1hdGlvbi5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG5pLmljb24uZXhjbGFtYXRpb24udHJpYW5nbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG5pLmljb24uZXhwYW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NVwiO1xufVxuaS5pY29uLmV4cGFuZC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI0XCI7XG59XG5pLmljb24uZXhwYW5kLmFycm93cy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzFlXCI7XG59XG5pLmljb24uZXh0ZXJuYWwuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1ZFwiO1xufVxuaS5pY29uLmV4dGVybmFsLmxpbmsuc3F1YXJlLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjBcIjtcbn1cbmkuaWNvbi5leWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG5pLmljb24uZXllLmRyb3BwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7XG59XG5pLmljb24uZXllLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MFwiO1xufVxuaS5pY29uLmZhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NjNcIjtcbn1cbmkuaWNvbi5mYXN0LmJhY2t3YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OVwiO1xufVxuaS5pY29uLmZhc3QuZm9yd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTBcIjtcbn1cbmkuaWNvbi5mYXVjZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA1XCI7XG59XG5pLmljb24uZmF4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhY1wiO1xufVxuaS5pY29uLmZlYXRoZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJkXCI7XG59XG5pLmljb24uZmVhdGhlci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZiXCI7XG59XG5pLmljb24uZmVtYWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiO1xufVxuaS5pY29uLmZpZ2h0ZXIuamV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuaS5pY29uLmZpbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG5pLmljb24uZmlsZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5pLmljb24uZmlsZS5hcmNoaXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiO1xufVxuaS5pY29uLmZpbGUuYXVkaW86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7XG59XG5pLmljb24uZmlsZS5jb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuaS5pY29uLmZpbGUuY29udHJhY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZjXCI7XG59XG5pLmljb24uZmlsZS5jc3Y6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRkXCI7XG59XG5pLmljb24uZmlsZS5kb3dubG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmRcIjtcbn1cbmkuaWNvbi5maWxlLmV4Y2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiO1xufVxuaS5pY29uLmZpbGUuZXhwb3J0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZVwiO1xufVxuaS5pY29uLmZpbGUuaW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7XG59XG5pLmljb24uZmlsZS5pbXBvcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZmXCI7XG59XG5pLmljb24uZmlsZS5pbnZvaWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MFwiO1xufVxuaS5pY29uLmZpbGUuaW52b2ljZS5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTcxXCI7XG59XG5pLmljb24uZmlsZS5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3N1wiO1xufVxuaS5pY29uLmZpbGUubWVkaWNhbC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc4XCI7XG59XG5pLmljb24uZmlsZS5wZGY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG5pLmljb24uZmlsZS5wb3dlcnBvaW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuaS5pY29uLmZpbGUucHJlc2NyaXB0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MlwiO1xufVxuaS5pY29uLmZpbGUuc2lnbmF0dXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3M1wiO1xufVxuaS5pY29uLmZpbGUudXBsb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NFwiO1xufVxuaS5pY29uLmZpbGUudmlkZW86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM4XCI7XG59XG5pLmljb24uZmlsZS53b3JkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMlwiO1xufVxuaS5pY29uLmZpbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc1XCI7XG59XG5pLmljb24uZmlsbC5kcmlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NlwiO1xufVxuaS5pY29uLmZpbG06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XG59XG5pLmljb24uZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuaS5pY29uLmZpbmdlcnByaW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3N1wiO1xufVxuaS5pY29uLmZpcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG5pLmljb24uZmlyZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U0XCI7XG59XG5pLmljb24uZmlyZS5leHRpbmd1aXNoZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG5pLmljb24uZmlyc3QuYWlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OVwiO1xufVxuaS5pY29uLmZpc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc4XCI7XG59XG5pLmljb24uZmlzdC5yYWlzZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRlXCI7XG59XG5pLmljb24uZmxhZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbmkuaWNvbi5mbGFnLmNoZWNrZXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWVcIjtcbn1cbmkuaWNvbi5mbGFnLnVzYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NGRcIjtcbn1cbmkuaWNvbi5mbGFzazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cbmkuaWNvbi5mbHVzaGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OVwiO1xufVxuaS5pY29uLmZvbGRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbmkuaWNvbi5mb2xkZXIubWludXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjVkXCI7XG59XG5pLmljb24uZm9sZGVyLm9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG5pLmljb24uZm9sZGVyLnBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjVlXCI7XG59XG5pLmljb24uZm9udDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cbmkuaWNvbi5mb290YmFsbC5iYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0ZVwiO1xufVxuaS5pY29uLmZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRlXCI7XG59XG5pLmljb24uZnJvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmVcIjtcbn1cbmkuaWNvbi5mcm93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjtcbn1cbmkuaWNvbi5mcm93bi5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3YVwiO1xufVxuaS5pY29uLmZydWl0LWFwcGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMVwiO1xufVxuaS5pY29uLmZ1bm5lbC5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjYyXCI7XG59XG5pLmljb24uZnV0Ym9sOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiO1xufVxuaS5pY29uLmdhbWVwYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG5pLmljb24uZ2FzLnB1bXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJmXCI7XG59XG5pLmljb24uZ2F2ZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG5pLmljb24uZ2VtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNVwiO1xufVxuaS5pY29uLmdlbmRlcmxlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7XG59XG5pLmljb24uZ2hvc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmUyXCI7XG59XG5pLmljb24uZ2lmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmJcIjtcbn1cbmkuaWNvbi5naWZ0czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OWNcIjtcbn1cbmkuaWNvbi5nbGFzcy5jaGVlcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzlmXCI7XG59XG5pLmljb24uZ2xhc3MubWFydGluaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDBcIjtcbn1cbmkuaWNvbi5nbGFzcy5tYXJ0aW5pLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2JcIjtcbn1cbmkuaWNvbi5nbGFzcy53aGlza2V5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhMFwiO1xufVxuaS5pY29uLmdsYXNzZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMwXCI7XG59XG5pLmljb24uZ2xvYmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XG59XG5pLmljb24uZ2xvYmUuYWZyaWNhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3Y1wiO1xufVxuaS5pY29uLmdsb2JlLmFtZXJpY2FzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZFwiO1xufVxuaS5pY29uLmdsb2JlLmFzaWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdlXCI7XG59XG5pLmljb24uZ2xvYmUuZXVyb3BlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhMlwiO1xufVxuaS5pY29uLmdvbGYuYmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTBcIjtcbn1cbmkuaWNvbi5nb3B1cmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NFwiO1xufVxuaS5pY29uLmdyYWR1YXRpb24uY2FwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuaS5pY29uLmdyZWF0ZXIudGhhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzFcIjtcbn1cbmkuaWNvbi5ncmVhdGVyLnRoYW4uZXF1YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMyXCI7XG59XG5pLmljb24uZ3JpbWFjZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2ZcIjtcbn1cbmkuaWNvbi5ncmluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4MFwiO1xufVxuaS5pY29uLmdyaW4uYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4MVwiO1xufVxuaS5pY29uLmdyaW4uYmVhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODJcIjtcbn1cbmkuaWNvbi5ncmluLmJlYW0uc3dlYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgzXCI7XG59XG5pLmljb24uZ3Jpbi5oZWFydHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg0XCI7XG59XG5pLmljb24uZ3Jpbi5zcXVpbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg1XCI7XG59XG5pLmljb24uZ3Jpbi5zcXVpbnQudGVhcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg2XCI7XG59XG5pLmljb24uZ3Jpbi5zdGFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODdcIjtcbn1cbmkuaWNvbi5ncmluLnRlYXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OFwiO1xufVxuaS5pY29uLmdyaW4udG9uZ3VlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OVwiO1xufVxuaS5pY29uLmdyaW4udG9uZ3VlLnNxdWludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGFcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZS53aW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4YlwiO1xufVxuaS5pY29uLmdyaW4ud2luazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGNcIjtcbn1cbmkuaWNvbi5ncmlwLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThkXCI7XG59XG5pLmljb24uZ3JpcC5saW5lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTRcIjtcbn1cbmkuaWNvbi5ncmlwLmxpbmVzLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhNVwiO1xufVxuaS5pY29uLmdyaXAudmVydGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThlXCI7XG59XG5pLmljb24uZ3VpdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhNlwiO1xufVxuaS5pY29uLmguc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuaS5pY29uLmhhbWJ1cmdlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MDVcIjtcbn1cbmkuaWNvbi5oYW1tZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmUzXCI7XG59XG5pLmljb24uaGFtc2E6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjY1XCI7XG59XG5pLmljb24uaGFuZC5ob2xkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiZFwiO1xufVxuaS5pY29uLmhhbmQuaG9sZGluZy5oZWFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmVcIjtcbn1cbmkuaWNvbi5oYW5kLmhvbGRpbmcubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWNcIjtcbn1cbmkuaWNvbi5oYW5kLmhvbGRpbmcudXNkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMFwiO1xufVxuaS5pY29uLmhhbmQuaG9sZGluZy53YXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzFcIjtcbn1cbmkuaWNvbi5oYW5kLmxpemFyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjtcbn1cbmkuaWNvbi5oYW5kLm1pZGRsZS5maW5nZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA2XCI7XG59XG5pLmljb24uaGFuZC5wYXBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBlYWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50LmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTRcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50LnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNlwiO1xufVxuaS5pY29uLmhhbmQucG9pbnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjtcbn1cbmkuaWNvbi5oYW5kLnJvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XG59XG5pLmljb24uaGFuZC5zY2lzc29yczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTdcIjtcbn1cbmkuaWNvbi5oYW5kLnNwYXJrbGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1ZFwiO1xufVxuaS5pY29uLmhhbmQuc3BvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU5XCI7XG59XG5pLmljb24uaGFuZHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGMyXCI7XG59XG5pLmljb24uaGFuZHMuaGVscGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzRcIjtcbn1cbmkuaWNvbi5oYW5kcy53YXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1ZVwiO1xufVxuaS5pY29uLmhhbmRzaGFrZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjVcIjtcbn1cbmkuaWNvbi5oYW5kc2hha2UuYWx0ZXJuYXRlLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1ZlwiO1xufVxuaS5pY29uLmhhbmRzaGFrZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjBcIjtcbn1cbmkuaWNvbi5oYW51a2lhaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTZcIjtcbn1cbmkuaWNvbi5oYXJkLmhhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MDdcIjtcbn1cbmkuaWNvbi5oYXNodGFnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MlwiO1xufVxuaS5pY29uLmhhdC5jb3dib3k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGMwXCI7XG59XG5pLmljb24uaGF0LmNvd2JveS5zaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjMVwiO1xufVxuaS5pY29uLmhhdC53aXphcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmU4XCI7XG59XG5pLmljb24uaGRkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuaS5pY29uLmhlYWQuc2lkZS5jb3VnaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjFcIjtcbn1cbmkuaWNvbi5oZWFkLnNpZGUuY291Z2guc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYyXCI7XG59XG5pLmljb24uaGVhZC5zaWRlLm1hc2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYzXCI7XG59XG5pLmljb24uaGVhZC5zaWRlLnZpcnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NFwiO1xufVxuaS5pY29uLmhlYWRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG5pLmljb24uaGVhZHBob25lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjVcIjtcbn1cbmkuaWNvbi5oZWFkcGhvbmVzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGZcIjtcbn1cbmkuaWNvbi5oZWFkc2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MFwiO1xufVxuaS5pY29uLmhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuaS5pY29uLmhlYXJ0LmJyb2tlbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTlcIjtcbn1cbmkuaWNvbi5oZWFydGJlYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFlXCI7XG59XG5pLmljb24uaGVsaWNvcHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzNcIjtcbn1cbmkuaWNvbi5oaWdobGlnaHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTFcIjtcbn1cbmkuaWNvbi5oaWtpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmVjXCI7XG59XG5pLmljb24uaGlwcG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmVkXCI7XG59XG5pLmljb24uaGlzdG9yeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGFcIjtcbn1cbmkuaWNvbi5ob2NrZXkucHVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTNcIjtcbn1cbmkuaWNvbi5ob2xseS5iZXJyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWFcIjtcbn1cbmkuaWNvbi5ob21lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuaS5pY29uLmhvcnNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMFwiO1xufVxuaS5pY29uLmhvcnNlLmhlYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FiXCI7XG59XG5pLmljb24uaG9zcGl0YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XG59XG5pLmljb24uaG9zcGl0YWwuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZFwiO1xufVxuaS5pY29uLmhvc3BpdGFsLnN5bWJvbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2VcIjtcbn1cbmkuaWNvbi5ob3NwaXRhbC51c2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwZFwiO1xufVxuaS5pY29uLmhvdC50dWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkzXCI7XG59XG5pLmljb24uaG90ZG9nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwZlwiO1xufVxuaS5pY29uLmhvdGVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5NFwiO1xufVxuaS5pY29uLmhvdXJnbGFzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuZW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiO1xufVxuaS5pY29uLmhvdXJnbGFzcy5oYWxmOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy5zdGFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTFcIjtcbn1cbmkuaWNvbi5ob3VzZS5kYW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYxXCI7XG59XG5pLmljb24uaG91c2UudXNlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjVcIjtcbn1cbmkuaWNvbi5ocnl2bmlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMlwiO1xufVxuaS5pY29uLmkuY3Vyc29yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NlwiO1xufVxuaS5pY29uLmljZS5jcmVhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTBcIjtcbn1cbmkuaWNvbi5pY2ljbGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZFwiO1xufVxuaS5pY29uLmljb25zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg2ZFwiO1xufVxuaS5pY29uLmlkLmJhZGdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMVwiO1xufVxuaS5pY29uLmlkLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7XG59XG5pLmljb24uaWQuY2FyZC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdmXCI7XG59XG5pLmljb24uaWdsb286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FlXCI7XG59XG5pLmljb24uaW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG5pLmljb24uaW1hZ2VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMlwiO1xufVxuaS5pY29uLmluYm94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxY1wiO1xufVxuaS5pY29uLmluZGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cbmkuaWNvbi5pbmR1c3RyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzVcIjtcbn1cbmkuaWNvbi5pbmZpbml0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzRcIjtcbn1cbmkuaWNvbi5pbmZvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiO1xufVxuaS5pY29uLmluZm8uY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YVwiO1xufVxuaS5pY29uLml0YWxpYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzNcIjtcbn1cbmkuaWNvbi5qZWRpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2OVwiO1xufVxuaS5pY29uLmpvaW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5NVwiO1xufVxuaS5pY29uLmpvdXJuYWwud2hpbGxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YVwiO1xufVxuaS5pY29uLmthYWJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YlwiO1xufVxuaS5pY29uLmtleTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cbmkuaWNvbi5rZXlib2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cbmkuaWNvbi5raGFuZGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZkXCI7XG59XG5pLmljb24ua2lzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTZcIjtcbn1cbmkuaWNvbi5raXNzLmJlYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk3XCI7XG59XG5pLmljb24ua2lzcy53aW5rLmhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OFwiO1xufVxuaS5pY29uLmtpd2kuYmlyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzVcIjtcbn1cbmkuaWNvbi5sYW5kbWFyazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmZcIjtcbn1cbmkuaWNvbi5sYW5ndWFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbmkuaWNvbi5sYXB0b3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA5XCI7XG59XG5pLmljb24ubGFwdG9wLmNvZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZjXCI7XG59XG5pLmljb24ubGFwdG9wLmhvdXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NlwiO1xufVxuaS5pY29uLmxhcHRvcC5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxMlwiO1xufVxuaS5pY29uLmxhdWdoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OVwiO1xufVxuaS5pY29uLmxhdWdoLmJlYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlhXCI7XG59XG5pLmljb24ubGF1Z2guc3F1aW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YlwiO1xufVxuaS5pY29uLmxhdWdoLndpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTljXCI7XG59XG5pLmljb24ubGF5ZXIuZ3JvdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZkXCI7XG59XG5pLmljb24ubGVhZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjtcbn1cbmkuaWNvbi5sZW1vbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjtcbn1cbmkuaWNvbi5sZXNzLnRoYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM2XCI7XG59XG5pLmljb24ubGVzcy50aGFuLmVxdWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzN1wiO1xufVxuaS5pY29uLmxldmVsLmRvd24uYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZVwiO1xufVxuaS5pY29uLmxldmVsLnVwLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmZcIjtcbn1cbmkuaWNvbi5saWZlLnJpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7XG59XG5pLmljb24ubGlnaHRidWxiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuaS5pY29uLmxpbmtpZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG5pLmljb24ubGlyYS5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NVwiO1xufVxuaS5pY29uLmxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNhXCI7XG59XG5pLmljb24ubGlzdC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5pLmljb24ubGlzdC5vbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbmkuaWNvbi5saXN0LnVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuaS5pY29uLmxvY2F0aW9uLmFycm93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNFwiO1xufVxuaS5pY29uLmxvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG59XG5pLmljb24ubG9jay5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMVwiO1xufVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA5XCI7XG59XG5pLmljb24ubG9uZy5hcnJvdy5hbHRlcm5hdGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGFcIjtcbn1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGJcIjtcbn1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGNcIjtcbn1cbmkuaWNvbi5sb3cudmlzaW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOFwiO1xufVxuaS5pY29uLmx1Z2dhZ2UuY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWRcIjtcbn1cbmkuaWNvbi5sdW5nczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MDRcIjtcbn1cbmkuaWNvbi5sdW5ncy52aXJ1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjdcIjtcbn1cbmkuaWNvbi5tYWdpYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjtcbn1cbmkuaWNvbi5tYWduZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc2XCI7XG59XG5pLmljb24ubWFpbC5idWxrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3NFwiO1xufVxuaS5pY29uLm1hbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XG59XG5pLmljb24ubWFwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiO1xufVxuaS5pY29uLm1hcC5tYXJrZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlmXCI7XG59XG5pLmljb24ubWFwLm1hcmtlZC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEwXCI7XG59XG5pLmljb24ubWFwLm1hcmtlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbmkuaWNvbi5tYXAubWFya2VyLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzVcIjtcbn1cbmkuaWNvbi5tYXAucGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NlwiO1xufVxuaS5pY29uLm1hcC5zaWduczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzdcIjtcbn1cbmkuaWNvbi5tYXJrZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWExXCI7XG59XG5pLmljb24ubWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjtcbn1cbmkuaWNvbi5tYXJzLmRvdWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjtcbn1cbmkuaWNvbi5tYXJzLnN0cm9rZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cbmkuaWNvbi5tYXJzLnN0cm9rZS5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiO1xufVxuaS5pY29uLm1hcnMuc3Ryb2tlLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuaS5pY29uLm1hc2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmZhXCI7XG59XG5pLmljb24ubWVkYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEyXCI7XG59XG5pLmljb24ubWVka2l0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYVwiO1xufVxuaS5pY29uLm1laDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cbmkuaWNvbi5tZWguYmxhbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE0XCI7XG59XG5pLmljb24ubWVoLnJvbGxpbmcuZXllczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTVcIjtcbn1cbmkuaWNvbi5tZW1vcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM4XCI7XG59XG5pLmljb24ubWVub3JhaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzZcIjtcbn1cbmkuaWNvbi5tZXJjdXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiO1xufVxuaS5pY29uLm1ldGVvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NTNcIjtcbn1cbmkuaWNvbi5taWNyb2NoaXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRiXCI7XG59XG5pLmljb24ubWljcm9waG9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbmkuaWNvbi5taWNyb3Bob25lLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzlcIjtcbn1cbmkuaWNvbi5taWNyb3Bob25lLmFsdGVybmF0ZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzlcIjtcbn1cbmkuaWNvbi5taWNyb3Bob25lLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMVwiO1xufVxuaS5pY29uLm1pY3Jvc2NvcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEwXCI7XG59XG5pLmljb24ubWludXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY4XCI7XG59XG5pLmljb24ubWludXMuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NlwiO1xufVxuaS5pY29uLm1pbnVzLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbmkuaWNvbi5taXR0ZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I1XCI7XG59XG5pLmljb24ubW9iaWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuaS5pY29uLm1vYmlsZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NkXCI7XG59XG5pLmljb24ubW9uZXkuYmlsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbmkuaWNvbi5tb25leS5iaWxsLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjtcbn1cbmkuaWNvbi5tb25leS5iaWxsLndhdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNhXCI7XG59XG5pLmljb24ubW9uZXkuYmlsbC53YXZlLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2JcIjtcbn1cbmkuaWNvbi5tb25leS5jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2NcIjtcbn1cbmkuaWNvbi5tb25leS5jaGVjay5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNkXCI7XG59XG5pLmljb24ubW9udW1lbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE2XCI7XG59XG5pLmljb24ubW9vbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbmkuaWNvbi5tb3J0YXIucGVzdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhN1wiO1xufVxuaS5pY29uLm1vc3F1ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzhcIjtcbn1cbmkuaWNvbi5tb3RvcmN5Y2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxY1wiO1xufVxuaS5pY29uLm1vdW50YWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmY1wiO1xufVxuaS5pY29uLm1vdXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjY1wiO1xufVxuaS5pY29uLm1vdXNlLnBvaW50ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ1XCI7XG59XG5pLmljb24ubXVnLmhvdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjZcIjtcbn1cbmkuaWNvbi5tdXNpYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cbmkuaWNvbi5uZXR3b3JrLndpcmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmZlwiO1xufVxuaS5pY29uLm5ldXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbmkuaWNvbi5uZXdzcGFwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7XG59XG5pLmljb24ubm90LmVxdWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZVwiO1xufVxuaS5pY29uLm5vdGVzLm1lZGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgxXCI7XG59XG5pLmljb24ub2JqZWN0Lmdyb3VwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiO1xufVxuaS5pY29uLm9iamVjdC51bmdyb3VwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OFwiO1xufVxuaS5pY29uLm9pbC5jYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEzXCI7XG59XG5pLmljb24ub206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc5XCI7XG59XG5pLmljb24ub3R0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzAwXCI7XG59XG5pLmljb24ub3V0ZGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbmkuaWNvbi5wYWdlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTVcIjtcbn1cbmkuaWNvbi5wYWludC5icnVzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmNcIjtcbn1cbmkuaWNvbi5wYWludC5yb2xsZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFhXCI7XG59XG5pLmljb24ucGFsZXR0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2ZcIjtcbn1cbmkuaWNvbi5wYWxsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgyXCI7XG59XG5pLmljb24ucGFwZXIucGxhbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG5pLmljb24ucGFwZXJjbGlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiO1xufVxuaS5pY29uLnBhcmFjaHV0ZS5ib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGNkXCI7XG59XG5pLmljb24ucGFyYWdyYXBoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZFwiO1xufVxuaS5pY29uLnBhcmtpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQwXCI7XG59XG5pLmljb24ucGFzc3BvcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFiXCI7XG59XG5pLmljb24ucGFzdGFmYXJpYW5pc206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdiXCI7XG59XG5pLmljb24ucGFzdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7XG59XG5pLmljb24ucGF1c2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XG59XG5pLmljb24ucGF1c2UuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YlwiO1xufVxuaS5pY29uLnBhdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjBcIjtcbn1cbmkuaWNvbi5wZWFjZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2NcIjtcbn1cbmkuaWNvbi5wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA0XCI7XG59XG5pLmljb24ucGVuLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDVcIjtcbn1cbmkuaWNvbi5wZW4uZmFuY3k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFjXCI7XG59XG5pLmljb24ucGVuLm5pYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWRcIjtcbn1cbmkuaWNvbi5wZW4uc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuaS5pY29uLnBlbmNpbC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24ucGVuY2lsLnJ1bGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZVwiO1xufVxuaS5pY29uLnBlb3BsZS5hcnJvd3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY4XCI7XG59XG5pLmljb24ucGVvcGxlLmNhcnJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjZVwiO1xufVxuaS5pY29uLnBlcHBlci5ob3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE2XCI7XG59XG5pLmljb24ucGVyY2VudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTVcIjtcbn1cbmkuaWNvbi5wZXJjZW50YWdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0MVwiO1xufVxuaS5pY29uLnBlcnNvbi5ib290aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NTZcIjtcbn1cbmkuaWNvbi5waG9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTVcIjtcbn1cbmkuaWNvbi5waG9uZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODc5XCI7XG59XG5pLmljb24ucGhvbmUuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RkXCI7XG59XG5pLmljb24ucGhvbmUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuaS5pY29uLnBob25lLnNxdWFyZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODdiXCI7XG59XG5pLmljb24ucGhvbmUudm9sdW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiO1xufVxuaS5pY29uLnBob3RvLnZpZGVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg3Y1wiO1xufVxuaS5pY29uLnBpZ2d5LmJhbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQzXCI7XG59XG5pLmljb24ucGlsbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg0XCI7XG59XG5pLmljb24ucGl6emEuc2xpY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE4XCI7XG59XG5pLmljb24ucGxhY2Uub2Yud29yc2hpcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2ZcIjtcbn1cbmkuaWNvbi5wbGFuZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzJcIjtcbn1cbmkuaWNvbi5wbGFuZS5hcnJpdmFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZlwiO1xufVxuaS5pY29uLnBsYW5lLmRlcGFydHVyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjBcIjtcbn1cbmkuaWNvbi5wbGFuZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjlcIjtcbn1cbmkuaWNvbi5wbGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YlwiO1xufVxuaS5pY29uLnBsYXkuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuaS5pY29uLnBsdWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU2XCI7XG59XG5pLmljb24ucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbmkuaWNvbi5wbHVzLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTVcIjtcbn1cbmkuaWNvbi5wbHVzLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cbmkuaWNvbi5wb2RjYXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZVwiO1xufVxuaS5pY29uLnBvbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjgxXCI7XG59XG5pLmljb24ucG9sbC5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4MlwiO1xufVxuaS5pY29uLnBvbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmVcIjtcbn1cbmkuaWNvbi5wb28uc3Rvcm06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVhXCI7XG59XG5pLmljb24ucG9vcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MTlcIjtcbn1cbmkuaWNvbi5wb3J0cmFpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTBcIjtcbn1cbmkuaWNvbi5wb3VuZC5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiO1xufVxuaS5pY29uLnBvd2VyLm9mZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTFcIjtcbn1cbmkuaWNvbi5wcmF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4M1wiO1xufVxuaS5pY29uLnByYXlpbmcuaGFuZHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg0XCI7XG59XG5pLmljb24ucHJlc2NyaXB0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMVwiO1xufVxuaS5pY29uLnByZXNjcmlwdGlvbi5ib3R0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg1XCI7XG59XG5pLmljb24ucHJlc2NyaXB0aW9uLmJvdHRsZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg2XCI7XG59XG5pLmljb24ucHJpbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJmXCI7XG59XG5pLmljb24ucHJvY2VkdXJlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODdcIjtcbn1cbmkuaWNvbi5wcm9qZWN0LmRpYWdyYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQyXCI7XG59XG5pLmljb24ucHVtcC5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2YVwiO1xufVxuaS5pY29uLnB1bXAuc29hcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmJcIjtcbn1cbmkuaWNvbi5wdXp6bGUucGllY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG5pLmljb24ucXJjb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOVwiO1xufVxuaS5pY29uLnF1ZXN0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuaS5pY29uLnF1ZXN0aW9uLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTlcIjtcbn1cbmkuaWNvbi5xdWlkZGl0Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU4XCI7XG59XG5pLmljb24ucXVvdGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjtcbn1cbmkuaWNvbi5xdW90ZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjtcbn1cbmkuaWNvbi5xdXJhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODdcIjtcbn1cbmkuaWNvbi5yYWRpYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I5XCI7XG59XG5pLmljb24ucmFkaWF0aW9uLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmFcIjtcbn1cbmkuaWNvbi5yYWluYm93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YlwiO1xufVxuaS5pY29uLnJhbmRvbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzRcIjtcbn1cbmkuaWNvbi5yZWNlaXB0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0M1wiO1xufVxuaS5pY29uLnJlY29yZC52aW55bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZDlcIjtcbn1cbmkuaWNvbi5yZWN5Y2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOFwiO1xufVxuaS5pY29uLnJlZG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG5pLmljb24ucmVkby5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY5XCI7XG59XG5pLmljb24ucmVnaXN0ZXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWRcIjtcbn1cbmkuaWNvbi5yZW1vdmUuZm9ybWF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg3ZFwiO1xufVxuaS5pY29uLnJlcGx5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNVwiO1xufVxuaS5pY29uLnJlcGx5LmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjJcIjtcbn1cbmkuaWNvbi5yZXB1YmxpY2FuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZVwiO1xufVxuaS5pY29uLnJlc3Ryb29tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiZFwiO1xufVxuaS5pY29uLnJldHdlZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XG59XG5pLmljb24ucmliYm9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNlwiO1xufVxuaS5pY29uLnJpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBiXCI7XG59XG5pLmljb24ucm9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cbmkuaWNvbi5yb2JvdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDRcIjtcbn1cbmkuaWNvbi5yb2NrZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7XG59XG5pLmljb24ucm91dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ3XCI7XG59XG5pLmljb24ucnNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZVwiO1xufVxuaS5pY29uLnJzcy5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XG59XG5pLmljb24ucnVibGUuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbmkuaWNvbi5ydWxlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDVcIjtcbn1cbmkuaWNvbi5ydWxlci5jb21iaW5lZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDZcIjtcbn1cbmkuaWNvbi5ydWxlci5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0N1wiO1xufVxuaS5pY29uLnJ1bGVyLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0OFwiO1xufVxuaS5pY29uLnJ1bm5pbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBjXCI7XG59XG5pLmljb24ucnVwZWUuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbmkuaWNvbi5zYWQuY3J5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViM1wiO1xufVxuaS5pY29uLnNhZC50ZWFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNFwiO1xufVxuaS5pY29uLnNhdGVsbGl0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmZcIjtcbn1cbmkuaWNvbi5zYXRlbGxpdGUuZGlzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzBcIjtcbn1cbmkuaWNvbi5zYXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjN1wiO1xufVxuaS5pY29uLnNjaG9vbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDlcIjtcbn1cbmkuaWNvbi5zY3Jld2RyaXZlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGFcIjtcbn1cbmkuaWNvbi5zY3JvbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBlXCI7XG59XG5pLmljb24uc2QuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzJcIjtcbn1cbmkuaWNvbi5zZWFyY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAyXCI7XG59XG5pLmljb24uc2VhcmNoLmRvbGxhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODhcIjtcbn1cbmkuaWNvbi5zZWFyY2gubG9jYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg5XCI7XG59XG5pLmljb24uc2VhcmNoLm1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuaS5pY29uLnNlYXJjaC5wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuaS5pY29uLnNlZWRsaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkOFwiO1xufVxuaS5pY29uLnNlcnZlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjtcbn1cbmkuaWNvbi5zaGFwZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjFmXCI7XG59XG5pLmljb24uc2hhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5pLmljb24uc2hhcmUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiO1xufVxuaS5pY29uLnNoYXJlLmFsdGVybmF0ZS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUxXCI7XG59XG5pLmljb24uc2hhcmUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuaS5pY29uLnNoZWtlbC5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuaS5pY29uLnNoaWVsZC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VkXCI7XG59XG5pLmljb24uc2hpZWxkLnZpcnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2Y1wiO1xufVxuaS5pY29uLnNoaXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFhXCI7XG59XG5pLmljb24uc2hpcHBpbmcuZmFzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGJcIjtcbn1cbmkuaWNvbi5zaG9lLnByaW50czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGJcIjtcbn1cbmkuaWNvbi5zaG9wcGluZy5iYWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkwXCI7XG59XG5pLmljb24uc2hvcHBpbmcuYmFza2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiO1xufVxuaS5pY29uLnNob3BwaW5nLmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7XG59XG5pLmljb24uc2hvd2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjY1wiO1xufVxuaS5pY29uLnNodXR0bGUudmFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNlwiO1xufVxuaS5pY29uLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ5XCI7XG59XG5pLmljb24uc2lnbi5sYW5ndWFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjtcbn1cbmkuaWNvbi5zaWduYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEyXCI7XG59XG5pLmljb24uc2lnbmF0dXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViN1wiO1xufVxuaS5pY29uLnNpbS5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNFwiO1xufVxuaS5pY29uLnNpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDZkXCI7XG59XG5pLmljb24uc2l0ZW1hcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjtcbn1cbmkuaWNvbi5za2F0aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNVwiO1xufVxuaS5pY29uLnNraWluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzlcIjtcbn1cbmkuaWNvbi5za2lpbmcubm9yZGljOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjYVwiO1xufVxuaS5pY29uLnNrdWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0Y1wiO1xufVxuaS5pY29uLnNrdWxsLmNyb3NzYm9uZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE0XCI7XG59XG5pLmljb24uc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE1XCI7XG59XG5pLmljb24uc2xlaWdoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjY1wiO1xufVxuaS5pY29uLnNsaWRlcnMuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cbmkuaWNvbi5zbWlsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbmkuaWNvbi5zbWlsZS5iZWFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViOFwiO1xufVxuaS5pY29uLnNtaWxlLndpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRhXCI7XG59XG5pLmljb24uc21vZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWZcIjtcbn1cbmkuaWNvbi5zbW9raW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4ZFwiO1xufVxuaS5pY29uLnNtb2tpbmcuYmFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0ZFwiO1xufVxuaS5pY29uLnNtczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2RcIjtcbn1cbmkuaWNvbi5zbm93Ym9hcmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NlXCI7XG59XG5pLmljb24uc25vd2ZsYWtlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkY1wiO1xufVxuaS5pY29uLnNub3dtYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QwXCI7XG59XG5pLmljb24uc25vd3Bsb3c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QyXCI7XG59XG5pLmljb24uc29hcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmVcIjtcbn1cbmkuaWNvbi5zb2Nrczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTZcIjtcbn1cbmkuaWNvbi5zb2xhci5wYW5lbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmFcIjtcbn1cbmkuaWNvbi5zb3J0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkY1wiO1xufVxuaS5pY29uLnNvcnQuYWxwaGFiZXQuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmRvd24uYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4MVwiO1xufVxuaS5pY29uLnNvcnQuYWxwaGFiZXQudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC51cC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODgyXCI7XG59XG5pLmljb24uc29ydC5hbW91bnQuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cbmkuaWNvbi5zb3J0LmFtb3VudC5kb3duLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODRcIjtcbn1cbmkuaWNvbi5zb3J0LmFtb3VudC51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbmkuaWNvbi5zb3J0LmFtb3VudC51cC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg1XCI7XG59XG5pLmljb24uc29ydC5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy5kb3duLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODZcIjtcbn1cbmkuaWNvbi5zb3J0Lm51bWVyaWMudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLnVwLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODdcIjtcbn1cbmkuaWNvbi5zb3J0LnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuaS5pY29uLnNwYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmJcIjtcbn1cbmkuaWNvbi5zcGFjZS5zaHV0dGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuaS5pY29uLnNwZWxsLmNoZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg5MVwiO1xufVxuaS5pY29uLnNwaWRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MTdcIjtcbn1cbmkuaWNvbi5zcGlubmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuaS5pY29uLnNwbG90Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJjXCI7XG59XG5pLmljb24uc3ByYXkuY2FuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZFwiO1xufVxuaS5pY29uLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbmkuaWNvbi5zcXVhcmUuZnVsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWNcIjtcbn1cbmkuaWNvbi5zcXVhcmUucm9vdC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk4XCI7XG59XG5pLmljb24uc3RhbXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJmXCI7XG59XG5pLmljb24uc3Rhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjtcbn1cbmkuaWNvbi5zdGFyLmFuZC5jcmVzY2VudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTlcIjtcbn1cbmkuaWNvbi5zdGFyLmhhbGY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5pLmljb24uc3Rhci5oYWxmLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzBcIjtcbn1cbmkuaWNvbi5zdGFyLm9mLmRhdmlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5YVwiO1xufVxuaS5pY29uLnN0YXIub2YubGlmZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MjFcIjtcbn1cbmkuaWNvbi5zdGVwLmJhY2t3YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OFwiO1xufVxuaS5pY29uLnN0ZXAuZm9yd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTFcIjtcbn1cbmkuaWNvbi5zdGV0aG9zY29wZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjFcIjtcbn1cbmkuaWNvbi5zdGlja3kubm90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjtcbn1cbmkuaWNvbi5zdG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xufVxuaS5pY29uLnN0b3AuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZFwiO1xufVxuaS5pY29uLnN0b3B3YXRjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjJcIjtcbn1cbmkuaWNvbi5zdG9wd2F0Y2gudHdlbnR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZlwiO1xufVxuaS5pY29uLnN0b3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0ZVwiO1xufVxuaS5pY29uLnN0b3JlLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGZcIjtcbn1cbmkuaWNvbi5zdG9yZS5hbHRlcm5hdGUuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcwXCI7XG59XG5pLmljb24uc3RvcmUuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcxXCI7XG59XG5pLmljb24uc3RyZWFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MFwiO1xufVxuaS5pY29uLnN0cmVldC52aWV3OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuaS5pY29uLnN0cmlrZXRocm91Z2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG5pLmljb24uc3Ryb29wd2FmZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUxXCI7XG59XG5pLmljb24uc3Vic2NyaXB0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiO1xufVxuaS5pY29uLnN1YndheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjtcbn1cbmkuaWNvbi5zdWl0Y2FzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjJcIjtcbn1cbmkuaWNvbi5zdWl0Y2FzZS5yb2xsaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjMVwiO1xufVxuaS5pY29uLnN1bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbmkuaWNvbi5zdXBlcnNjcmlwdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmJcIjtcbn1cbmkuaWNvbi5zdXJwcmlzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzJcIjtcbn1cbmkuaWNvbi5zd2F0Y2hib29rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjM1wiO1xufVxuaS5pY29uLnN3aW1tZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM0XCI7XG59XG5pLmljb24uc3dpbW1pbmcucG9vbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzVcIjtcbn1cbmkuaWNvbi5zeW5hZ29ndWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjliXCI7XG59XG5pLmljb24uc3luYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbmkuaWNvbi5zeW5jLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjFcIjtcbn1cbmkuaWNvbi5zeXJpbmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4ZVwiO1xufVxuaS5pY29uLnRhYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZVwiO1xufVxuaS5pY29uLnRhYmxlLnRlbm5pczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWRcIjtcbn1cbmkuaWNvbi50YWJsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XG59XG5pLmljb24udGFibGV0LmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmFcIjtcbn1cbmkuaWNvbi50YWJsZXRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MFwiO1xufVxuaS5pY29uLnRhY2hvbWV0ZXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiO1xufVxuaS5pY29uLnRhZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmJcIjtcbn1cbmkuaWNvbi50YWdzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyY1wiO1xufVxuaS5pY29uLnRhcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRiXCI7XG59XG5pLmljb24udGFza3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG5pLmljb24udGF4aTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbmkuaWNvbi50ZWV0aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MmVcIjtcbn1cbmkuaWNvbi50ZWV0aC5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYyZlwiO1xufVxuaS5pY29uLnRlbXBlcmF0dXJlLmhpZ2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzY5XCI7XG59XG5pLmljb24udGVtcGVyYXR1cmUubG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc2YlwiO1xufVxuaS5pY29uLnRlbmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkN1wiO1xufVxuaS5pY29uLnRlcm1pbmFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMFwiO1xufVxuaS5pY29uLnRleHQuaGVpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNFwiO1xufVxuaS5pY29uLnRleHQud2lkdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG5pLmljb24udGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG5pLmljb24udGgubGFyZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA5XCI7XG59XG5pLmljb24udGgubGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbmkuaWNvbi50aGVhdGVyLm1hc2tzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzMFwiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MVwiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLmVtcHR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYlwiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLmZ1bGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM3XCI7XG59XG5pLmljb24udGhlcm1vbWV0ZXIuaGFsZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlci5xdWFydGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYVwiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLnRocmVlLnF1YXJ0ZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiO1xufVxuaS5pY29uLnRodW1icy5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuaS5pY29uLnRodW1icy51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbmkuaWNvbi50aHVtYnRhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG5pLmljb24udGlja2V0LmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmZcIjtcbn1cbmkuaWNvbi50aW1lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi50aW1lcy5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG5pLmljb24udGludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjtcbn1cbmkuaWNvbi50aW50LnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjN1wiO1xufVxuaS5pY29uLnRpcmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjOFwiO1xufVxuaS5pY29uLnRvZ2dsZS5vZmY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XG59XG5pLmljb24udG9nZ2xlLm9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNVwiO1xufVxuaS5pY29uLnRvaWxldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDhcIjtcbn1cbmkuaWNvbi50b2lsZXQucGFwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzFlXCI7XG59XG5pLmljb24udG9pbGV0LnBhcGVyLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MlwiO1xufVxuaS5pY29uLnRvb2xib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUyXCI7XG59XG5pLmljb24udG9vbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q5XCI7XG59XG5pLmljb24udG9vdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM5XCI7XG59XG5pLmljb24udG9yYWg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmEwXCI7XG59XG5pLmljb24udG9yaWkuZ2F0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTFcIjtcbn1cbmkuaWNvbi50cmFjdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyMlwiO1xufVxuaS5pY29uLnRyYWRlbWFyazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWNcIjtcbn1cbmkuaWNvbi50cmFmZmljLmxpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzN1wiO1xufVxuaS5pY29uLnRyYWlsZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQxXCI7XG59XG5pLmljb24udHJhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM4XCI7XG59XG5pLmljb24udHJhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGFcIjtcbn1cbmkuaWNvbi50cmFuc2dlbmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbmkuaWNvbi50cmFuc2dlbmRlci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI1XCI7XG59XG5pLmljb24udHJhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG59XG5pLmljb24udHJhc2guYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlZFwiO1xufVxuaS5pY29uLnRyYXNoLnJlc3RvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODI5XCI7XG59XG5pLmljb24udHJhc2gucmVzdG9yZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODJhXCI7XG59XG5pLmljb24udHJlZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmJcIjtcbn1cbmkuaWNvbi50cm9waHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5pLmljb24udHJ1Y2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG5pLmljb24udHJ1Y2subW9uc3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2JcIjtcbn1cbmkuaWNvbi50cnVjay5tb3Zpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRmXCI7XG59XG5pLmljb24udHJ1Y2sucGFja2luZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGVcIjtcbn1cbmkuaWNvbi50cnVjay5waWNrdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNjXCI7XG59XG5pLmljb24udHNoaXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1M1wiO1xufVxuaS5pY29uLnR0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbmkuaWNvbi50djo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjtcbn1cbmkuaWNvbi51bWJyZWxsYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTlcIjtcbn1cbmkuaWNvbi51bWJyZWxsYS5iZWFjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2FcIjtcbn1cbmkuaWNvbi51bmRlcmxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG5pLmljb24udW5kbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTJcIjtcbn1cbmkuaWNvbi51bmRvLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWFcIjtcbn1cbmkuaWNvbi51bml2ZXJzYWwuYWNjZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5YVwiO1xufVxuaS5pY29uLnVuaXZlcnNpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7XG59XG5pLmljb24udW5saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuaS5pY29uLnVubG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWNcIjtcbn1cbmkuaWNvbi51bmxvY2suYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiO1xufVxuaS5pY29uLnVwbG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTNcIjtcbn1cbmkuaWNvbi51c2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuaS5pY29uLnVzZXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNlwiO1xufVxuaS5pY29uLnVzZXIuYWx0ZXJuYXRlLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmYVwiO1xufVxuaS5pY29uLnVzZXIuYXN0cm9uYXV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmYlwiO1xufVxuaS5pY29uLnVzZXIuY2hlY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZjXCI7XG59XG5pLmljb24udXNlci5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJkXCI7XG59XG5pLmljb24udXNlci5jbG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmRcIjtcbn1cbmkuaWNvbi51c2VyLmNvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmVcIjtcbn1cbmkuaWNvbi51c2VyLmVkaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZmXCI7XG59XG5pLmljb24udXNlci5mcmllbmRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwMFwiO1xufVxuaS5pY29uLnVzZXIuZ3JhZHVhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAxXCI7XG59XG5pLmljb24udXNlci5pbmp1cmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyOFwiO1xufVxuaS5pY29uLnVzZXIubG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDJcIjtcbn1cbmkuaWNvbi51c2VyLm1kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMFwiO1xufVxuaS5pY29uLnVzZXIubWludXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAzXCI7XG59XG5pLmljb24udXNlci5uaW5qYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDRcIjtcbn1cbmkuaWNvbi51c2VyLm51cnNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgyZlwiO1xufVxuaS5pY29uLnVzZXIucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cbmkuaWNvbi51c2VyLnNlY3JldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWJcIjtcbn1cbmkuaWNvbi51c2VyLnNoaWVsZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDVcIjtcbn1cbmkuaWNvbi51c2VyLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwNlwiO1xufVxuaS5pY29uLnVzZXIudGFnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwN1wiO1xufVxuaS5pY29uLnVzZXIudGllOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwOFwiO1xufVxuaS5pY29uLnVzZXIudGltZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5pLmljb24udXNlcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMwXCI7XG59XG5pLmljb24udXNlcnMuY29nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwOVwiO1xufVxuaS5pY29uLnVzZXJzLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3M1wiO1xufVxuaS5pY29uLnV0ZW5zaWwuc3Bvb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU1XCI7XG59XG5pLmljb24udXRlbnNpbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU3XCI7XG59XG5pLmljb24udmVjdG9yLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2JcIjtcbn1cbmkuaWNvbi52ZW51czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjFcIjtcbn1cbmkuaWNvbi52ZW51cy5kb3VibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7XG59XG5pLmljb24udmVudXMubWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjhcIjtcbn1cbmkuaWNvbi52ZXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NVwiO1xufVxuaS5pY29uLnZlc3QucGF0Y2hlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODZcIjtcbn1cbmkuaWNvbi52aWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MlwiO1xufVxuaS5pY29uLnZpYWxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5M1wiO1xufVxuaS5pY29uLnZpZGVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuaS5pY29uLnZpZGVvLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlMlwiO1xufVxuaS5pY29uLnZpaGFyYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTdcIjtcbn1cbmkuaWNvbi52aXJ1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzRcIjtcbn1cbmkuaWNvbi52aXJ1cy5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzVcIjtcbn1cbmkuaWNvbi52aXJ1c2VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NlwiO1xufVxuaS5pY29uLnZvaWNlbWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OTdcIjtcbn1cbmkuaWNvbi52b2xsZXliYWxsLmJhbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVmXCI7XG59XG5pLmljb24udm9sdW1lLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG5pLmljb24udm9sdW1lLm11dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmE5XCI7XG59XG5pLmljb24udm9sdW1lLm9mZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjtcbn1cbmkuaWNvbi52b2x1bWUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG5pLmljb24udm90ZS55ZWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzcyXCI7XG59XG5pLmljb24udnIuY2FyZGJvYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyOVwiO1xufVxuaS5pY29uLndhbGtpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU0XCI7XG59XG5pLmljb24ud2FsbGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NVwiO1xufVxuaS5pY29uLndhcmVob3VzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTRcIjtcbn1cbmkuaWNvbi53YXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NzNcIjtcbn1cbmkuaWNvbi53YXZlLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2VcIjtcbn1cbmkuaWNvbi53ZWlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk2XCI7XG59XG5pLmljb24ud2VpZ2h0Lmhhbmdpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNkXCI7XG59XG5pLmljb24ud2hlZWxjaGFpcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTNcIjtcbn1cbmkuaWNvbi53aWZpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuaS5pY29uLndpbmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzJlXCI7XG59XG5pLmljb24ud2luZG93LmNsb3NlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiO1xufVxuaS5pY29uLndpbmRvdy5tYXhpbWl6ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWluaW1pemU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQxXCI7XG59XG5pLmljb24ud2luZG93LnJlc3RvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQyXCI7XG59XG5pLmljb24ud2luZS5ib3R0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzJmXCI7XG59XG5pLmljb24ud2luZS5nbGFzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTNcIjtcbn1cbmkuaWNvbi53aW5lLmdsYXNzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2VcIjtcbn1cbmkuaWNvbi53b24uc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbmkuaWNvbi53cmVuY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XG59XG5pLmljb24ueC5yYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk3XCI7XG59XG5pLmljb24ueWVuLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5pLmljb24ueWluLnlhbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmFkXCI7XG59XG4vKiBBbGlhc2VzICovXG5pLmljb24uYWRkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuaS5pY29uLmFkZC5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG5pLmljb24uYWRkLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cbmkuaWNvbi5hZGQudG8uY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG59XG5pLmljb24uYWRkLnRvLmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG5pLmljb24uYWRkLnVzZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7XG59XG5pLmljb24uYWxhcm06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XG59XG5pLmljb24uYWxhcm0ubXV0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbmkuaWNvbi5hbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEyXCI7XG59XG5pLmljb24uYWxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmFubm91bmNlbWVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTFcIjtcbn1cbmkuaWNvbi5hcmVhLmNoYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuaS5pY29uLmFyZWEuZ3JhcGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZlXCI7XG59XG5pLmljb24uYXJyb3cuZG93bi5jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiO1xufVxuaS5pY29uLmFzZXh1YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7XG59XG5pLmljb24uYXNsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFzbC5pbnRlcnByZXRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEzXCI7XG59XG5pLmljb24uYXNzaXN0aXZlLmxpc3RlbmluZy5kZXZpY2VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmF0dGFjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzZcIjtcbn1cbmkuaWNvbi5hdHRlbnRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG5pLmljb24uYmFsYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjtcbn1cbmkuaWNvbi5iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG5pLmljb24uYmF0aHR1Yjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5LmZvdXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQwXCI7XG59XG5pLmljb24uYmF0dGVyeS5oaWdoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MVwiO1xufVxuaS5pY29uLmJhdHRlcnkubG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiO1xufVxuaS5pY29uLmJhdHRlcnkubWVkaXVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuaS5pY29uLmJhdHRlcnkub25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiO1xufVxuaS5pY29uLmJhdHRlcnkudGhyZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XG59XG5pLmljb24uYmF0dGVyeS50d286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XG59XG5pLmljb24uYmF0dGVyeS56ZXJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NFwiO1xufVxuaS5pY29uLmJpcnRoZGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuaS5pY29uLmJsb2NrLmxheW91dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDlcIjtcbn1cbmkuaWNvbi5icm9rZW4uY2hhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XG59XG5pLmljb24uYnJvd3Nlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjJcIjtcbn1cbmkuaWNvbi5jYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuaS5pY29uLmNhbGwuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuaS5pY29uLmNhbmNlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi5jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuaS5pY29uLmNjOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuaS5pY29uLmNoYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuaS5pY29uLmNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY2hlY2tlZC5jYWxlbmRhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cbmkuaWNvbi5jaGVja21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG5pLmljb24uY2hlY2ttYXJrLmJveDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjtcbn1cbmkuaWNvbi5jaGVzcy5yb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0N1wiO1xufVxuaS5pY29uLmNpcmNsZS5ub3RjaGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuaS5pY29uLmNpcmNsZS50aGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuaS5pY29uLmNsb3NlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLmNsb3VkLmRvd25sb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiO1xufVxuaS5pY29uLmNsb3VkLnVwbG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjtcbn1cbmkuaWNvbi5jbnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5pLmljb24uY29ja3RhaWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG5pLmljb24uY29tbWVudGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbmkuaWNvbi5jb21wb3NlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuaS5pY29uLmNvbXB1dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiO1xufVxuaS5pY29uLmNvbmZpZ3VyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbmkuaWNvbi5jb250ZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuaS5pY29uLmNvbnZlcnNhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbHRlcm5hdGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbmkuaWNvbi5jdXJyZW5jeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjtcbn1cbmkuaWNvbi5kYXNoYm9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZkXCI7XG59XG5pLmljb24uZGVhZm5lc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7XG59XG5pLmljb24uZGVsZXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLmRlbGV0ZS5jYWxlbmRhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjtcbn1cbmkuaWNvbi5kZXRlY3RpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5pLmljb24uZGlhbW9uZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5kaXNjdXNzaW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbmkuaWNvbi5kaXNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuaS5pY29uLmRvY3Rvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbmkuaWNvbi5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XG59XG5pLmljb24uZG9udDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cbmkuaWNvbi5kcml2ZXJzLmxpY2Vuc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7XG59XG5pLmljb24uZHJvcGRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5pLmljb24uZW1lcmdlbmN5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOVwiO1xufVxuaS5pY29uLmVyYXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZFwiO1xufVxuaS5pY29uLmV1cjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbmkuaWNvbi5ldXJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiO1xufVxuaS5pY29uLmV4Y2hhbmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MlwiO1xufVxuaS5pY29uLmV4dGVybmFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1ZFwiO1xufVxuaS5pY29uLmV4dGVybmFsLnNoYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuaS5pY29uLmV4dGVybmFsLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjBcIjtcbn1cbmkuaWNvbi5leWVkcm9wcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuaS5pY29uLmZhY3Rvcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XG59XG5pLmljb24uZmF2b3JpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5pLmljb24uZmVlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbmkuaWNvbi5mZW1hbGUuaG9tb3NleHVhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cbmkuaWNvbi5maWxlLnRleHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5pLmljb24uZmluZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjtcbn1cbmkuaWNvbi5maXJzdC5haWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XG59XG5pLmljb24uZm9vZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTdcIjtcbn1cbmkuaWNvbi5mb3JrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiO1xufVxuaS5pY29uLmdhbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG5pLmljb24uZ2F5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuaS5pY29uLmdicDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbmkuaWNvbi5ncmFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiO1xufVxuaS5pY29uLmdyYWR1YXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG5pLmljb24uZ3JpZC5sYXlvdXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG5pLmljb24uZ3JvdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMwXCI7XG59XG5pLmljb24uaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cbmkuaWNvbi5oYW1idXJnZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5pLmljb24uaGFuZC52aWN0b3J5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiO1xufVxuaS5pY29uLmhhbmRpY2FwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuaS5pY29uLmhhcmQub2YuaGVhcmluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjtcbn1cbmkuaWNvbi5oZWFkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG5pLmljb24uaGVhcnQuZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5pLmljb24uaGVscDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cbmkuaWNvbi5oZWxwLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTlcIjtcbn1cbmkuaWNvbi5oZXRlcm9zZXh1YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI4XCI7XG59XG5pLmljb24uaGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5ob3RlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuZm91cjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuZnVsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3Mub25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy50aHJlZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MudHdvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy56ZXJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiO1xufVxuaS5pY29uLmlkZWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG5pLmljb24uaWxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuaS5pY29uLmlucjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbmkuaWNvbi5pbnRlcmdlbmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbmkuaWNvbi5pbnRlcnNleDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbmkuaWNvbi5qcHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5pLmljb24ua3J3OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuaS5pY29uLmxhYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cbmkuaWNvbi5sYXc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XG59XG5pLmljb24ubGVnYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG5pLmljb24ubGVzYmlhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cbmkuaWNvbi5sZXZlbC5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZVwiO1xufVxuaS5pY29uLmxldmVsLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZlwiO1xufVxuaS5pY29uLmxpZ2h0bmluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjtcbn1cbmkuaWNvbi5saWtlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuaS5pY29uLmxpbmVncmFwaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDFcIjtcbn1cbmkuaWNvbi5saW5raWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuaS5pY29uLmxpcmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7XG59XG5pLmljb24ubGlzdC5sYXlvdXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7XG59XG5pLmljb24ubWFnbmlmeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbmkuaWNvbi5tYWlsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuaS5pY29uLm1haWwuZm9yd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjtcbn1cbmkuaWNvbi5tYWlsLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cbmkuaWNvbi5tYWxlLmhvbW9zZXh1YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG5pLmljb24ubWFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMlwiO1xufVxuaS5pY29uLm1hcmtlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbmkuaWNvbi5tYXJzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cbmkuaWNvbi5tYXJzLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJiXCI7XG59XG5pLmljb24ubWFycy52ZXJ0aWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cbmkuaWNvbi5tZWFucGF0aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbmkuaWNvbi5taWxpdGFyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbmkuaWNvbi5tb25leTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjtcbn1cbmkuaWNvbi5tb3ZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuaS5pY29uLm11dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG5pLmljb24ubm9uLmJpbmFyeS50cmFuc2dlbmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbmkuaWNvbi5udW1iZXJlZC5saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYlwiO1xufVxuaS5pY29uLm9wdGlvbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG5pLmljb24ub3JkZXJlZC5saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYlwiO1xufVxuaS5pY29uLm90aGVyLmdlbmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cbmkuaWNvbi5vdGhlci5nZW5kZXIuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbmkuaWNvbi5vdGhlci5nZW5kZXIudmVydGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJhXCI7XG59XG5pLmljb24ucGF5bWVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbmkuaWNvbi5wZW5jaWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24ucGVuY2lsLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbmkuaWNvbi5waG90bzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cbmkuaWNvbi5waWN0dXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuaS5pY29uLnBpZS5jaGFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjtcbn1cbmkuaWNvbi5waWUuZ3JhcGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24ucGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuaS5pY29uLnBsdXMuY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cbmkuaWNvbi5wb2ludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbmkuaWNvbi5wb2ludGluZy5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuaS5pY29uLnBvaW50aW5nLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5pLmljb24ucG9pbnRpbmcucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG5pLmljb24ucG9pbnRpbmcudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG5pLmljb24ucG91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG5pLmljb24ucG93ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5pLmljb24ucG93ZXIuY29yZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTZcIjtcbn1cbmkuaWNvbi5wcml2YWN5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuaS5pY29uLnByb3RlY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG59XG5pLmljb24ucHV6emxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiO1xufVxuaS5pY29uLnIuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xufVxuaS5pY29uLnJhZGlvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLnJhaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG5pLmljb24ucmVjb3JkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuaS5pY29uLnJlZnJlc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XG59XG5pLmljb24ucmVtb3ZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLnJlbW92ZS5ib29rbWFyazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cbmkuaWNvbi5yZW1vdmUuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuaS5pY29uLnJlbW92ZS5mcm9tLmNhbGVuZGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MlwiO1xufVxuaS5pY29uLnJlbW92ZS51c2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnJlcGVhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjtcbn1cbmkuaWNvbi5yZXNpemUuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzdcIjtcbn1cbmkuaWNvbi5yZXNpemUudmVydGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM4XCI7XG59XG5pLmljb24ucm1iOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnJvdWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbmkuaWNvbi5ydWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5pLmljb24ucnVibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5pLmljb24ucnVwZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5pLmljb24uczE1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiO1xufVxuaS5pY29uLnNlbGVjdGVkLnJhZGlvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLnNlbmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG5pLmljb24uc2V0dGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjtcbn1cbmkuaWNvbi5zZXR0aW5nczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cbmkuaWNvbi5zaGVrZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XG59XG5pLmljb24uc2hlcWVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuaS5pY29uLnNoaWVsZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWRcIjtcbn1cbmkuaWNvbi5zaGlwcGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDFcIjtcbn1cbmkuaWNvbi5zaG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuaS5pY29uLnNodWZmbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG5pLmljb24uc2h1dGRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5pLmljb24uc2lkZWJhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbmkuaWNvbi5zaWduaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhN1wiO1xufVxuaS5pY29uLnNpZ251cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDRcIjtcbn1cbmkuaWNvbi5zbGlkZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuaS5pY29uLnNvY2Nlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmFzY2VuZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmRlc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7XG59XG5pLmljb24uc29ydC5hc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG5pLmljb24uc29ydC5jb250ZW50LmFzY2VuZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cbmkuaWNvbi5zb3J0LmNvbnRlbnQuZGVzY2VuZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbmkuaWNvbi5zb3J0LmRlc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRkXCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLmFzY2VuZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjJcIjtcbn1cbmkuaWNvbi5zb3J0Lm51bWVyaWMuZGVzY2VuZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cbmkuaWNvbi5zb3VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjVcIjtcbn1cbmkuaWNvbi5zcG9vbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTVcIjtcbn1cbmkuaWNvbi5zcHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5pLmljb24uc3Rhci5lbXB0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjtcbn1cbmkuaWNvbi5zdGFyLmhhbGYuZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5pLmljb24uc3Rhci5oYWxmLmZ1bGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5pLmljb24uc3R1ZGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjtcbn1cbmkuaWNvbi50YWxrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiO1xufVxuaS5pY29uLnRhcmdldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbmkuaWNvbi50ZWxldHlwZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbmkuaWNvbi50ZWxldmlzaW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2Y1wiO1xufVxuaS5pY29uLnRleHQuY3Vyc29yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NlwiO1xufVxuaS5pY29uLnRleHQudGVsZXBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNFwiO1xufVxuaS5pY29uLnRoZW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiO1xufVxuaS5pY29uLnRodW1iLnRhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG5pLmljb24udGlja2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiO1xufVxuaS5pY29uLnRpbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG5pLmljb24udGltZXMucmVjdGFuZ2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiO1xufVxuaS5pY29uLnRtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1Y1wiO1xufVxuaS5pY29uLnRvZ2dsZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuaS5pY29uLnRvZ2dsZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiO1xufVxuaS5pY29uLnRvZ2dsZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbmkuaWNvbi50b2dnbGUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XG59XG5pLmljb24udHJhbnNsYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYlwiO1xufVxuaS5pY29uLnRyYXZlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjFcIjtcbn1cbmkuaWNvbi50cmVhdG1lbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYxXCI7XG59XG5pLmljb24udHJpYW5nbGUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbmkuaWNvbi50cmlhbmdsZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuaS5pY29uLnRyaWFuZ2xlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xufVxuaS5pY29uLnRyaWFuZ2xlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuaS5pY29uLnRyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbmkuaWNvbi51bmhpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG5pLmljb24udW5saW5raWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuaS5pY29uLnVubXV0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbmkuaWNvbi51bm9yZGVyZWQubGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cbmkuaWNvbi51c2Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XG59XG5pLmljb24udXNlci5jYW5jZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5pLmljb24udXNlci5jbG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cbmkuaWNvbi51c2VyLmRlbGV0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cbmkuaWNvbi51c2VyLmRvY3Rvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbmkuaWNvbi51c2VyLng6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5pLmljb24udmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7XG59XG5pLmljb24udmlkZW8uY2FtZXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuaS5pY29uLnZpZGVvLnBsYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XG59XG5pLmljb24udm9sdW1lLmNvbnRyb2wucGhvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7XG59XG5pLmljb24ud2FpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbmkuaWNvbi53YXJuaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuaS5pY29uLndhcm5pbmcuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLndhcm5pbmcuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbmkuaWNvbi53aS5maTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjtcbn1cbmkuaWNvbi53aW5uZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5pLmljb24ud2l6YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuaS5pY29uLndvbWFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMVwiO1xufVxuaS5pY29uLndvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbmkuaWNvbi53b3JsZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjtcbn1cbmkuaWNvbi53cml0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjtcbn1cbmkuaWNvbi53cml0ZS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7XG59XG5pLmljb24ueDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi55ZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5pLmljb24uemlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuaS5pY29uLnpvb206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE91dGxpbmUgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5pY29uLm91dGxpbmUge1xuICBmb250LWZhbWlseTogXCJvdXRsaW5lLWljb25zXCI7XG59XG4vKiBJY29ucyAqL1xuaS5pY29uLmFkZHJlc3MuYm9vay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOVwiO1xufVxuaS5pY29uLmFkZHJlc3MuY2FyZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuaS5pY29uLmFuZ3J5Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU2XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5kb3duLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU4XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5sZWZ0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU5XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5yaWdodC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUudXAub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWJcIjtcbn1cbmkuaWNvbi5iZWxsLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XG59XG5pLmljb24uYmVsbC5zbGFzaC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNlwiO1xufVxuaS5pY29uLmJvb2ttYXJrLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG5pLmljb24uYnVpbGRpbmcub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWRcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5hbHRlcm5hdGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5jaGVjay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NFwiO1xufVxuaS5pY29uLmNhbGVuZGFyLm1pbnVzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XG59XG5pLmljb24uY2FsZW5kYXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5wbHVzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG59XG5pLmljb24uY2FsZW5kYXIudGltZXMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUuZG93bi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5sZWZ0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnJpZ2h0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnVwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XG59XG5pLmljb24uY2hhcnQuYmFyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG5pLmljb24uY2hlY2suY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG5pLmljb24uY2hlY2suc3F1YXJlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG5pLmljb24uY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG59XG5pLmljb24uY2xpcGJvYXJkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI4XCI7XG59XG5pLmljb24uY2xvY2sub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbmkuaWNvbi5jbG9uZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZFwiO1xufVxuaS5pY29uLmNsb3NlZC5jYXB0aW9uaW5nLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG5pLmljb24uY29tbWVudC5hbHRlcm5hdGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbmkuaWNvbi5jb21tZW50LmRvdHMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YWRcIjtcbn1cbmkuaWNvbi5jb21tZW50Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY29tbWVudHMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbmkuaWNvbi5jb21wYXNzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7XG59XG5pLmljb24uY29weS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuaS5pY29uLmNvcHlyaWdodC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5pLmljb24uZGl6enkub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjdcIjtcbn1cbmkuaWNvbi5kb3QuY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG5pLmljb24uZWRpdC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuaS5pY29uLmVudmVsb3BlLm9wZW4ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuaS5pY29uLmV5ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuaS5pY29uLmV5ZS5zbGFzaC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MFwiO1xufVxuaS5pY29uLmZpbGUuYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5pLmljb24uZmlsZS5hcmNoaXZlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG5pLmljb24uZmlsZS5hdWRpby5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiO1xufVxuaS5pY29uLmZpbGUuY29kZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuaS5pY29uLmZpbGUuZXhjZWwub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbmkuaWNvbi5maWxlLmltYWdlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7XG59XG5pLmljb24uZmlsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiO1xufVxuaS5pY29uLmZpbGUucGRmLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG5pLmljb24uZmlsZS5wb3dlcnBvaW50Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM0XCI7XG59XG5pLmljb24uZmlsZS52aWRlby5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuaS5pY29uLmZpbGUud29yZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMlwiO1xufVxuaS5pY29uLmZsYWcub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbmkuaWNvbi5mbHVzaGVkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc5XCI7XG59XG5pLmljb24uZm9sZGVyLm9wZW4ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2NcIjtcbn1cbmkuaWNvbi5mb2xkZXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbmkuaWNvbi5mcm93bi5vcGVuLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdhXCI7XG59XG5pLmljb24uZnJvd24ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjtcbn1cbmkuaWNvbi5mdXRib2wub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbmkuaWNvbi5nZW0ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5ncmltYWNlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdmXCI7XG59XG5pLmljb24uZ3Jpbi5hbHRlcm5hdGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODFcIjtcbn1cbmkuaWNvbi5ncmluLmJlYW0ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODJcIjtcbn1cbmkuaWNvbi5ncmluLmJlYW0uc3dlYXQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODNcIjtcbn1cbmkuaWNvbi5ncmluLmhlYXJ0cy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NFwiO1xufVxuaS5pY29uLmdyaW4ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODBcIjtcbn1cbmkuaWNvbi5ncmluLnNxdWludC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NVwiO1xufVxuaS5pY29uLmdyaW4uc3F1aW50LnRlYXJzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg2XCI7XG59XG5pLmljb24uZ3Jpbi5zdGFycy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4N1wiO1xufVxuaS5pY29uLmdyaW4udGVhcnMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODhcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OVwiO1xufVxuaS5pY29uLmdyaW4udG9uZ3VlLnNxdWludC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4YVwiO1xufVxuaS5pY29uLmdyaW4udG9uZ3VlLndpbmsub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGJcIjtcbn1cbmkuaWNvbi5ncmluLndpbmsub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGNcIjtcbn1cbmkuaWNvbi5oYW5kLmxpemFyZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OFwiO1xufVxuaS5pY29uLmhhbmQucGFwZXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBlYWNlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5kb3duLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5sZWZ0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5yaWdodC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQudXAub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50ZXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjtcbn1cbmkuaWNvbi5oYW5kLnJvY2sub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjtcbn1cbmkuaWNvbi5oYW5kLnNjaXNzb3JzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7XG59XG5pLmljb24uaGFuZC5zcG9jay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OVwiO1xufVxuaS5pY29uLmhhbmRzaGFrZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiO1xufVxuaS5pY29uLmhkZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuaS5pY29uLmhlYXJ0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5pLmljb24uaG9zcGl0YWwub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3Mub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjtcbn1cbmkuaWNvbi5pZC5iYWRnZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMVwiO1xufVxuaS5pY29uLmlkLmNhcmQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cbmkuaWNvbi5pbWFnZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuaS5pY29uLmltYWdlcy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMlwiO1xufVxuaS5pY29uLmtleWJvYXJkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7XG59XG5pLmljb24ua2lzcy5iZWFtLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk3XCI7XG59XG5pLmljb24ua2lzcy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5NlwiO1xufVxuaS5pY29uLmtpc3Mud2luay5oZWFydC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OFwiO1xufVxuaS5pY29uLmxhdWdoLmJlYW0ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWFcIjtcbn1cbmkuaWNvbi5sYXVnaC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OVwiO1xufVxuaS5pY29uLmxhdWdoLnNxdWludC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YlwiO1xufVxuaS5pY29uLmxhdWdoLndpbmsub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWNcIjtcbn1cbmkuaWNvbi5sZW1vbi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuaS5pY29uLmxpZmUucmluZy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiO1xufVxuaS5pY29uLmxpZ2h0YnVsYi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuaS5pY29uLmxpc3QuYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5pLmljb24ubWFwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc5XCI7XG59XG5pLmljb24ubWVoLmJsYW5rLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE0XCI7XG59XG5pLmljb24ubWVoLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG5pLmljb24ubWVoLnJvbGxpbmcuZXllcy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNVwiO1xufVxuaS5pY29uLm1pbnVzLnNxdWFyZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuaS5pY29uLm1vbmV5LmJpbGwuYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7XG59XG5pLmljb24ubW9vbi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiO1xufVxuaS5pY29uLm5ld3NwYXBlci5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiO1xufVxuaS5pY29uLm9iamVjdC5ncm91cC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiO1xufVxuaS5pY29uLm9iamVjdC51bmdyb3VwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ4XCI7XG59XG5pLmljb24ucGFwZXIucGxhbmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjtcbn1cbmkuaWNvbi5wYXVzZS5jaXJjbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjtcbn1cbmkuaWNvbi5wbGF5LmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuaS5pY29uLnBsdXMuc3F1YXJlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG5pLmljb24ucXVlc3Rpb24uY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG5pLmljb24ucmVnaXN0ZXJlZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xufVxuaS5pY29uLnNhZC5jcnkub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjNcIjtcbn1cbmkuaWNvbi5zYWQudGVhci5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNFwiO1xufVxuaS5pY29uLnNhdmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbmkuaWNvbi5zaGFyZS5zcXVhcmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjtcbn1cbmkuaWNvbi5zbWlsZS5iZWFtLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI4XCI7XG59XG5pLmljb24uc21pbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbmkuaWNvbi5zbWlsZS53aW5rLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRhXCI7XG59XG5pLmljb24uc25vd2ZsYWtlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7XG59XG5pLmljb24uc3F1YXJlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG5pLmljb24uc3Rhci5oYWxmLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG5pLmljb24uc3Rhci5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuaS5pY29uLnN0aWNreS5ub3RlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ5XCI7XG59XG5pLmljb24uc3RvcC5jaXJjbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGRcIjtcbn1cbmkuaWNvbi5zdW4ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbmkuaWNvbi5zdXJwcmlzZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjMlwiO1xufVxuaS5pY29uLnRodW1icy5kb3duLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7XG59XG5pLmljb24udGh1bWJzLnVwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG5pLmljb24udGltZXMuY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG5pLmljb24udGlyZWQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzhcIjtcbn1cbmkuaWNvbi50cmFzaC5hbHRlcm5hdGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjtcbn1cbmkuaWNvbi51c2VyLmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiO1xufVxuaS5pY29uLnVzZXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cbmkuaWNvbi53aW5kb3cuY2xvc2Uub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWF4aW1pemUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWluaW1pemUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjtcbn1cbmkuaWNvbi53aW5kb3cucmVzdG9yZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiO1xufVxuLyogQWxpYXNlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgQnJhbmQgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSWNvbnMgKi9cbmkuaWNvbi5cXDM1IDAwcHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWNjZXNzaWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hY2N1c29mdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hY3F1aXNpdGlvbnMuaW5jb3Jwb3JhdGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFkbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hZHZlcnNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hZmZpbGlhdGV0aGVtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5haXJibmI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWxnb2xpYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hbGlwYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW1hem9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFtYXpvbi5wYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW1pbGlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFuZHJvaWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW5nZWxsaXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFuZ3J5Y3JlYXRpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW5ndWxhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hcHAuc3RvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXBwLnN0b3JlLmlvczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hcHBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hcHBsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hcHBsZS5wYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXJ0c3RhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hc3ltbWV0cmlrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmF0bGFzc2lhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hdWRpYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmF1dG9wcmVmaXhlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hdmlhbmV4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmF2aWF0bzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hd3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmFuZGNhbXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmF0dGxlLm5ldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iZWhhbmNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJlaGFuY2Uuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJpbW9iamVjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iaXRidWNrZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYml0Y29pbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iaXR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJsYWNrLnRpZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibGFja2JlcnJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJsb2dnZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmxvZ2dlci5iOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJsdWV0b290aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGguYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ib290c3RyYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYnRjOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJ1ZmZlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5idXJvbW9iZWxleHBlcnRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJ1eS5uLmxhcmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhhNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJ1eXNlbGxhZHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2FuYWRpYW4ubWFwbGUubGVhZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5hbWF6b24ucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLmFtZXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2MuYXBwbGUucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLmRpbmVycy5jbHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLmRpc2NvdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLmpjYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5tYXN0ZXJjYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLnBheXBhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5zdHJpcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2MudmlzYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jZW50ZXJjb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNlbnRvczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jaHJvbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2hyb21lY2FzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jbG91ZGZsYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNsb3Vkc2NhbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2xvdWRzbWl0aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jbG91ZHZlcnNpZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY29kZXBlbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jb2RpZXBpZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jb25mbHVlbmNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNvbm5lY3RkZXZlbG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNvbnRhbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jb3R0b24uYnVyZWF1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg5ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNwYW5lbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMuYnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5uYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLm5jLmV1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMubmMuanA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5uZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnBkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMucGQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMucmVtaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5zYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnNhbXBsaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMuc2FtcGxpbmcucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnNoYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMuemVybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcml0aWNhbC5yb2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNzczM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3NzMy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3V0dGxlZmlzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kLmFuZC5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmQuYW5kLmQuYmV5b25kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRhaWx5bW90aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRhc2hjdWJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRlZXplcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kZWxpY2lvdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGVwbG95ZG9nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRlc2twcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGV2OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRldmlhbnRhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGhsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpYXNwb3JhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpZ2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGlnaXRhbC5vY2Vhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaXNjb3JkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpc2NvdXJzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kb2NodWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZG9ja2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRyYWZ0MmRpZ2l0YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZHJpYmJibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZHJpYmJibGUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRyb3Bib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZHJ1cGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmR5YWxvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lYXJseWJpcmRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmViYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWRnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lZGdlLmxlZ2FjeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lbGVtZW50b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWxsbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lbWJlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lbXBpcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZW52aXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmVybGFuZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ldGhlcmV1bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ldHN5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmV2ZXJub3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmV4cGVkaXRlZHNzbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5mOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZhY2Vib29rLm1lc3Nlbmdlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmFudGFzeS5mbGlnaHQuZ2FtZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmVkZXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmVkb3JhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpZ21hOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpcmVmb3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmlyZWZveC5icm93c2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpcnN0Lm9yZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpcnN0Lm9yZGVyLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maXJzdGRyYWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZsaWNrcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mbGlwYm9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmx5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvbnQuYXdlc29tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb250LmF3ZXNvbWUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvbnQuYXdlc29tZS5mbGFnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvbnRpY29uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb250aWNvbnMuZmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZm9ydC5hd2Vzb21lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvcnQuYXdlc29tZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZm9ydW1iZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZm91cnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mcmVlLmNvZGUuY2FtcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mcmVlYnNkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZ1bGNydW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2FsYWN0aWMucmVwdWJsaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2FsYWN0aWMuc2VuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdldC5wb2NrZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2cuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0aHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdGh1Yi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0aHViLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXRrcmFrZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0bGFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nbGlkZS5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvZm9yZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29kcmVhZHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZHJlYWRzLmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZ2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5kcml2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbHVzLmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZ2xlLnBsdXMuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS53YWxsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ3JhdGlwYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ3Jhdjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ncmlwZmlyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ncnVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ndWlsZGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmd1bHA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaGFja2VyLm5ld3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaGFja2VyLm5ld3Muc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhhY2tlcnJhbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaGlwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5oaXJlLmEuaGVscGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaG9vbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaG9ybmJpbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaG90amFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhvdXp6OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmh0bWw1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmh1YnNwb3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaWRlYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW1kYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbm5vc29mdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbnN0YWdyYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW5zdGFncmFtLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbnN0YWxvZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbnRlcmNvbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbnRlcm5ldC5leHBsb3Jlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pbnZpc2lvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pb3hob3N0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLml0Y2guaW86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaXR1bmVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLml0dW5lcy5ub3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmphdmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uamVkaS5vcmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qZW5raW5zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmppcmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uam9nZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uam9vbWxhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmpzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmpzLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qc2ZpZGRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5rYWdnbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua2V5YmFzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5rZXljZG46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua2lja3N0YXJ0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua2lja3N0YXJ0ZXIuazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5rb3J2dWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGFyYXZlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5sYXN0Zm06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGFzdGZtLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5sZWFucHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxlc3Njc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGluZWNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGlua2VkaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGlub2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxpbnV4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmx5ZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFnZW50bzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tYWlsY2hpbXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTllXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFuZGFsb3JpYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFya2Rvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFzdG9kb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWF4Y2RuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1kYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4Y2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZWRhcHBzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1lZGl1bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZWRpdW0ubTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZWRydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZWV0dXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVnYXBvcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVuZGVsZXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWljcm9ibG9nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1pY3Jvc29mdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5taXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWl4Y2xvdWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWl4ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWl6dW5pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1vZHg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubW9uZXJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm5hcHN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubmVvczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5uaW1ibHI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubm9kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ub2RlLmpzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm5wbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5uczg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubnV0cml0aW9uaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub2N0b3B1cy5kZXBsb3k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub2Rub2tsYXNzbmlraTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5vZG5va2xhc3NuaWtpLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5vbGQucmVwdWJsaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub3BlbmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub3BlbmlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9wZXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9wdGluLm1vbnN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub3JjaWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGQyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub3NpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBhZ2U0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBhZ2VsaW5lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wYWxmZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGF0cmVvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wYXlwYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGVubnkuYXJjYWRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBlcmJ5dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGVyaXNjb3BlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBoYWJyaWNhdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBob2VuaXguZnJhbWV3b3JrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBob2VuaXguc3F1YWRyb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTExXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGhwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGllZC5waXBlci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGllZC5waXBlci5oYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGllZC5waXBlci5wcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waWVkLnBpcGVyLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waW50ZXJlc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGludGVyZXN0LnA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGludGVyZXN0LnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wbGF5c3RhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wcm9kdWN0Lmh1bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucHVzaGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnB5dGhvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5xcTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5xdWluc2NhcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucXVvcmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uci5wcm9qZWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJhc3BiZXJyeS5waTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yYXZlbHJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlYWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlYWN0ZXVyb3BlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlYWRtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWRkaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVkZGl0LmFsaWVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlZGRpdC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVkaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlZHJpdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlZHlldGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjlkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVucmVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlcGx5ZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZXNlYXJjaGdhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVzb2x2aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yb2NrZXRjaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJvY2tybXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucnVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zYWZhcmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2FsZXNmb3JjZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zYXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNjaGxpeDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zY3JpYmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2VhcmNoZW5naW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2VsbGNhc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2VsbHN5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNlcnZpY2VzdGFjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zaGlydHNpbmJ1bGs6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2hvcGlmeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zaG9wd2FyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zaW1wbHlidWlsdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zaXN0cml4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNpdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2tldGNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNreWF0bGFzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNreXBlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNsYWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNsYWNrLmhhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2xpZGVzaGFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zbmFwY2hhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zbmFwY2hhdC5naG9zdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zbmFwY2hhdC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc291bmRjbG91ZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zb3VyY2V0cmVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNwZWFrYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3BlYWtlci5kZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNwb3RpZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3F1YXJlc3BhY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RhY2suZXhjaGFuZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RhY2sub3ZlcmZsb3c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RhY2twYXRoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0YXlsaW5rZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RlYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RlYW0uc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0ZWFtLnN5bWJvbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdGlja2VyLm11bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RyYXZhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0cmlwZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdHJpcGUuczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdHVkaW92aW5hcmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3R1bWJsZXVwb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3R1bWJsZXVwb24uY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN1cGVycG93ZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN1cHBsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN3aWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN5bWZvbnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGVhbXNwZWFrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRlbGVncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRlbGVncmFtLnBsYW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRlbmNlbnQud2VpYm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGhlbWVjbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50aGVtZWlzbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGhpbmsucGVha3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGlrdG9rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRyYWRlLmZlZGVyYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udHJlbGxvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnR1bWJscjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50dW1ibHIuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnR3aXRjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnR3aXR0ZXIuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnR5cG8zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnViZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udWJ1bnR1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVpa2l0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVtYnJhY286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGU4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udW5jaGFydGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVuaXJlZ2lzdHJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVuaXR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVuc3BsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVudGFwcGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udXBzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVzYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51c3BzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVzc3VubmFoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZhYWRpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aWFjb2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpYWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aWFkZW8uc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpYmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpbWVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpbWVvLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aW1lby52OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udm52OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZ1ZWpzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndhdGNobWFuLm1vbml0b3Jpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2F6ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53ZWVibHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2VpYm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2VpeGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndoYXRzYXBwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndoYXRzYXBwLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aG1jczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aWtpcGVkaWEudzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aW5kb3dzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndpeDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aXphcmRzLm9mLnRoZS5jb2FzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MzBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53b2R1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndvbGYucGFjay5iYXR0YWxpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud29yZHByZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndvcmRwcmVzcy5zaW1wbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDExXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud3BiZWdpbm5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53cGV4cGxvcmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndwZm9ybXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud3ByZXNzcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi54Ym94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnhpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueGluZy5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueS5jb21iaW5hdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlhaG9vOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlhbW1lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55YW5kZXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWFuZGV4LmludGVybmF0aW9uYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWFybjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55ZWxwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlvYXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlvdXR1YmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueW91dHViZS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uemhpaHU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG4vKiBBbGlhc2VzICovXG5pLmljb24uYW1lcmljYW4uZXhwcmVzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hbWVyaWNhbi5leHByZXNzLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW1leDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iaXRidWNrZXQuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJsdWV0b290aC5hbHRlcm5hdGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbWF6b24ucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLmFtZXJpY2FuLmV4cHJlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuZGluZXJzLmNsdWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuZGlzY292ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuamNiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLm1hc3RlcmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQucGF5cGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLnN0cmlwZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC52aXNhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpbmVycy5jbHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpbmVycy5jbHViLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGlzY292ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGlzY292ZXIuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaXNrLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZHJpYmJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lZXJjYXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmVudmlyYS5nYWxsZXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZhY2Vib29rLm9mZmljaWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpdmUuaHVuZHJlZC5waXhlbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0dGlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbHVzLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5vZmZpY2lhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qYXBhbi5jcmVkaXQuYnVyZWF1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmphcGFuLmNyZWRpdC5idXJlYXUuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qY2I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGlua2VkaW4uc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hc3RlcmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFzdGVyY2FyZC5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1pY3Jvc29mdC5lZGdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1zLmVkZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubmV3LnBpZWQucGlwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub3B0aW5tb25zdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBheXBhbC5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXIuaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBvY2tldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdHJpcGUuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50aGVtZS5pc2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpc2E6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udmlzYS5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndlY2hhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aWtpcGVkaWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud29yZHByZXNzLmJlZ2lubmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndvcmRwcmVzcy5mb3Jtczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55Yzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55Y29tYmluYXRvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55b3V0dWJlLnBsYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSW1hZ2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXZhdGFyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNwYWNlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogU2l6ZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuaW1nLnVpLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuaW1hZ2Ugc3ZnLFxuLnVpLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaGlkZGVuLmltYWdlcyxcbi51aS51aS5oaWRkZW4uaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmhpZGRlbi50cmFuc2l0aW9uLmltYWdlcyxcbi51aS5oaWRkZW4udHJhbnNpdGlvbi5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaW1hZ2VzID4gLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuZGlzYWJsZWQuaW1hZ2VzLFxuLnVpLmRpc2FibGVkLmltYWdlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIElubGluZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlubGluZS5pbWFnZSxcbi51aS5pbmxpbmUuaW1hZ2Ugc3ZnLFxuLnVpLmlubGluZS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZlcnRpY2FsIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudG9wLmFsaWduZWQuaW1hZ2UsXG4udWkudG9wLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuLnVpLnRvcC5hbGlnbmVkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSxcbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlLFxuLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlIHN2Zyxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4udWkudG9wLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgLnVpLnRvcC5hbGlnbmVkLmltYWdlIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZXMgLmltYWdlLFxuLnVpLmltYWdlcyAudWkubWlkZGxlLmFsaWduZWQuaW1hZ2Uge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUm91bmRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJvdW5kZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5yb3VuZGVkLmltYWdlLFxuLnVpLnJvdW5kZWQuaW1hZ2VzIC5pbWFnZSA+ICosXG4udWkucm91bmRlZC5pbWFnZSA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJvcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYm9yZGVyZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5ib3JkZXJlZC5pbWFnZXMgaW1nLFxuLnVpLmJvcmRlcmVkLmltYWdlcyBzdmcsXG4udWkuYm9yZGVyZWQuaW1hZ2UgaW1nLFxuLnVpLmJvcmRlcmVkLmltYWdlIHN2ZyxcbmltZy51aS5ib3JkZXJlZC5pbWFnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2lyY3VsYXIuaW1hZ2VzLFxuLnVpLmNpcmN1bGFyLmltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi51aS5jaXJjdWxhci5pbWFnZXMgLmltYWdlLFxuLnVpLmNpcmN1bGFyLmltYWdlLFxuLnVpLmNpcmN1bGFyLmltYWdlcyAuaW1hZ2UgPiAqLFxuLnVpLmNpcmN1bGFyLmltYWdlID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsdWlkLmltYWdlcyxcbi51aS5mbHVpZC5pbWFnZSxcbi51aS5mbHVpZC5pbWFnZXMgaW1nLFxuLnVpLmZsdWlkLmltYWdlcyBzdmcsXG4udWkuZmx1aWQuaW1hZ2Ugc3ZnLFxuLnVpLmZsdWlkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEF2YXRhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmF2YXRhci5pbWFnZXMgLmltYWdlLFxuLnVpLmF2YXRhci5pbWFnZXMgaW1nLFxuLnVpLmF2YXRhci5pbWFnZXMgc3ZnLFxuLnVpLmF2YXRhci5pbWFnZSBpbWcsXG4udWkuYXZhdGFyLmltYWdlIHN2Zyxcbi51aS5hdmF0YXIuaW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTcGFjZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNwYWNlZC5pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBzcGFjZWRcIl0uaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBzcGFjZWRcIl0uaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmxvYXRlZC5pbWFnZSxcbi51aS5mbG9hdGVkLmltYWdlcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnVpLnJpZ2h0LmZsb2F0ZWQuaW1hZ2VzLFxuLnVpLnJpZ2h0LmZsb2F0ZWQuaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLnVpLmZsb2F0ZWQuaW1hZ2VzOmxhc3QtY2hpbGQsXG4udWkuZmxvYXRlZC5pbWFnZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5jZW50ZXJlZC5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLmNlbnRlcmVkLmltYWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZWRpdW0uaW1hZ2VzIC5pbWFnZSxcbi51aS5tZWRpdW0uaW1hZ2VzIGltZyxcbi51aS5tZWRpdW0uaW1hZ2VzIHN2Zyxcbi51aS5tZWRpdW0uaW1hZ2Uge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkuaW1hZ2VzIC5pbWFnZSxcbi51aS5taW5pLmltYWdlcyBpbWcsXG4udWkubWluaS5pbWFnZXMgc3ZnLFxuLnVpLm1pbmkuaW1hZ2Uge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5pbWFnZXMgLmltYWdlLFxuLnVpLnRpbnkuaW1hZ2VzIGltZyxcbi51aS50aW55LmltYWdlcyBzdmcsXG4udWkudGlueS5pbWFnZSB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5pbWFnZXMgLmltYWdlLFxuLnVpLnNtYWxsLmltYWdlcyBpbWcsXG4udWkuc21hbGwuaW1hZ2VzIHN2Zyxcbi51aS5zbWFsbC5pbWFnZSB7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuaW1hZ2VzIC5pbWFnZSxcbi51aS5sYXJnZS5pbWFnZXMgaW1nLFxuLnVpLmxhcmdlLmltYWdlcyBzdmcsXG4udWkubGFyZ2UuaW1hZ2Uge1xuICB3aWR0aDogNDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5pbWFnZXMgLmltYWdlLFxuLnVpLmJpZy5pbWFnZXMgaW1nLFxuLnVpLmJpZy5pbWFnZXMgc3ZnLFxuLnVpLmJpZy5pbWFnZSB7XG4gIHdpZHRoOiA2MDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5pbWFnZXMgLmltYWdlLFxuLnVpLmh1Z2UuaW1hZ2VzIGltZyxcbi51aS5odWdlLmltYWdlcyBzdmcsXG4udWkuaHVnZS5pbWFnZSB7XG4gIHdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5pbWFnZXMgLmltYWdlLFxuLnVpLm1hc3NpdmUuaW1hZ2VzIGltZyxcbi51aS5tYXNzaXZlLmltYWdlcyBzdmcsXG4udWkubWFzc2l2ZS5pbWFnZSB7XG4gIHdpZHRoOiA5NjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbWFnZXMge1xuICBmb250LXNpemU6IDA7XG4gIG1hcmdpbjogMCAtMC4yNXJlbTtcbn1cbi51aS5pbWFnZXMgLmltYWdlLFxuLnVpLmltYWdlcyA+IGltZyxcbi51aS5pbWFnZXMgPiBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwLjI1cmVtIDAuNXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBJbnB1dFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIElucHV0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uIElucHV0ICovXG4vKiBDaXJjdWxhciBJY29uIElucHV0ICovXG4vKiBMYWJlbGVkIElucHV0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBEb3duICovXG4vKiBGb2N1cyAqL1xuLyogTG9hZGVyICovXG4vKiBmaWxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5wdXQgPiBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6bm90KFt0eXBlPVwiY29sb3JcIl0pIHtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbn1cbi51aS5pbnB1dCA+IGlucHV0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuLnVpLmlucHV0ID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4udWkuaW5wdXQgPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuaW5wdXQgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5pbnB1dCxcbi51aS5pbnB1dDpub3QoLmRpc2FibGVkKSBpbnB1dFtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLnVpLmRpc2FibGVkLmlucHV0ID4gaW5wdXQsXG4udWkuaW5wdXQ6bm90KC5kaXNhYmxlZCkgaW5wdXRbZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlucHV0ID4gaW5wdXQ6YWN0aXZlLFxuLnVpLmlucHV0LmRvd24gaW5wdXQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQgPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5pbnB1dCA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmZvcm0gLmZpZWxkID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuaW5wdXQgPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5sb2FkaW5nLmlucHV0ID4gaS5pY29uOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwIDAgLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkudWkubG9hZGluZy5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwIDAgLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlucHV0LmZvY3VzID4gaW5wdXQsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzg1YjdkOTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0OjpwbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpO1xufVxuLnVpLmlucHV0LmZvY3VzID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY2ZjY7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbiAgY29sb3I6ICM5ZjNhMzg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmM7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYyAhaW1wb3J0YW50O1xufVxuLyogRm9jdXNlZCBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNkYTk3OTY7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5NiAhaW1wb3J0YW50O1xufVxuLnVpLmlucHV0LmluZm8gPiBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGZmZmY7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbiAgY29sb3I6ICMyNzZmODY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmluZm8gPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk4Y2ZlMTtcbn1cbi51aS5pbnB1dC5pbmZvID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OGNmZTEgIWltcG9ydGFudDtcbn1cbi8qIEZvY3VzZWQgUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC5pbmZvID4gaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3MGJkZDY7XG59XG4udWkuaW5wdXQuaW5mbyA+IGlucHV0OmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzBiZGQ2ICFpbXBvcnRhbnQ7XG59XG4udWkuaW5wdXQuc3VjY2VzcyA+IGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmZmNTtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xuICBjb2xvcjogIzJjNjYyZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIFBsYWNlaG9sZGVyICovXG4udWkuaW5wdXQuc3VjY2VzcyA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOGZjZjkwO1xufVxuLnVpLmlucHV0LnN1Y2Nlc3MgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzhmY2Y5MCAhaW1wb3J0YW50O1xufVxuLyogRm9jdXNlZCBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LnN1Y2Nlc3MgPiBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjYmY2ZDtcbn1cbi51aS5pbnB1dC5zdWNjZXNzID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2Y2JmNmQgIWltcG9ydGFudDtcbn1cbi51aS5pbnB1dC53YXJuaW5nID4gaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYWYzO1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG4gIGNvbG9yOiAjNTczYTA4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC53YXJuaW5nID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlZGFkM2U7XG59XG4udWkuaW5wdXQud2FybmluZyA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZWRhZDNlICFpbXBvcnRhbnQ7XG59XG4vKiBGb2N1c2VkIFBsYWNlaG9sZGVyICovXG4udWkuaW5wdXQud2FybmluZyA+IGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTM5NzE1O1xufVxuLnVpLmlucHV0Lndhcm5pbmcgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2UzOTcxNSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgVHJhbnNwYXJlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50cmFuc3BhcmVudC5pbnB1dCA+IHRleHRhcmVhLFxuLnVpLnRyYW5zcGFyZW50LmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLmZpZWxkIC51aS50cmFuc3BhcmVudC5pbnB1dCA+IHRleHRhcmVhIHtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbn1cbi8qIFRyYW5zcGFyZW50IEljb24gKi9cbjpub3QoLmZpZWxkKSA+IC51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgd2lkdGg6IDEuMWVtO1xufVxuOm5vdCguZmllbGQpID4gLnVpLnVpLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMmVtO1xufVxuOm5vdCguZmllbGQpID4gLnVpLnVpLnVpLnRyYW5zcGFyZW50W2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4vKiBUcmFuc3BhcmVudCBJbnZlcnRlZCAqL1xuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiB0ZXh0YXJlYSxcbi51aS51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCA+IGlucHV0IHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmljb24uaW5wdXQgPiBpLmljb24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAyLjY3MTQyODU3ZW07XG4gIG9wYWNpdHk6IDAuNTtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG4udWkuaWNvbi5pbnB1dCA+IGkuaWNvbjpub3QoLmxpbmspIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWkudWkudWkudWkuaWNvbi5pbnB1dDpub3QoLmNvcm5lcikgPiB0ZXh0YXJlYSxcbi51aS51aS51aS51aS5pY29uLmlucHV0Om5vdCguY29ybmVyKSA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMi42NzE0Mjg1N2VtO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS5pY29uLmlucHV0ID4gaS5pY29uOjphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbn1cbi51aS5pY29uLmlucHV0ID4gaS5saW5rLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuaWNvbi5pbnB1dCA+IGkuY2lyY3VsYXIuaWNvbiB7XG4gIHRvcDogMC4zNWVtO1xuICByaWdodDogMC41ZW07XG59XG4vKiBMZWZ0IEljb24gSW5wdXQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpLmljb24ge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuY2lyY3VsYXIuaWNvbiB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwLjVlbTtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lclwiXSkuaW5wdXQgPiB0ZXh0YXJlYSxcbi51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lclwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMi42NzE0Mjg1N2VtO1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXTpub3QoLmNvcm5lcikuaW5wdXQgPiB0ZXh0YXJlYSxcbi51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl06bm90KC5jb3JuZXIpLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG4vKiBGb2N1cyAqL1xuLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcixcbi51aS5pY29uLmlucHV0ID4gdGV4dGFyZWE6Zm9jdXMgfiBpLmljb24sXG4udWkuaWNvbi5pbnB1dCA+IGlucHV0OmZvY3VzIH4gaS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBMYWJlbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBZGphY2VudCBMYWJlbCAqL1xuLnVpLmxhYmVsZWQuaW5wdXQgPiAubGFiZWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5sYWJlbGVkLmlucHV0ID4gLmxhYmVsOm5vdCguY29ybmVyKSB7XG4gIHBhZGRpbmctdG9wOiAwLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjc4NTcxNDI5ZW07XG59XG4vKiBSZWd1bGFyIExhYmVsIG9uIExlZnQgKi9cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIGlucHV0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzg1YjdkOTtcbn1cbi8qIFJlZ3VsYXIgTGFiZWwgb24gUmlnaHQgKi9cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IGlucHV0ICsgLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM4NWI3ZDkgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciBMYWJlbCAqL1xuLnVpLmxhYmVsZWQuaW5wdXQgLmNvcm5lci5sYWJlbCB7XG4gIHRvcDogMXB4O1xuICByaWdodDogMXB4O1xuICBmb250LXNpemU6IDAuNjQyODU3MTRlbTtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi8qIFNwYWNpbmcgd2l0aCBjb3JuZXIgbGFiZWwgKi9cbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiB0ZXh0YXJlYSxcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkuZHJvcGRvd24sXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gdGV4dGFyZWEsXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAzLjI1ZW07XG59XG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gaS5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1ZW07XG59XG4vKiBMZWZ0IExhYmVsZWQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5pY29uICsgLnVpLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuZHJvcGRvd24sXG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IHRleHRhcmVhLFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMi41ZW07XG59XG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24sXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiB0ZXh0YXJlYSxcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMy4yNWVtO1xufVxuLnVpLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuLnVpLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gdGV4dGFyZWEsXG4udWkudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNGVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1ZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG59XG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNWVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gsXG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5tZW51LFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAubWVudSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNWVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW0sXG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gge1xuICBwYWRkaW5nLWxlZnQ6IDRlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDRlbTtcbn1cbi51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gsXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gge1xuICBwYWRkaW5nLXJpZ2h0OiA1Ljc1ZW07XG59XG4udWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbixcbi51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBpbml0aWFsO1xuICB9XG4gIC51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKTpub3QoOmhhcygudWkuZHJvcGRvd24gfiBpbnB1dCkpID4gLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xuICB9XG59XG4udWkudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5zZWFyY2gge1xuICBwYWRkaW5nLXJpZ2h0OiA3LjI1ZW07XG59XG4udWkudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbixcbi51aS51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmljb246bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pLmlucHV0ID4gLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG59XG4udWkuaWNvbi5pbnB1dCA+IC51aS52aXNpYmxlLmRyb3Bkb3duIH4gaS5pY29uLFxuLnVpLmljb24uaW5wdXQgPiAudWkuYWN0aXZlLmRyb3Bkb3duIH4gaS5pY29uLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLnZpc2libGUuZHJvcGRvd24gfiAudWkuY29ybmVyLmxhYmVsLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmFjdGl2ZS5kcm9wZG93biB+IC51aS5jb3JuZXIubGFiZWwge1xuICB6LWluZGV4OiAxMDtcbn1cbi51aS5pY29uLmlucHV0ID4gdGV4dGFyZWEgfiBpLmljb24ge1xuICBoZWlnaHQ6IDNlbTtcbn1cbjpub3QoLmZpZWxkKSA+IC51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gdGV4dGFyZWEgfiBpLmljb24ge1xuICBoZWlnaHQ6IDEuM2VtO1xufVxuLyogQ29ybmVyIExhYmVsIFBvc2l0aW9uICovXG4udWkuaW5wdXQgPiAudWkuY29ybmVyLmxhYmVsIHtcbiAgdG9wOiAxcHg7XG4gIHJpZ2h0OiAxcHg7XG59XG4udWkuaW5wdXQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXB4O1xufVxuLyogTGFiZWxlZCBhbmQgYWN0aW9uIGlucHV0IHN0YXRlcyAqL1xuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLmFjdGlvbi5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiAudWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuZXJyb3IgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuZXJyb3I6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwYjRiNDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGI0YjQ7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQuZXJyb3IgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuZXJyb3I6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMGI0YjQ7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuZXJyb3I6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dCArIC51aS5idXR0b24sXG4udWkucmlnaHQubGFiZWxlZC5pbnB1dC5lcnJvcjpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gdGV4dGFyZWEgKyAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0LmVycm9yOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuZXJyb3I6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMGI0YjQ7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCxcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LmVycm9yOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiAudWkuYWN0aW9uLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0LmluZm8gPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYTlkNWRlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQuaW5mbyA+IC51aS5idXR0b24sXG4udWkubGFiZWxlZC5pbnB1dC5pbmZvOm5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTlkNWRlO1xufVxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5pbmZvOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5pbmZvOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWw6Zmlyc3QtY2hpbGQsXG4udWkucmlnaHQubGFiZWxlZC5pbnB1dC5pbmZvOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTlkNWRlO1xufVxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiAudWkuYWN0aW9uLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0LnN1Y2Nlc3MgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYTNjMjkzO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQuc3VjY2VzcyA+IC51aS5idXR0b24sXG4udWkubGFiZWxlZC5pbnB1dC5zdWNjZXNzOm5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTNjMjkzO1xufVxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5zdWNjZXNzOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5zdWNjZXNzOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWw6Zmlyc3QtY2hpbGQsXG4udWkucmlnaHQubGFiZWxlZC5pbnB1dC5zdWNjZXNzOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTNjMjkzO1xufVxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiAudWkuYWN0aW9uLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0Lndhcm5pbmcgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzliYTliO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M5YmE5Yjtcbn1cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQud2FybmluZyA+IC51aS5idXR0b24sXG4udWkubGFiZWxlZC5pbnB1dC53YXJuaW5nOm5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYzliYTliO1xufVxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC53YXJuaW5nOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0ICsgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC53YXJuaW5nOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M5YmE5Yjtcbn1cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWw6Zmlyc3QtY2hpbGQsXG4udWkucmlnaHQubGFiZWxlZC5pbnB1dC53YXJuaW5nOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYzliYTliO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEFjdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b24sXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjc4NTcxNDI5ZW07XG4gIG1hcmdpbjogMDtcbn1cbi8qIElucHV0IHdoZW4gdWkgTGVmdCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiB0ZXh0YXJlYSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIElucHV0IHdoZW4gdWkgUmlnaHQgKi9cbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dCxcbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiB0ZXh0YXJlYSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIEJ1dHRvbiBhbmQgRHJvcGRvd24gKi9cbi51aS5hY3Rpb24uaW5wdXQgPiAuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uczpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmFjdGlvbi5pbnB1dCA+IC5kcm9wZG93bjpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuYWN0aW9uLmlucHV0ID4gLmRyb3Bkb3duOmxhc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi8qIElucHV0IEZvY3VzICovXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQ6Zm9jdXMsXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM4NWI3ZDk7XG59XG4udWkudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyxcbi51aS51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IHRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4NWI3ZDk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3RhbmRhcmQgKi9cbi51aS5pbnZlcnRlZC5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQuaW5wdXQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnVpLmZsdWlkLmlucHV0ID4gaW5wdXQge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZpbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHdpZHRoIGhhY2sgZm9yIGNocm9tZS9lZGdlICovXG4udWkuZmlsZS5pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMDtcbn1cbi51aS5mb3JtIC5maWVsZCA+IGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZpbGUuaW5wdXQ6bm90KC5hY3Rpb24pIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgcGFkZGluZzogMDtcbn1cbi51aS5hY3Rpb24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjY3ODU3MTQzZW0gMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZDogI2UwZTFlMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhY2JjZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5hY3Rpb24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2UsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjY3ODU3MTQzZW0gMWVtO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNlMGUxZTI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2FjYmNkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLyogSUUgbmVlZHMgYWRkaXRpb25hbCBzdHlsaW5nIGZvciBpbnB1dCBmaWVsZCA6UyAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC51aS5maWxlLmlucHV0ID4gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLnVpLmFjdGlvbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kOiAjZTBlMWUyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2FjYmNkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuaW52aXNpYmxlLmZpbGUuaW5wdXQsXG4udWkuaW52aXNpYmxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBsZWZ0OiAtOTk5OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZDogI2NhY2JjZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4vKiB0aGlzIGlzIHJlbGF0ZWQgdG8gZXhpc3RpbmcgYnV0dG9ucywgc28gdGhlIGJ1dHRvbiBjb2xvciB2YXJpYWJsZSBpcyB1c2VkIGhlcmUhICovXG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucHJpbWFyeS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnByaW1hcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVkMmI1OTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucHJpbWFyeS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnByaW1hcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5zZWNvbmRhcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5zZWNvbmRhcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk4ZjAxMztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuc2Vjb25kYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuc2Vjb25kYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucmVkLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkucmVkLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnJlZC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnJlZC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLm9yYW5nZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLm9yYW5nZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2MjAyO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5vcmFuZ2UuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5vcmFuZ2UuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3NmIwMDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS55ZWxsb3cuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS55ZWxsb3cuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkueWVsbG93LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkueWVsbG93LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNkMDA7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkub2xpdmUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5vbGl2ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5vbGl2ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLm9saXZlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmU3NDU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuZ3JlZW4uYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5ncmVlbi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ncmVlbi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmdyZWVuLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZWE5MmU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkudGVhbC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnRlYWwuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkudGVhbC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnRlYWwuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZmZmZjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ibHVlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYmx1ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ibHVlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYmx1ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnZpb2xldC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnZpb2xldC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTgyOWJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS52aW9sZXQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS52aW9sZXQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0NWFmZjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5wdXJwbGUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5wdXJwbGUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucHVycGxlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkucHVycGxlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucGluay5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnBpbmsuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucGluay5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnBpbmsuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWJkMTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5icm93bi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJyb3duLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzViMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLmJyb3duLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYnJvd24uYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwNjIwZjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ncmV5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuZ3JleS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ncmV5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuZ3JleS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM1O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLmJsYWNrLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYmxhY2suYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYmxhY2suYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5ibGFjay5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHJpbWFyeS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5wcmltYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wcmltYXJ5LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnByaW1hcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNWQyYjU5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHJpbWFyeS5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnByaW1hcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHJpbWFyeS5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLnByaW1hcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ZDJiNTk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wcmltYXJ5LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnByaW1hcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnByaW1hcnkuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkucHJpbWFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ZDJiNTk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk4ZjAxMztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnNlY29uZGFyeS5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnNlY29uZGFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5OGYwMTM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk4ZjAxMztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5yZWQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5yZWQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDAxOTE5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucmVkLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkucmVkLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLnJlZC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QwMTkxOTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5yZWQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5yZWQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDAxOTE5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLm9yYW5nZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLm9yYW5nZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMjYyMDI7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vcmFuZ2UuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5vcmFuZ2UuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkub3JhbmdlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjI2MjAyO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLm9yYW5nZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLm9yYW5nZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMjYyMDI7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkueWVsbG93LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkueWVsbG93LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VhYWUwMDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnllbGxvdy5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnllbGxvdy5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS55ZWxsb3cuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlYWFlMDA7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkueWVsbG93LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkueWVsbG93LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VhYWUwMDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9saXZlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLm9saXZlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vbGl2ZS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5vbGl2ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNhN2JkMGQ7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vbGl2ZS5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLm9saXZlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9saXZlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkub2xpdmUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNhN2JkMGQ7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vbGl2ZS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5vbGl2ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub2xpdmUuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkub2xpdmUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTdiZDBkO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JlZW4uZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkuZ3JlZW4uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZWVuLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLmdyZWVuLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YWIzOTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZWVuLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkuZ3JlZW4uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JlZW4uZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5ncmVlbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YWIzOTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZWVuLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLmdyZWVuLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmVlbi5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5ncmVlbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmFiMzk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS50ZWFsLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnRlYWwuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnRlYWwuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkudGVhbC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDljOTU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS50ZWFsLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkudGVhbC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS50ZWFsLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkudGVhbC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwOWM5NTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnRlYWwuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkudGVhbC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudGVhbC5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS50ZWFsLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwOWM5NTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsdWUuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkuYmx1ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmx1ZS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5ibHVlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2NzhjMjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsdWUuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5ibHVlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsdWUuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5ibHVlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTY3OGMyO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmx1ZS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5ibHVlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibHVlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLmJsdWUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTY3OGMyO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnZpb2xldC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnZpb2xldC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ODI5YmI7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS52aW9sZXQuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS52aW9sZXQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkudmlvbGV0LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTgyOWJiO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnZpb2xldC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnZpb2xldC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ODI5YmI7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkucHVycGxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkucHVycGxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk2MjdiYTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnB1cnBsZS5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnB1cnBsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5wdXJwbGUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NjI3YmE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkucHVycGxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkucHVycGxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk2MjdiYTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnBpbmsuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkucGluay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucGluay5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5waW5rLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2MWE4ZDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnBpbmsuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5waW5rLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnBpbmsuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5waW5rLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTYxYThkO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucGluay5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5waW5rLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5waW5rLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnBpbmsuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTYxYThkO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYnJvd24uZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkuYnJvd24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJyb3duLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLmJyb3duLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk3NWIzMztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJyb3duLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkuYnJvd24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYnJvd24uZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5icm93bi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk3NWIzMztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJyb3duLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLmJyb3duLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5icm93bi5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5icm93bi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NzViMzM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmV5LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLmdyZXkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZXkuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkuZ3JleS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MzgzODM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmV5LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkuZ3JleS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmV5LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuZ3JleS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzgzODM4Mztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZXkuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkuZ3JleS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JleS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5ncmV5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzgzODM4Mztcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsYWNrLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLmJsYWNrLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibGFjay5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5ibGFjay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyNzI5MmE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibGFjay5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLmJsYWNrLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsYWNrLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuYmxhY2suZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyNzI5MmE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibGFjay5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5ibGFjay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmxhY2suZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuYmxhY2suZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjcyOTJhO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW5wdXQge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5taW5pLmlucHV0IHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkudGlueS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLmlucHV0IHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG4udWkubGFyZ2UuaW5wdXQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuaW5wdXQge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkubWFzc2l2ZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExhYmVsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExhYmVsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBtZWRpdW0gaXMgbm90IEBlbVNpemUgY3VzdG9tIHZhbHVlIHJlcXVpcmVkICovXG4vKiBHcm91cCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXJ0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExpbmsgKi9cbi8qIEljb24gKi9cbi8qIEltYWdlICovXG4vKiBEZXRhaWwgKi9cbi8qIERlbGV0ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEltYWdlIExhYmVsICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhvdmVyICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhc2ljICovXG4vKiBUYWcgKi9cbi8qIEF2b2lkcyBlcnJvciB3aXRoIGJhY2tncm91bmQ6IGluaGVyaXQ7IG9uIGFuaW1hdGlvbiAqL1xuLyogUmliYm9uICovXG4vKiBSb3VuZGluZyBPZmZzZXQgb24gVHJpYW5nbGUgKi9cbi8qIFJvdW5kaW5nIE9mZnNldCBvbiBUcmlhbmdsZSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIENvbG9ycyAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIENvcm5lciAqL1xuLyogQ29ybmVyIFRleHQgKi9cbi8qIEhvcml6b250YWwgKi9cbi8qIENpcmN1bGFyIFBhZGRpbmcgKi9cbi8qIFBvaW50aW5nICovXG4vKiBBdm9pZHMgZXJyb3Igd2l0aCBiYWNrZ3JvdW5kOiBpbmhlcml0OyBvbiBhbmltYXRpb24gKi9cbi8qIEJhc2ljIFBvaW50aW5nICovXG4vKiBGbG9hdGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpemluZyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIExhYmVsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW46IDAgMC4xNDI4NTcxNGVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG59XG4udWkubGFiZWw6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5sYWJlbDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLyogTGluayAqL1xuYS51aS5sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIEluc2lkZSBMaW5rICovXG4udWkubGFiZWwgPiBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiAwLjFzIG9wYWNpdHkgZWFzZTtcbn1cbi51aS5sYWJlbCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLyogSW1hZ2UgKi9cbi51aS5sYWJlbCA+IGltZyB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMi4xNjY2ZW07XG59XG4vKiBJY29uICovXG4udWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmxhYmVsID4gLmljb24sXG4udWkubGFiZWwgPiAuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDAgMC43NWVtIDAgMDtcbn1cbi8qIERldGFpbCAqL1xuLnVpLmxhYmVsID4gLmRldGFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG9wYWNpdHk6IDAuODtcbn1cbi51aS5sYWJlbCA+IC5kZXRhaWwgLmljb24ge1xuICBtYXJnaW46IDAgMC4yNWVtIDAgMDtcbn1cbi8qIFJlbW92YWJsZSBsYWJlbCAqL1xuLnVpLmxhYmVsID4gLmNsb3NlLmljb24sXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuLnVpLmxhYmVsID4gLmNsb3NlLmljb246aG92ZXIsXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLyogQmFja3dhcmQgY29tcGF0aWJsZSBwb3NpdGlvbmluZyAqL1xuLnVpLmxhYmVsW2NsYXNzKj1cImxlZnQgaWNvblwiXSA+IC5jbG9zZS5pY29uLFxuLnVpLmxhYmVsW2NsYXNzKj1cImxlZnQgaWNvblwiXSA+IC5kZWxldGUuaWNvbiB7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4udWkubGFiZWxbY2xhc3MqPVwibGVmdCBpY29uXCJdID4gLmNsb3NlLmljb24ucmlnaHQsXG4udWkubGFiZWxbY2xhc3MqPVwibGVmdCBpY29uXCJdID4gLmRlbGV0ZS5pY29uLnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMCAwLjVlbTtcbn1cbi51aS5sYWJlbDpub3QoLmljb24pID4gLmNsb3NlLmljb24sXG4udWkubGFiZWw6bm90KC5pY29uKSA+IC5kZWxldGUuaWNvbiB7XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG4vKiBMYWJlbCBmb3Igb25seSBhbiBpY29uICovXG4udWkuaWNvbi5sYWJlbCA+IC5pY29uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4vKiBSaWdodCBTaWRlIEljb24gKi9cbi51aVtjbGFzcyo9XCJyaWdodCBpY29uXCJdLmxhYmVsID4gLmljb24ge1xuICBtYXJnaW46IDAgMCAwIDAuNzVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbHMgPiAubGFiZWwge1xuICBtYXJnaW46IDAgMC41ZW0gMC41ZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oZWFkZXIgPiAudWkubGFiZWwge1xuICBtYXJnaW4tdG9wOiAtMC4yOTE2NWVtO1xufVxuLyogUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gYXR0YWNoZWQgc2VnbWVudCAqL1xuLnVpLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLmxlZnQuYXR0YWNoZWQubGFiZWwsXG4udWkuYm90dG9tLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLmxlZnQuYXR0YWNoZWQubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmxhYmVsLFxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvcC5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLmJvdHRvbS5sZWZ0LmF0dGFjaGVkLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS50b3AuYXR0YWNoZWQuc2VnbWVudCA+IC51aS5ib3R0b20ucmlnaHQuYXR0YWNoZWQubGFiZWwge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi8qIFBhZGRpbmcgb24gbmV4dCBjb250ZW50IGFmdGVyIGEgbGFiZWwgKi9cbi51aS50b3AuYXR0YWNoZWQubGFiZWwgfiAudWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsICsgOm5vdCguYXR0YWNoZWQpLFxuLnVpLnRvcC5hdHRhY2hlZC5sYWJlbCArIDpub3QoLmF0dGFjaGVkKSB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQubGFiZWwgfiA6bGFzdC1jaGlsZDpub3QoLmF0dGFjaGVkKSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cbi51aS5zZWdtZW50Om5vdCguYmFzaWMpID4gLnVpLnRvcC5hdHRhY2hlZC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4udWkuc2VnbWVudDpub3QoLmJhc2ljKSA+IC51aS5ib3R0b20uYXR0YWNoZWQubGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLnVpLnNlZ21lbnQ6bm90KC5iYXNpYykgPiAudWkuYXR0YWNoZWQubGFiZWw6bm90KC5yaWdodCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi51aS5zZWdtZW50Om5vdCguYmFzaWMpID4gLnVpLnJpZ2h0LmF0dGFjaGVkLmxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLnVpLnNlZ21lbnQ6bm90KC5iYXNpYykgPiAudWkuYXR0YWNoZWQubGFiZWw6bm90KC5sZWZ0KTpub3QoLnJpZ2h0KSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbWFnZS5sYWJlbHMgLmxhYmVsLFxuLnVpLmltYWdlLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1heC13aWR0aDogOTk5OXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtIDAuNTgzM2VtIDAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmltYWdlLmxhYmVscyAubGFiZWwuYXR0YWNoZWQ6bm90KC5iYXNpYyksXG4udWkuaW1hZ2UubGFiZWwuYXR0YWNoZWQ6bm90KC5iYXNpYykge1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtIDAuNTgzM2VtIDAuNWVtO1xufVxuLnVpLmxhYmVscyAuaW1hZ2UubGFiZWwsXG4udWkuaW1hZ2UubGFiZWxzIC5sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLnVpLmltYWdlLmxhYmVsIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgaGVpZ2h0OiAyLjE2NjZlbTtcbiAgbWFyZ2luOiAtMC41ODMzZW0gMC41ZW0gLTAuNTgzM2VtIC0wLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aS5pbWFnZS5sYWJlbCAuZGV0YWlsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBtYXJnaW46IC0wLjU4MzNlbSAtMC44MzNlbSAtMC41ODMzZW0gMC41ZW07XG4gIHBhZGRpbmc6IDAuNTgzM2VtIDAuODMzZW07XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmltYWdlLmxhYmVsOm5vdCgucmlnaHQpID4gaW1nLFxuLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5pbWFnZS5sYWJlbCA+IGltZyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudG9wLmF0dGFjaGVkLmltYWdlLmxhYmVsOm5vdCgucmlnaHQpID4gaW1nLFxuLnVpLmJvdHRvbS5yaWdodC5hdHRhY2hlZC5pbWFnZS5sYWJlbCA+IGltZyB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgVGFnXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWcubGFiZWxzIC5sYWJlbCxcbi51aS50YWcubGFiZWwge1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnVpLnRhZy5sYWJlbHMgLmxhYmVsOjpiZWZvcmUsXG4udWkudGFnLmxhYmVsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKC00NWRlZyk7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgd2lkdGg6IDEuNTZlbTtcbiAgaGVpZ2h0OiAxLjU2ZW07XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4udWkudGFnLmxhYmVscyAubGFiZWw6OmFmdGVyLFxuLnVpLnRhZy5sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMC4yNWVtO1xuICBtYXJnaW4tdG9wOiAtMC4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIGJveC1zaGFkb3c6IDAgLTFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi51aS5iYXNpYy50YWcubGFiZWxzIC5sYWJlbDo6YmVmb3JlLFxuLnVpLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLmJhc2ljLnRhZy5sYWJlbHMgLmxhYmVsOjphZnRlcixcbi51aS5iYXNpYy50YWcubGFiZWw6OmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29ybmVyIExhYmVsXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb3JuZXIubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItY29sb3I6ICNlOGU4ZTg7XG4gIHdpZHRoOiA0ZW07XG4gIGhlaWdodDogNGVtO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLyogSWNvbiBMYWJlbCAqL1xuLnVpLmNvcm5lci5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuY29ybmVyLmxhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNvcm5lci5sYWJlbCAuaWNvbiB7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNjQyODU3MTRlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDAuNTcxNDI4NTdlbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIG1hcmdpbjogMDtcbn1cbi8qIExlZnQgQ29ybmVyICovXG4udWkubGVmdC5jb3JuZXIubGFiZWwsXG4udWkubGVmdC5jb3JuZXIubGFiZWw6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4udWkubGVmdC5jb3JuZXIubGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogNGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG59XG4udWkubGVmdC5jb3JuZXIubGFiZWwgLmljb24ge1xuICBsZWZ0OiAwLjU3MTQyODU3ZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogU2VnbWVudCAqL1xuLnVpLnNlZ21lbnQgPiAudWkuY29ybmVyLmxhYmVsIHtcbiAgdG9wOiAtMXB4O1xuICByaWdodDogLTFweDtcbn1cbi51aS5zZWdtZW50ID4gLnVpLmxlZnQuY29ybmVyLmxhYmVsIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IC0xcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJpYmJvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmliYm9uLmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi51aS5yaWJib24ubGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMS4yZW0gMS4yZW0gMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuLyogUG9zaXRpb25pbmcgKi9cbi51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKC0xcmVtIC0gMS4yZW0pO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjJlbTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDFyZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMmVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDFyZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctbGVmdDogMS4yZW07XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMXJlbSArIDEuMmVtKTtcbn1cbi51aS5iYXNpYy5yaWJib24ubGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjU4MzNlbSAtIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNTgzM2VtIC0gMXB4KTtcbn1cbi51aS5iYXNpYy5yaWJib24ubGFiZWw6bm90KFtjbGFzcyo9XCJyaWdodCByaWJib25cIl0pIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDFyZW0gKyAxLjJlbSAtIDFweCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS4yZW0gLSAxcHgpO1xufVxuLnVpLmJhc2ljW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjJlbSAtIDFweCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMXJlbSArIDEuMmVtIC0gMXB4KTtcbn1cbi51aS5iYXNpYy5yaWJib24ubGFiZWw6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLmJhc2ljLnJpYmJvbi5sYWJlbDpub3QoW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXSk6OmFmdGVyIHtcbiAgbGVmdDogLTFweDtcbn1cbi51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgcmlnaHQ6IC0xcHg7XG59XG4vKiBSaWdodCBSaWJib24gKi9cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxLjJlbSAxLjJlbSAwIDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG59XG4udWkudWkuY2VudGVyLnJpYmJvbi5sYWJlbCB7XG4gIHRvcDogY2FsYyg1MCUgLSAxZW0pO1xuICB6LWluZGV4OiAxO1xufVxuLnVpLmJvdHRvbS5yaWJib24ubGFiZWw6OmFmdGVyIHtcbiAgYm90dG9tOiAxMDAlO1xuICB0b3A6IGF1dG87XG4gIGJvcmRlci13aWR0aDogMS4yZW0gMS4yZW0gMCAwO1xufVxuLnVpLmJvdHRvbVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxLjJlbSAwIDAgMS4yZW07XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0O1xufVxuLyogSW5zaWRlIEltYWdlICovXG4udWkuaW1hZ2UgPiAucmliYm9uLmxhYmVsLFxuLnVpLmNhcmQgLmltYWdlID4gLnJpYmJvbi5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xufVxuLnVpLmNhcmQgLmltYWdlID4gLnVpLnJpYmJvbi5sYWJlbCxcbi51aS5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKDAuMDVyZW0gLSAxLjJlbSk7XG59XG4udWkuY2FyZCAuaW1hZ2UgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsLFxuLnVpLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIC0wLjA1cmVtICsgMS4yZW0pO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzZW07XG59XG4udWkuY2FyZCAuaW1hZ2UgPiAudWkuYm90dG9tLnJpYmJvbi5sYWJlbCxcbi51aS5pbWFnZSA+IC51aS5ib3R0b20ucmliYm9uLmxhYmVsIHtcbiAgYm90dG9tOiAxcmVtO1xuICB0b3A6IGF1dG87XG59XG4vKiBJbnNpZGUgVGFibGUgKi9cbi51aS50YWJsZSB0ZCA+IC51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKC0xZW0gLSAxLjJlbSk7XG59XG4udWkudGFibGUgdGQgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgbGVmdDogY2FsYygxMDAlICsgMWVtICsgMS4yZW0pO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCxcbi51aS5hdHRhY2hlZC5sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjIxNDI4NTcxcmVtIDAuMjE0Mjg1NzFyZW0gMCAwO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yMTQyODU3MXJlbSAwLjIxNDI4NTcxcmVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCBsZWZ0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjE0Mjg1NzFyZW0gMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWlbY2xhc3MqPVwidG9wIHJpZ2h0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjE0Mjg1NzFyZW0gMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBsZWZ0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMCAwLjIxNDI4NTcxcmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwLjIxNDI4NTcxcmVtIDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpc2FibGVkLmxhYmVscyAubGFiZWwsXG4udWkubGFiZWwuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnVpLmxhYmVscyBhLmxhYmVsOmhvdmVyOjpiZWZvcmUsXG5hLnVpLmxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYWN0aXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMDtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5hY3RpdmUubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmUgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxzIGEuYWN0aXZlLmxhYmVsOmhvdmVyLFxuYS51aS5hY3RpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmxhYmVscyBhLmFjdGl2ZS5sYWJlbDpob3Zlcjo6YmVmb3JlLFxuYS51aS5hY3RpdmUubGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGM4Yzg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbHMudmlzaWJsZSAubGFiZWwsXG4udWkubGFiZWwudmlzaWJsZTpub3QoLmRyb3Bkb3duKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVscy5oaWRkZW4gLmxhYmVsLFxuLnVpLmxhYmVsLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYmFzaWMubGFiZWxzIC5sYWJlbCxcbi51aS5iYXNpYy5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNTgzM2VtIC0gMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41ODMzZW0gLSAxcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuODMzZW0gLSAxcHgpO1xufVxuLnVpLmJhc2ljLmxhYmVsczpub3QoLnRhZyk6bm90KC5pbWFnZSk6bm90KC5yaWJib24pIC5sYWJlbCxcbi51aS5iYXNpYy5sYWJlbDpub3QoLnRhZyk6bm90KC5pbWFnZSk6bm90KC5yaWJib24pIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuODMzZW0gLSAxcHgpO1xufVxuLnVpLmJhc2ljLmltYWdlLmxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNWVtIC0gMXB4KTtcbn1cbi8qIExpbmsgKi9cbi51aS5iYXNpYy5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMubGFiZWw6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6ICMxZTcwYmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQb2ludGluZyAqL1xuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbC5mbHVpZCxcbi51aS5mbHVpZC5sYWJlbHMgPiAubGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi51aS5jZW50ZXJlZC5sYWJlbHMgLmxhYmVsLFxuLnVpLmNlbnRlcmVkLmxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWI1YjU7XG59XG4udWkuaW52ZXJ0ZWQuY29ybmVyLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjViNWI1O1xufVxuLnVpLmludmVydGVkLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2U4ZThlODtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLmxhYmVsLFxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVsLFxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzQxODNjNDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnByaW1hcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBMaW5rICovXG4udWkucHJpbWFyeS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkucHJpbWFyeS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZDJiNTk7XG4gIGJvcmRlci1jb2xvcjogIzVkMmI1OTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5wcmltYXJ5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzRhMjU0Nztcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5wcmltYXJ5LmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnByaW1hcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzZDMzY2NztcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkuYmFzaWMubGFiZWxzIGEucHJpbWFyeS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMucHJpbWFyeS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNWQyYjU5O1xuICBjb2xvcjogIzVkMmI1OTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5wcmltYXJ5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xuICBib3JkZXItY29sb3I6ICM1NGM4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnByaW1hcnkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xuICBib3JkZXItY29sb3I6ICMyMWI4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAucHJpbWFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5wcmltYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5wcmltYXJ5LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5wcmltYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzIxYjhmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5wcmltYXJ5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5wcmltYXJ5LmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5zZWNvbmRhcnkubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5zZWNvbmRhcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBMaW5rICovXG4udWkuc2Vjb25kYXJ5LmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5zZWNvbmRhcnkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOThmMDEzO1xuICBib3JkZXItY29sb3I6ICM5OGYwMTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkuc2Vjb25kYXJ5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzZhYTUxMjtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5zZWNvbmRhcnkubGFiZWwsXG4udWkudWkudWkuYmFzaWMuc2Vjb25kYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnNlY29uZGFyeS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMuc2Vjb25kYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM5OGYwMTM7XG4gIGNvbG9yOiAjOThmMDEzO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLnNlY29uZGFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnNlY29uZGFyeS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlNmU2ZTtcbiAgYm9yZGVyLWNvbG9yOiAjNmU2ZTZlO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuc2Vjb25kYXJ5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnNlY29uZGFyeS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU0NTQ1NDtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuc2Vjb25kYXJ5LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5zZWNvbmRhcnkubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM2ZTZlNmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjNmU2ZTZlO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnNlY29uZGFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5zZWNvbmRhcnkubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkucmVkLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkucmVkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbiAgYm9yZGVyLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5yZWQubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLnJlZC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGJvcmRlci1jb2xvcjogI2QwMTkxOTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5yZWQucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIxZTFlO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLnJlZC5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuYmFzaWMubGFiZWxzIGEucmVkLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5yZWQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2QwMTkxOTtcbiAgY29sb3I6ICNkMDE5MTk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAucmVkLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5NWU7XG4gIGJvcmRlci1jb2xvcjogI2ZmNjk1ZTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEucmVkLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5yZWQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xuICBib3JkZXItY29sb3I6ICNmZjM5MmI7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQucmVkLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMzkyYjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5yZWQubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucmVkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2OTVlO1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5yZWQubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnJlZC5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMzkyYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNmZjM5MmI7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucmVkLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5iYXNpYy50YWcubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTVlO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnJlZC5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5vcmFuZ2UubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5vcmFuZ2UubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xuICBib3JkZXItY29sb3I6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLm9yYW5nZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkub3JhbmdlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbiAgYm9yZGVyLWNvbG9yOiAjZjI2MjAyO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLm9yYW5nZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZjU5MGM7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAub3JhbmdlLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLm9yYW5nZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5vcmFuZ2UubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZjI2MjAyO1xuICBjb2xvcjogI2YyNjIwMjtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5vcmFuZ2UubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODUxYjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4NTFiO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5vcmFuZ2UubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzZiMDA7XG4gIGJvcmRlci1jb2xvcjogI2U3NmIwMDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTc2YjAwO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLm9yYW5nZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5vcmFuZ2UubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNmZjg1MWI7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLm9yYW5nZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMub3JhbmdlLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTc2YjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI2U3NmIwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5vcmFuZ2UubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjg1MWI7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAub3JhbmdlLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLnllbGxvdy5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmJkMDg7XG4gIGJvcmRlci1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkueWVsbG93LmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS55ZWxsb3cubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwO1xuICBib3JkZXItY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkueWVsbG93LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2NkOTkwMztcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC55ZWxsb3cubGFiZWwsXG4udWkudWkudWkuYmFzaWMueWVsbG93LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnllbGxvdy5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjZWFhZTAwO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLnllbGxvdy5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xuICBib3JkZXItY29sb3I6ICNmZmUyMWY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnllbGxvdy5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2QwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjZDAwO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNlYmNkMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAueWVsbG93LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZTIxZjtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEueWVsbG93LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy55ZWxsb3cubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlYmNkMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjZWJjZDAwO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnllbGxvdy5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZTIxZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC55ZWxsb3cubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkub2xpdmUubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5vbGl2ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkub2xpdmUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLm9saXZlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E3YmQwZDtcbiAgYm9yZGVyLWNvbG9yOiAjYTdiZDBkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLm9saXZlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzhkOWUxMztcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5vbGl2ZS5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5vbGl2ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5vbGl2ZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMub2xpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2E3YmQwZDtcbiAgY29sb3I6ICNhN2JkMGQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAub2xpdmUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllNzc4O1xuICBib3JkZXItY29sb3I6ICNkOWU3Nzg7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLm9saXZlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmU3NDU7XG4gIGJvcmRlci1jb2xvcjogI2QyZTc0NTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZGRmNGQ7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAub2xpdmUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNkOWU3Nzg7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLm9saXZlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5vbGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2QyZTc0NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNkMmU3NDU7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAub2xpdmUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5vbGl2ZS5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLmdyZWVuLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkuZ3JlZW4ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLmdyZWVuLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5ncmVlbi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG4gIGJvcmRlci1jb2xvcjogIzE2YWIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5ncmVlbi5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMxOThmMzU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAuZ3JlZW4ubGFiZWwsXG4udWkudWkudWkuYmFzaWMuZ3JlZW4ubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuYmFzaWMubGFiZWxzIGEuZ3JlZW4ubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLmdyZWVuLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMxNmFiMzk7XG4gIGNvbG9yOiAjMTZhYjM5O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLmdyZWVuLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlY2M0MDtcbiAgYm9yZGVyLWNvbG9yOiAjMmVjYzQwO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5ncmVlbi5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVhOTJlO1xuICBib3JkZXItY29sb3I6ICMxZWE5MmU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4ucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjVhMjMzO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLmdyZWVuLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmdyZWVuLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjMmVjYzQwO1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5ncmVlbi5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuZ3JlZW4ubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxZWE5MmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjMWVhOTJlO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLmdyZWVuLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuZ3JlZW4ubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS50ZWFsLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkudGVhbC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkudGVhbC5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkudGVhbC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG4gIGJvcmRlci1jb2xvcjogIzAwOWM5NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS50ZWFsLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzAwODI3Yztcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC50ZWFsLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnRlYWwubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkuYmFzaWMubGFiZWxzIGEudGVhbC5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMudGVhbC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Yzk1O1xuICBjb2xvcjogIzAwOWM5NTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC50ZWFsLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmRmZmZmO1xuICBib3JkZXItY29sb3I6ICM2ZGZmZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnRlYWwubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnRlYWwubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FmZmZmO1xuICBib3JkZXItY29sb3I6ICMzYWZmZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQudGVhbC5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMzYWZmZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAudGVhbC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy50ZWFsLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmRmZmZmO1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS50ZWFsLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy50ZWFsLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2FmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzNhZmZmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC50ZWFsLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC50ZWFsLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5ibHVlLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkuYmx1ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1ZDA7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkuYmx1ZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG4gIGJvcmRlci1jb2xvcjogIzE2NzhjMjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5ibHVlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzFhNjlhNDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5ibHVlLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLmJsdWUubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuYmFzaWMubGFiZWxzIGEuYmx1ZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjMTY3OGMyO1xuICBjb2xvcjogIzE2NzhjMjtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5ibHVlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xuICBib3JkZXItY29sb3I6ICM1NGM4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLmJsdWUubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJsdWUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xuICBib3JkZXItY29sb3I6ICMyMWI4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuYmx1ZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5ibHVlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5ibHVlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5ibHVlLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzIxYjhmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ibHVlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU0YzhmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ibHVlLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS52aW9sZXQubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS52aW9sZXQubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xuICBib3JkZXItY29sb3I6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLnZpb2xldC5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkudmlvbGV0LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYjtcbiAgYm9yZGVyLWNvbG9yOiAjNTgyOWJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLnZpb2xldC5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM1MDJhYTE7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAudmlvbGV0LmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnZpb2xldC5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS52aW9sZXQubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNTgyOWJiO1xuICBjb2xvcjogIzU4MjliYjtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC52aW9sZXQubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyOTFmYjtcbiAgYm9yZGVyLWNvbG9yOiAjYTI5MWZiO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS52aW9sZXQubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDVhZmY7XG4gIGJvcmRlci1jb2xvcjogIzc0NWFmZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC52aW9sZXQucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzg2MGY5O1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnZpb2xldC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy52aW9sZXQubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNhMjkxZmI7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLnZpb2xldC5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMudmlvbGV0LmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzQ1YWZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzc0NWFmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC52aW9sZXQubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMjkxZmI7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAudmlvbGV0LmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLnB1cnBsZS5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzMzYzg7XG4gIGJvcmRlci1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkucHVycGxlLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5wdXJwbGUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyN2JhO1xuICBib3JkZXItY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkucHVycGxlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgyMjk5Zjtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5wdXJwbGUubGFiZWwsXG4udWkudWkudWkuYmFzaWMucHVycGxlLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnB1cnBsZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjOTYyN2JhO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLnB1cnBsZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xuICBib3JkZXItY29sb3I6ICNkYzczZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnB1cnBsZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNDBmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y0MGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZjQwZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAucHVycGxlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogI2RjNzNmZjtcbiAgY29sb3I6ICNkYzczZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEucHVycGxlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5wdXJwbGUubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNjZjQwZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjY2Y0MGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnB1cnBsZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjNzNmZjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5wdXJwbGUubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkucGluay5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnBpbmsubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLnBpbmsubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLnBpbmsubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYxYThkO1xuICBib3JkZXItY29sb3I6ICNlNjFhOGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkucGluay5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjNzFmN2U7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAucGluay5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5waW5rLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnBpbmsubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnBpbmsubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2U2MWE4ZDtcbiAgY29sb3I6ICNlNjFhOGQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAucGluay5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5waW5rLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4ZWRmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5waW5rLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5waW5rLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWJkMTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1YmQxO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnBpbmsucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1YmQxO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnBpbmsubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucGluay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmOGVkZjtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEucGluay5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucGluay5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNWJkMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNmZjViZDE7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucGluay5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5waW5rLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjhlZGY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucGluay5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkuYnJvd24ubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5icm93bi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkuYnJvd24ubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJyb3duLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NWIzMztcbiAgYm9yZGVyLWNvbG9yOiAjOTc1YjMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmJyb3duLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTAzMTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5icm93bi5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5icm93bi5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5icm93bi5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMuYnJvd24ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzk3NWIzMztcbiAgY29sb3I6ICM5NzViMzM7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAuYnJvd24ubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY3YzFjO1xuICBib3JkZXItY29sb3I6ICNkNjdjMWM7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLmJyb3duLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5icm93bi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDYyMGY7XG4gIGJvcmRlci1jb2xvcjogI2IwNjIwZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNhOTYyMTY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuYnJvd24ubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNkNjdjMWM7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLmJyb3duLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5icm93bi5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2IwNjIwZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNiMDYyMGY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYnJvd24ubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2N2MxYztcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5icm93bi5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLmdyZXkubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5ncmV5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5ncmV5LmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5ncmV5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODM4MztcbiAgYm9yZGVyLWNvbG9yOiAjODM4MzgzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmdyZXkucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjNWQ1ZDVkO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLmdyZXkubGFiZWwsXG4udWkudWkudWkuYmFzaWMuZ3JleS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5ncmV5LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5ncmV5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM4MzgzODM7XG4gIGNvbG9yOiAjODM4MzgzO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLmdyZXkubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG4gIGJvcmRlci1jb2xvcjogI2RjZGRkZTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEuZ3JleS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmM0YzU7XG4gIGJvcmRlci1jb2xvcjogI2MyYzRjNTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2U5ZWFlYTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5ncmV5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmdyZXkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNkY2RkZGU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuZ3JleS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuZ3JleS5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2MyYzRjNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ncmV5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGRkZTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ncmV5LmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5ibGFjay5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLmJsYWNrLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5ibGFjay5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmxhY2subGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xuICBib3JkZXItY29sb3I6ICMyNzI5MmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkuYmxhY2sucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDIwMjAzO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLmJsYWNrLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLmJsYWNrLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLmJsYWNrLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5ibGFjay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjMjcyOTJhO1xuICBjb2xvcjogIzI3MjkyYTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5ibGFjay5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gIGJvcmRlci1jb2xvcjogIzU0NTQ1NDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEuYmxhY2subGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzYxNjE2MTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5ibGFjay5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU0NTQ1NDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5ibGFjay5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYmxhY2subGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYmxhY2subGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ibGFjay5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhvcml6b250YWwubGFiZWxzIC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLmxhYmVsIHtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbiAgcGFkZGluZzogMC40ZW0gMC44MzNlbTtcbiAgbWluLXdpZHRoOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2lyY3VsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IDJlbTtcbiAgbWluLWhlaWdodDogMmVtO1xuICBwYWRkaW5nOiAwLjVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi51aS5lbXB0eS5jaXJjdWxhci5sYWJlbHMgLmxhYmVsLFxuLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVsIHtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUG9pbnRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBvaW50aW5nLmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLmF0dGFjaGVkLnBvaW50aW5nLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cbi8qIEFycm93ICovXG4udWkucG9pbnRpbmcubGFiZWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMC42NjY2ZW07XG4gIGhlaWdodDogMC42NjY2ZW07XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4vKiAtLS0gQWJvdmUgLS0tICovXG4udWkucG9pbnRpbmcubGFiZWwsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG4udWkucG9pbnRpbmcubGFiZWw6OmJlZm9yZSxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG59XG4vKiAtLS0gQmVsb3cgLS0tICovXG4udWlbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsLFxuLnVpW2NsYXNzKj1cInBvaW50aW5nIGJlbG93XCJdLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlLFxuLnVpW2NsYXNzKj1cInBvaW50aW5nIGJlbG93XCJdLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG59XG4vKiAtLS0gTGVmdCAtLS0gKi9cbi51aVtjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjY2NmVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xufVxuLyogLS0tIFJpZ2h0IC0tLSAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IHBvaW50aW5nXCJdLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjY2NjZlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbn1cbi8qIEJhc2ljIFBvaW50aW5nICovXG4vKiAtLS0gQWJvdmUgLS0tICovXG4udWkuYmFzaWMucG9pbnRpbmcubGFiZWw6OmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi8qIC0tLSBCZWxvdyAtLS0gKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbi8qIC0tLSBMZWZ0IC0tLSAqL1xuLnVpLmJhc2ljW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMXB4O1xufVxuLyogLS0tIFJpZ2h0IC0tLSAqL1xuLnVpLmJhc2ljW2NsYXNzKj1cInJpZ2h0IHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IC0xcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGluZyBMYWJlbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGluZy5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IC0xZW07XG4gIHJpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cbi51aS5yaWdodC5hbGlnbmVkLmZsb2F0aW5nLmxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEuMmVtKTtcbn1cbi51aS5sZWZ0LmZsb2F0aW5nLmxhYmVsIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi51aS5sZWZ0LmFsaWduZWQuZmxvYXRpbmcubGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEuMmVtKTtcbn1cbi51aS5ib3R0b20uZmxvYXRpbmcubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxzIC5sYWJlbCxcbi51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5taW5pLmxhYmVscyAubGFiZWwsXG4udWkubWluaS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC42NDI4NTcxNHJlbTtcbn1cbi51aS50aW55LmxhYmVscyAubGFiZWwsXG4udWkudGlueS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43MTQyODU3MXJlbTtcbn1cbi51aS5zbWFsbC5sYWJlbHMgLmxhYmVsLFxuLnVpLnNtYWxsLmxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLmxhcmdlLmxhYmVscyAubGFiZWwsXG4udWkubGFyZ2UubGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkuYmlnLmxhYmVscyAubGFiZWwsXG4udWkuYmlnLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UubGFiZWxzIC5sYWJlbCxcbi51aS5odWdlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUubGFiZWxzIC5sYWJlbCxcbi51aS5tYXNzaXZlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExpc3RcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTGlzdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMaXN0ICovXG4vKiBMaXN0IEl0ZW0gKi9cbi8qIFN1YiBMaXN0ICovXG4vKiBTdWIgTGlzdCBJdGVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEljb24gKi9cbi8qIEltYWdlICovXG4vKiBDb250ZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBMaW5rICovXG4vKiBIZWFkZXIgTGluayAqL1xuLyogTGlua2VkIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZsb2F0ICovXG4vKiBIb3Jpem9udGFsICovXG4vKiBJbnZlcnRlZCAqL1xuLyogTGluayBMaXN0ICovXG4vKiBJbnZlcnRlZCBMaW5rIExpc3QgKi9cbi8qIFNlbGVjdGlvbiBMaXN0ICovXG4vKiBTZWxlY3Rpb24gTGlzdCBTdGF0ZXMgKi9cbi8qIEludmVydGVkIFNlbGVjdGlvbiBMaXN0ICovXG4vKiBBbmltYXRlZCBMaXN0ICovXG4vKiBCdWxsZXRlZCAqL1xuLyogSG9yaXpvbnRhbCBCdWxsZXRzICovXG4vKiBPcmRlcmVkIExpc3QgKi9cbi8qIEhvcml6b250YWwgT3JkZXJlZCAqL1xuLyogRGl2aWRlZCAqL1xuLyogRGl2aWRlZCBIb3Jpem9udGFsICovXG4vKiBEaXZpZGVkICovXG4vKiBEaXZpZGVkIEhvcml6b250YWwgKi9cbi8qIFJlbGF4ZWQgKi9cbi8qIFZlcnkgUmVsYXhlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIExpc3RcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG51bC51aS5saXN0LFxub2wudWkubGlzdCxcbi51aS5saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwIDA7XG59XG51bC51aS5saXN0OmZpcnN0LWNoaWxkLFxub2wudWkubGlzdDpmaXJzdC1jaGlsZCxcbi51aS5saXN0OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG51bC51aS5saXN0Omxhc3QtY2hpbGQsXG5vbC51aS5saXN0Omxhc3QtY2hpbGQsXG4udWkubGlzdDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExpc3QgSXRlbSAqL1xudWwudWkubGlzdCBsaSxcbm9sLnVpLmxpc3QgbGksXG4udWkubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBwYWRkaW5nOiAwLjIxNDI4NTcxZW0gMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTRlbTtcbn1cbnVsLnVpLmxpc3QgPiBsaTpmaXJzdC1jaGlsZDo6YWZ0ZXIsXG5vbC51aS5saXN0ID4gbGk6Zmlyc3QtY2hpbGQ6OmFmdGVyLFxuLnVpLmxpc3QgPiAubGlzdCA+IC5pdGVtOjphZnRlcixcbi51aS5saXN0ID4gLml0ZW06OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbnVsLnVpLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmZpcnN0LWNoaWxkLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbnVsLnVpLmxpc3QgbGk6bGFzdC1jaGlsZCxcbm9sLnVpLmxpc3QgbGk6bGFzdC1jaGlsZCxcbi51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLyogQ2hpbGQgTGlzdCAqL1xudWwudWkubGlzdCB1bCxcbm9sLnVpLmxpc3Qgb2wsXG4udWkubGlzdCAubGlzdDpub3QoLmljb24pIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NWVtIDAgMC4yNWVtIDAuNWVtO1xufVxuLyogQ2hpbGQgSXRlbSAqL1xudWwudWkubGlzdCB1bCBsaSxcbm9sLnVpLmxpc3Qgb2wgbGksXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZzogMC4xNDI4NTcxNGVtIDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLyogSWNvbiAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5saXN0ID4gLml0ZW0gPiBpLmljb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBtaW4td2lkdGg6IDEuNTVlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpub3QoLmxvYWRpbmcpLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpub3QoLmxvYWRpbmcpIHtcbiAgcGFkZGluZy1yaWdodDogMC4yODU3MTQyOWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4vKiBJbWFnZSAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2Uge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpIHtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogQ29udGVudCAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTRlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAwIDAgMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaS5sb2FkaW5nLmljb24gKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiBpLmxvYWRpbmcuaWNvbiArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuMjg1NzE0Mjg1NzE0Mjg1N2VtICsgMC41ZW0pO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSArIC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSArIC5jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCA+IC5saXN0LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50ID4gLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLyogSGVhZGVyICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4udWkubGlzdCA+IC5pdGVtIC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uLFxuLnVpLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi8qIENoaWxkIExpbmsgKi9cbi51aS5saXN0ID4gLml0ZW0gYSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0gYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIExpbmtpbmcgSXRlbSAqL1xuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW0sXG4udWkubGlzdCA+IGEuaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM0MTgzYzQ7XG59XG4udWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3Zlcixcbi51aS5saXN0ID4gYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBMaW5rZWQgSXRlbSBJY29ucyAqL1xuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW0gPiBpLmljb25zLFxuLnVpLmxpc3QgPiBhLml0ZW0gPiBpLmljb25zLFxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW0gPiBpLmljb24sXG4udWkubGlzdCA+IGEuaXRlbSA+IGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4vKiBIZWFkZXIgTGluayAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhLmhlYWRlcixcbi51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNDE4M2M0ICFpbXBvcnRhbnQ7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gYS5oZWFkZXI6aG92ZXIsXG4udWkubGlzdCA+IC5pdGVtID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZiAhaW1wb3J0YW50O1xufVxuLyogRmxvYXRlZCBDb250ZW50ICovXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmxpc3Qge1xuICBmbG9hdDogbGVmdDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmxpc3Qge1xuICBmbG9hdDogcmlnaHQ7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4udWkubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDFlbSAwIDA7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtLFxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgcGFkZGluZzogMC4yMTQyODU3MWVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSG9yaXpvbnRhbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaG9yaXpvbnRhbC5saXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG59XG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkuaG9yaXpvbnRhbC5saXN0Om5vdCguY2VsbGVkKSA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0Om5vdCguaWNvbikge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiBQYWRkaW5nIG9uIGFsbCBlbGVtZW50cyAqL1xuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMC4yMTQyODU3MWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuLyogSG9yaXpvbnRhbCBMaXN0ICovXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkuaG9yaXpvbnRhbC5saXN0IC5pdGVtID4gaS5pY29ucyA+IGkuaWNvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwLjI1ZW0gMCAwO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiBpLmljb24gKyAuY29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4udWkubGlzdCA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4zKSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtOmhvdmVyID4gLmljb25zLFxuLnVpLmxpc3QgPiBhLml0ZW06aG92ZXIgPiAuaWNvbnMsXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3ZlciA+IGkuaWNvbixcbi51aS5saXN0ID4gYS5pdGVtOmhvdmVyID4gaS5pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSA+IGkuaWNvbixcbi51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtID4gaS5pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gLmhlYWRlcixcbi51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbixcbi51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbi51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4vKiBJdGVtIExpbmsgKi9cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBMaW5raW5nIENvbnRlbnQgKi9cbi51aS5pbnZlcnRlZC5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmYgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGlzdFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSAuaW1hZ2UsXG4udWkubGlzdFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSAuY29udGVudCxcbi51aS5saXN0IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbn1cbi51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5pbWFnZSxcbi51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5jb250ZW50LFxuLnVpLmxpc3QgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuLnVpLmxpc3RbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0gLmltYWdlLFxuLnVpLmxpc3RbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0gLmNvbnRlbnQsXG4udWkubGlzdCBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxpbmsubGlzdCAuaXRlbSxcbi51aS5saW5rLmxpc3QgYS5pdGVtLFxuLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgdHJhbnNpdGlvbjogMC4xcyBjb2xvciBlYXNlO1xufVxuLnVpLnVpLmxpbmsubGlzdCBhLml0ZW06aG92ZXIsXG4udWkudWkubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnVpLnVpLmxpbmsubGlzdCBhLml0ZW06YWN0aXZlLFxuLnVpLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG4udWkudWkubGluay5saXN0IC5hY3RpdmUuaXRlbSxcbi51aS51aS5saW5rLmxpc3QgLmFjdGl2ZS5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW06aG92ZXIsXG4udWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtOmFjdGl2ZSxcbi51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgLmFjdGl2ZS5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTZWxlY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNWVtO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICB0cmFuc2l0aW9uOiAwLjFzIGNvbG9yIGVhc2UsIDAuMXMgcGFkZGluZy1sZWZ0IGVhc2UsIDAuMXMgYmFja2dyb3VuZC1jb2xvciBlYXNlO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06aG92ZXIsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTphY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0uYWN0aXZlLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogQ2VsbGVkIC8gRGl2aWRlZCBTZWxlY3Rpb24gTGlzdCAqL1xuLnVpLmNlbGxlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbmltYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYW5pbWF0ZWQubGlzdCA+IC5pdGVtIHtcbiAgdHJhbnNpdGlvbjogMC4yNXMgY29sb3IgZWFzZSAwLjFzLCAwLjI1cyBwYWRkaW5nLWxlZnQgZWFzZSAwLjFzLCAwLjI1cyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgMC4xcztcbn1cbi51aS5hbmltYXRlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpob3ZlciB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZpdHRlZC5saXN0Om5vdCguc2VsZWN0aW9uKSAubGlzdCA+IC5pdGVtLFxuLnVpLmZpdHRlZC5saXN0Om5vdCguc2VsZWN0aW9uKSA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnVpLmZpdHRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmZpdHRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQnVsbGV0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xudWwudWkubGlzdCxcbi51aS5idWxsZXRlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG51bC51aS5saXN0IGxpLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG51bC51aS5saXN0IGxpOjpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gIGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxudWwudWkubGlzdCBsaTo6YmVmb3JlLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiBhLml0ZW06OmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0ID4gYS5pdGVtOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbnVsLnVpLmxpc3QgdWwsXG4udWkuYnVsbGV0ZWQubGlzdCAubGlzdDpub3QoLmljb24pIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLyogSG9yaXpvbnRhbCBCdWxsZXRlZCAqL1xudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0LFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0IGxpLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNzVyZW07XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG4udWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBPcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbm9sLnVpLmxpc3QsXG4udWkub3JkZXJlZC5saXN0LFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdDpub3QoLmljb24pLFxub2wudWkubGlzdCBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5vbC51aS5saXN0IGxpLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5vbC51aS5saXN0IGxpOjpiZWZvcmUsXG4udWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDtcbiAgY29udGVudDogY291bnRlcnMob3JkZXJlZCwgXCIuXCIpIFwiIFwiO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG9wYWNpdHk6IDAuODtcbn1cbm9sLnVpLmludmVydGVkLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5vcmRlcmVkLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLyogVmFsdWUgKi9cbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtW2RhdGEtdmFsdWVdOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdmFsdWUpO1xufVxub2wudWkubGlzdCBsaVt2YWx1ZV06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIodmFsdWUpO1xufVxuLyogQ2hpbGQgTGlzdHMgKi9cbm9sLnVpLmxpc3Qgb2wsXG4udWkub3JkZXJlZC5saXN0IC5saXN0Om5vdCguaWNvbikge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxub2wudWkubGlzdCBvbCBsaTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTJlbTtcbn1cbi8qIEhvcml6b250YWwgT3JkZXJlZCAqL1xub2wudWkuaG9yaXpvbnRhbC5saXN0LFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5vbC51aS5ob3Jpem9udGFsLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4udWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbn1cbi8qIFN1ZmZpeGVkIE9yZGVyZWQgKi9cbm9sLnVpLnN1ZmZpeGVkLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5zdWZmaXhlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLnN1ZmZpeGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVycyhvcmRlcmVkLCBcIi5cIikgXCIuXCI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkZWQubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZGl2aWRlZC5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmRpdmlkZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBTdWIgTWVudSAqL1xuLnVpLmRpdmlkZWQubGlzdDpub3QoLmhvcml6b250YWwpIC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG4vKiBEaXZpZGVkIGJ1bGxldGVkICovXG4udWkuZGl2aWRlZC5idWxsZXRlZC5saXN0Om5vdCguaG9yaXpvbnRhbCksXG4udWkuZGl2aWRlZC5idWxsZXRlZC5saXN0IC5saXN0Om5vdCguaWNvbikge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOm5vdCguaG9yaXpvbnRhbCkge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4vKiBEaXZpZGVkIE9yZGVyZWQgKi9cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdDpub3QoLmljb24pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4vKiBEaXZpZGVkIFNlbGVjdGlvbiAqL1xuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiBEaXZpZGVkIGhvcml6b250YWwgKi9cbi51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjY7XG59XG4udWkuaG9yaXpvbnRhbC5kaXZpZGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5kaXZpZGVkLmludmVydGVkLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLmludmVydGVkLmxpc3QgPiAubGlzdCxcbi51aS5kaXZpZGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDZWxsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmxpc3QgPiAubGlzdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMC4yMTQyODU3MWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS5jZWxsZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuLnVpLmNlbGxlZC5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLyogQ2VsbGVkIEJ1bGxldGVkICovXG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLml0ZW0gLmxpc3Q6bm90KC5pY29uKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi8qIENlbGxlZCBPcmRlcmVkICovXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdDpub3QoLmljb24pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cbi8qIENlbGxlZCBIb3Jpem9udGFsICovXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjY7XG59XG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5jZWxsZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5pbnZlcnRlZC5saXN0ID4gLmxpc3Qge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5jZWxsZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJlbGF4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJlbGF4ZWQubGlzdDpub3QoLmhvcml6b250YWwpID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLXRvcDogMC40Mjg1NzE0M2VtO1xufVxuLnVpLnJlbGF4ZWQubGlzdDpub3QoLmhvcml6b250YWwpID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjQyODU3MTQzZW07XG59XG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0IC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuLyogVmVyeSBSZWxheGVkICovXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy10b3A6IDAuODU3MTQyODZlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdDpub3QoLmhvcml6b250YWwpID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xufVxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpLFxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGlzdCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkubGlzdCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLm1pbmkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubWluaS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55Lmxpc3Qge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS50aW55Lmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnRpbnkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwubGlzdCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmxpc3Qge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5sYXJnZS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5sYXJnZS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmJpZy5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5iaWcuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5saXN0IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkuaHVnZS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5odWdlLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLnVpLm1hc3NpdmUuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubWFzc2l2ZS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTG9hZGVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExvYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFNvbWUgZ2xvYmFsIGxvYWRlciBzdHlsZXMgZGVmaW5lZCBpbiBzaXRlLnZhcmlhYmxlcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhbmRhcmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRXhhY3QgU2l6ZXMgKEF2b2lkcyBSb3VuZGluZyBFcnJvcnMpICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTG9hZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU3RhbmRhcmQgU2l6ZSAqL1xuLnVpLmxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuLyogU3RhdGljIFNoYXBlICovXG4udWkubG9hZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLyogQWN0aXZlIFNoYXBlICovXG4udWkubG9hZGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xufVxuLyogU3BlZWRzICovXG4udWkudWkuZmFzdC5sb2FkaW5nOjphZnRlcixcbi51aS51aS5mYXN0LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS5mYXN0LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLmZhc3QubG9hZGVyOjphZnRlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cbi51aS51aS5zbG93LmxvYWRpbmc6OmFmdGVyLFxuLnVpLnVpLnNsb3cubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnNsb3cubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkuc2xvdy5sb2FkZXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjlzO1xufVxuLyogQWN0aXZlIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBsb2FkZXIge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNob3cgaW5zaWRlIGFjdGl2ZSBkaW1tZXIgKi9cbi51aS5kaW1tZXIgPiAubG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBCbGFjayBEaW1tZXIgKi9cbi51aS5kaW1tZXIgPiAudWkubG9hZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5kaW1tZXIgPiAudWkubG9hZGVyOm5vdCguZWxhc3RpYyk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi8qIFdoaXRlIERpbW1lciAoSW52ZXJ0ZWQpICovXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLmxvYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5sb2FkZXI6bm90KC5lbGFzdGljKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgVGV4dFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWkudWkudGV4dC5sb2FkZXIge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW5kZXRlcm1pbmF0ZS5sb2FkZXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xufVxuLnVpLmxvYWRlci5hY3RpdmUsXG4udWkubG9hZGVyLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5sb2FkZXIuZGlzYWJsZWQsXG4udWkubG9hZGVyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubG9hZGVyIHtcbiAgd2lkdGg6IDIuMjg1NzE0MjlyZW07XG4gIGhlaWdodDogMi4yODU3MTQyOXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubG9hZGVyOjpiZWZvcmUsXG4udWkubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiAyLjI4NTcxNDI5cmVtO1xuICBoZWlnaHQ6IDIuMjg1NzE0MjlyZW07XG4gIG1hcmdpbjogMCAwIDAgLTEuMTQyODU3MTRyZW07XG59XG4udWkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDIuMjg1NzE0MjlyZW07XG4gIHBhZGRpbmctdG9wOiAzLjA3MTQyODU3cmVtO1xufVxuLnVpLm1pbmkubG9hZGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkubWluaS5sb2FkZXI6OmJlZm9yZSxcbi51aS5taW5pLmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDAgMCAwIC0wLjVyZW07XG59XG4udWkubWluaS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDEuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5sb2FkZXIge1xuICB3aWR0aDogMS4xNDI4NTcxNHJlbTtcbiAgaGVpZ2h0OiAxLjE0Mjg1NzE0cmVtO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS50aW55LmxvYWRlcjo6YmVmb3JlLFxuLnVpLnRpbnkubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiAxLjE0Mjg1NzE0cmVtO1xuICBoZWlnaHQ6IDEuMTQyODU3MTRyZW07XG4gIG1hcmdpbjogMCAwIDAgLTAuNTcxNDI4NTdyZW07XG59XG4udWkudGlueS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMS4xNDI4NTcxNHJlbTtcbiAgcGFkZGluZy10b3A6IDEuOTI4NTcxNDNyZW07XG59XG4udWkuc21hbGwubG9hZGVyIHtcbiAgd2lkdGg6IDEuNzE0Mjg1NzFyZW07XG4gIGhlaWdodDogMS43MTQyODU3MXJlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG4udWkuc21hbGwubG9hZGVyOjpiZWZvcmUsXG4udWkuc21hbGwubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiAxLjcxNDI4NTcxcmVtO1xuICBoZWlnaHQ6IDEuNzE0Mjg1NzFyZW07XG4gIG1hcmdpbjogMCAwIDAgLTAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDEuNzE0Mjg1NzFyZW07XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG59XG4udWkubGFyZ2UubG9hZGVyIHtcbiAgd2lkdGg6IDMuNDI4NTcxNDNyZW07XG4gIGhlaWdodDogMy40Mjg1NzE0M3JlbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkubGFyZ2UubG9hZGVyOjpiZWZvcmUsXG4udWkubGFyZ2UubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiAzLjQyODU3MTQzcmVtO1xuICBoZWlnaHQ6IDMuNDI4NTcxNDNyZW07XG4gIG1hcmdpbjogMCAwIDAgLTEuNzE0Mjg1NzFyZW07XG59XG4udWkubGFyZ2UudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDMuNDI4NTcxNDNyZW07XG4gIHBhZGRpbmctdG9wOiA0LjIxNDI4NTcxcmVtO1xufVxuLnVpLmJpZy5sb2FkZXIge1xuICB3aWR0aDogMy43MTQyODU3MXJlbTtcbiAgaGVpZ2h0OiAzLjcxNDI4NTcxcmVtO1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5iaWcubG9hZGVyOjpiZWZvcmUsXG4udWkuYmlnLmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMy43MTQyODU3MXJlbTtcbiAgaGVpZ2h0OiAzLjcxNDI4NTcxcmVtO1xuICBtYXJnaW46IDAgMCAwIC0xLjg1NzE0Mjg2cmVtO1xufVxuLnVpLmJpZy50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMy43MTQyODU3MXJlbTtcbiAgcGFkZGluZy10b3A6IDQuNXJlbTtcbn1cbi51aS5odWdlLmxvYWRlciB7XG4gIHdpZHRoOiA0LjE0Mjg1NzE0cmVtO1xuICBoZWlnaHQ6IDQuMTQyODU3MTRyZW07XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLmh1Z2UubG9hZGVyOjpiZWZvcmUsXG4udWkuaHVnZS5sb2FkZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDQuMTQyODU3MTRyZW07XG4gIGhlaWdodDogNC4xNDI4NTcxNHJlbTtcbiAgbWFyZ2luOiAwIDAgMCAtMi4wNzE0Mjg1N3JlbTtcbn1cbi51aS5odWdlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiA0LjE0Mjg1NzE0cmVtO1xuICBwYWRkaW5nLXRvcDogNC45Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmxvYWRlciB7XG4gIHdpZHRoOiA0LjU3MTQyODU3cmVtO1xuICBoZWlnaHQ6IDQuNTcxNDI4NTdyZW07XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLnVpLm1hc3NpdmUubG9hZGVyOjpiZWZvcmUsXG4udWkubWFzc2l2ZS5sb2FkZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDQuNTcxNDI4NTdyZW07XG4gIGhlaWdodDogNC41NzE0Mjg1N3JlbTtcbiAgbWFyZ2luOiAwIDAgMCAtMi4yODU3MTQyOXJlbTtcbn1cbi51aS5tYXNzaXZlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiA0LjU3MTQyODU3cmVtO1xuICBwYWRkaW5nLXRvcDogNS4zNTcxNDI4NnJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkucHJpbWFyeS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnByaW1hcnkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnByaW1hcnkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkucHJpbWFyeS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkucHJpbWFyeS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucHJpbWFyeS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5wcmltYXJ5LmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5wcmltYXJ5LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5wcmltYXJ5LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnByaW1hcnkubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS51aS5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnNlY29uZGFyeS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnNlY29uZGFyeS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnNlY29uZGFyeS5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuc2Vjb25kYXJ5LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5zZWNvbmRhcnkubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuc2Vjb25kYXJ5LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnVpLnJlZC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnJlZC5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkucmVkLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLnJlZC5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkucmVkLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5yZWQuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucmVkLmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5yZWQubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnJlZC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5yZWQubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnJlZC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucmVkLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5yZWQuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucmVkLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnJlZC5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucmVkLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkudWkub3JhbmdlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkub3JhbmdlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5vcmFuZ2UuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkub3JhbmdlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5vcmFuZ2UuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLm9yYW5nZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5vcmFuZ2UubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLm9yYW5nZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkub3JhbmdlLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLm9yYW5nZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbi51aS51aS55ZWxsb3cuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS55ZWxsb3cuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnllbGxvdy5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS55ZWxsb3cuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnllbGxvdy5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkueWVsbG93LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnllbGxvdy5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkueWVsbG93LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS55ZWxsb3cubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkueWVsbG93LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLnVpLm9saXZlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkub2xpdmUuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLm9saXZlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLm9saXZlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5vbGl2ZS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkub2xpdmUuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkub2xpdmUubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLm9saXZlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5vbGl2ZS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5vbGl2ZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNkOWU3Nzg7XG59XG4udWkudWkuZ3JlZW4uZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5ncmVlbi5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuZ3JlZW4uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkuZ3JlZW4uZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmdyZWVuLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5ncmVlbi5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5ncmVlbi5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuZ3JlZW4ubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmdyZWVuLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmdyZWVuLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4ubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4ubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbi51aS51aS50ZWFsLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudGVhbC5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkudGVhbC5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS50ZWFsLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS50ZWFsLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS50ZWFsLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnRlYWwubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnRlYWwubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnRlYWwubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudGVhbC5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGVhbC5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC50ZWFsLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC50ZWFsLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuLnVpLnVpLmJsdWUuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5ibHVlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5ibHVlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLmJsdWUuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmJsdWUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmJsdWUuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuYmx1ZS5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuYmx1ZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuYmx1ZS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5ibHVlLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJsdWUubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJsdWUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkudWkudmlvbGV0LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudmlvbGV0LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS52aW9sZXQuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkudmlvbGV0LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS52aW9sZXQuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnZpb2xldC5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS52aW9sZXQubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnZpb2xldC5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkudmlvbGV0LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnZpb2xldC5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC52aW9sZXQuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC52aW9sZXQubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC52aW9sZXQubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbi51aS51aS5wdXJwbGUuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5wdXJwbGUuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnB1cnBsZS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5wdXJwbGUuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnB1cnBsZS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucHVycGxlLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnB1cnBsZS5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkucHVycGxlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5wdXJwbGUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkucHVycGxlLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLnVpLnBpbmsuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5waW5rLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5waW5rLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLnBpbmsuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnBpbmsuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnBpbmsuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucGluay5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkucGluay5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkucGluay5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5waW5rLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5waW5rLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnBpbmsubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnBpbmsubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG4udWkudWkuYnJvd24uZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5icm93bi5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuYnJvd24uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkuYnJvd24uZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmJyb3duLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5icm93bi5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5icm93bi5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuYnJvd24ubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmJyb3duLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmJyb3duLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbi51aS51aS5ncmV5LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuZ3JleS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuZ3JleS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5ncmV5LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5ncmV5LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5ncmV5LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmdyZXkubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmdyZXkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmdyZXkubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuZ3JleS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ncmV5LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ncmV5LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLnVpLmJsYWNrLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuYmxhY2suYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmJsYWNrLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLmJsYWNrLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5ibGFjay5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuYmxhY2suZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuYmxhY2subG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmJsYWNrLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5ibGFjay5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5ibGFjay5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2suZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkudWkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmc6OmJlZm9yZSxcbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi51aS51aS51aS51aS5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOm5vdCguYmFzaWMpOjpiZWZvcmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5lbGFzdGljLmJhc2ljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuZWxhc3RpYy5iYXNpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS51aS51aS5kb3VibGUubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbmxpbmVcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlubGluZS5sb2FkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4udWkuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4udWkuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogQ2VudGVyZWQgSW5saW5lICovXG4udWkuY2VudGVyZWQuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4udWkuY2VudGVyZWQuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkudWkudWkudWkudWkudWkubG9hZGluZzo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkudWkudWkudWkudWkudWkubG9hZGluZzpub3QoLmRvdWJsZSk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmc6bm90KC5kb3VibGUpIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkudWkubG9hZGluZzpub3QoLmRvdWJsZSkgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRlcjpub3QoLmRvdWJsZSk6OmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5jYXJkOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLnNlZ21lbnRzOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLnNlZ21lbnQ6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuZm9ybTo6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmNhcmQ6bm90KC5kb3VibGUpOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLnNlZ21lbnRzOm5vdCguZG91YmxlKTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50Om5vdCguZG91YmxlKTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5mb3JtOm5vdCguZG91YmxlKTo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEVsYXN0aWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpbW1lciA+IC51aS5lbGFzdGljLmxvYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5lbGFzdGljLmxvYWRlciB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YWZ0ZXIsXG4udWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS5lbGFzdGljLmxvYWRlcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IGxvYWRlciAxcyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4yNywgMS4wNSwgMC45MiwgMC42MSk7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbn1cbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogZWxhc3RpYy1sb2FkZXIgMXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMjcsIDEuMDUsIDAuOTIsIDAuNjEpO1xuICAtbW96LWFuaW1hdGlvbjogY3VycmVudGNvbG9yLWVsYXN0aWMtbG9hZGVyIDFzIGluZmluaXRlIGN1YmljLWJlemllcigwLjI3LCAxLjA1LCAwLjkyLCAwLjYxKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5lbGFzdGljLmlubGluZS5sb2FkZXI6ZW1wdHkge1xuICBhbmltYXRpb246IGxvYWRlciA4cyBpbmZpbml0ZSBsaW5lYXI7XG59XG4udWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmFmdGVyLFxuLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkZXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNDVzO1xufVxuLnVpLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS5zbG93LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG59XG4udWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmFmdGVyLFxuLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkZXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjY2cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xufVxuLnVpLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS5mYXN0LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNjZzO1xufVxuQGtleWZyYW1lcyBlbGFzdGljLWxvYWRlciB7XG4gIDAlLFxuICAxJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDEuMSUsXG4gIDUwJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgMTAlLFxuICAzNS4xJSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgMTAuMSUsXG4gIDM1JSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgfVxuICA1MC4xJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGN1cnJlbnRjb2xvci1lbGFzdGljLWxvYWRlciB7XG4gIDAlLFxuICAxJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDEuMSUsXG4gIDUwJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuICAxMCUsXG4gIDM1LjElIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAxMC4xJSxcbiAgMzUlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbiAgNTAuMSUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFBsYWNlaG9sZGVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKiBLZXkgQ29udGVudCBTaXppbmcgKi9cbi8qIEludGVydmFsIGJldHdlZW4gY29uc2VjdXRpdmUgcGxhY2Vob2xkZXJzICovXG4vKiBSZXBlYXRlZCBQbGFjZWhvbGRlciAqL1xuLyogSW1hZ2UgKi9cbi8qIEhlYWRlciBJbWFnZSAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBHbG93IEdyYWRpZW50ICovXG4vKiBWYXJpYXRpb25zICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyU2hpbW1lciAycyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wOCkgMCwgcmdiYSgwLCAwLCAwLCAwLjE1KSAxNSUsIHJnYmEoMCwgMCwgMCwgMC4wOCkgMzAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMjAwcHggMTAwJTtcbiAgbWF4LXdpZHRoOiAzMHJlbTtcbn1cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXJTaGltbWVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjAwcHggMDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMjAwcHggMDtcbiAgfVxufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4xNXM7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IDAuNDVzO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xufVxuLnVpLnBsYWNlaG9sZGVyLFxuLnVpLnBsYWNlaG9sZGVyID4gOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjo6YWZ0ZXIsXG4udWkucGxhY2Vob2xkZXIgLmxpbmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5wbGFjZWhvbGRlci5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogSW1hZ2UgKi9cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2U6bm90KC5oZWFkZXIpOm5vdCgudWkpOm5vdCguaWNvbikge1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5zcXVhcmUuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiAxLzEgYXNwZWN0IHJhdGlvICovXG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5yZWN0YW5ndWxhci5pbWFnZTpub3QoLmhlYWRlcikge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQvMyBhc3BlY3QgcmF0aW8gKi9cbiAgcGFkZGluZy10b3A6IDc1JTtcbn1cbi8qIExpbmVzICovXG4udWkucGxhY2Vob2xkZXIgLmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG59XG4vKiBBbnkgTGluZXMgKi9cbi51aS5wbGFjZWhvbGRlciAubGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgaGVpZ2h0OiAwLjVlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLyogTGluZSBPdXRkZW50ICovXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDEpOjphZnRlciB7XG4gIHdpZHRoOiAwO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgyKTo6YWZ0ZXIge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgzKTo6YWZ0ZXIge1xuICB3aWR0aDogMTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCg0KTo6YWZ0ZXIge1xuICB3aWR0aDogMzUlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCg1KTo6YWZ0ZXIge1xuICB3aWR0aDogNjUlO1xufVxuLyogSGVhZGVyIEltYWdlICsgMiBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiBIZWFkZXIgTGluZSAxICYgMiAqL1xuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAwLjY0Mjg1NzE0ZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6OmFmdGVyIHtcbiAgaGVpZ2h0OiAwLjY0Mjg1NzE0ZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDAuNjQyODU3MTRlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOjphZnRlciB7XG4gIHdpZHRoOiAyMCU7XG59XG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpudGgtY2hpbGQoMik6OmFmdGVyIHtcbiAgd2lkdGg6IDYwJTtcbn1cbi8qIEltYWdlIEhlYWRlciAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmUge1xuICBtYXJnaW4tbGVmdDogM2VtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmU6OmJlZm9yZSB7XG4gIHdpZHRoOiAwLjcxNDI4NTcxcmVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC44NTcxNDI4NmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW4tbGVmdDogM2VtO1xufVxuLyogU3BhY2luZyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZSAubGluZTpmaXJzdC1jaGlsZCxcbi51aS5wbGFjZWhvbGRlciAucGFyYWdyYXBoIC5saW5lOmZpcnN0LWNoaWxkLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6Zmlyc3QtY2hpbGQge1xuICBoZWlnaHQ6IDAuMDFweDtcbn1cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSxcbi51aS5wbGFjZWhvbGRlciAucGFyYWdyYXBoOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxLjQyODU3MTQzZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogSW52ZXJ0ZWQgQ29udGVudCBMb2FkZXIgKi9cbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpIDE1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAzMCUpO1xufVxuLnVpLmludmVydGVkLnBsYWNlaG9sZGVyLFxuLnVpLmludmVydGVkLnBsYWNlaG9sZGVyID4gOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjo6YWZ0ZXIsXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmxpbmUsXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wbGFjZWhvbGRlciAuZnVsbC5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICB3aWR0aDogMDtcbn1cbi51aS5wbGFjZWhvbGRlciAudmVyeS5sb25nLmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkucGxhY2Vob2xkZXIgLmxvbmcubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgd2lkdGg6IDM1JTtcbn1cbi51aS5wbGFjZWhvbGRlciAubWVkaXVtLmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkucGxhY2Vob2xkZXIgLnNob3J0LmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gIHdpZHRoOiA2NSU7XG59XG4udWkucGxhY2Vob2xkZXIgLnZlcnkuc2hvcnQubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgd2lkdGg6IDgwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5wbGFjZWhvbGRlciB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSYWlsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUmFpbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENsb3NlICovXG4vKiBEaXZpZGluZyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYWlsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5yYWlsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnVpLmxlZnQucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIDJyZW0gMCAwO1xuICBtYXJnaW46IDAgMnJlbSAwIDA7XG59XG4udWkucmlnaHQucmFpbCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICBtYXJnaW46IDAgMCAwIDJyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludGVybmFsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGVmdC5pbnRlcm5hbC5yYWlsIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gIG1hcmdpbjogMCAwIDAgMnJlbTtcbn1cbi51aS5yaWdodC5pbnRlcm5hbC5yYWlsIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgMnJlbSAwIDA7XG4gIG1hcmdpbjogMCAycmVtIDAgMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpdmlkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRpbmcucmFpbCB7XG4gIHdpZHRoOiAzMDIuNXB4O1xufVxuLnVpLmxlZnQuZGl2aWRpbmcucmFpbCB7XG4gIHBhZGRpbmc6IDAgMi41cmVtIDAgMDtcbiAgbWFyZ2luOiAwIDIuNXJlbSAwIDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkucmlnaHQuZGl2aWRpbmcucmFpbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgcGFkZGluZzogMCAwIDAgMi41cmVtO1xuICBtYXJnaW46IDAgMCAwIDIuNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc3RhbmNlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2xvc2UucmFpbCB7XG4gIHdpZHRoOiBjYWxjKDMwMHB4ICsgMWVtKTtcbn1cbi51aS5jbG9zZS5sZWZ0LnJhaWwge1xuICBwYWRkaW5nOiAwIDFlbSAwIDA7XG4gIG1hcmdpbjogMCAxZW0gMCAwO1xufVxuLnVpLmNsb3NlLnJpZ2h0LnJhaWwge1xuICBwYWRkaW5nOiAwIDAgMCAxZW07XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuLnVpLnZlcnkuY2xvc2UucmFpbCB7XG4gIHdpZHRoOiBjYWxjKDMwMHB4ICsgMC41ZW0pO1xufVxuLnVpLnZlcnkuY2xvc2UubGVmdC5yYWlsIHtcbiAgcGFkZGluZzogMCAwLjVlbSAwIDA7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4udWkudmVyeS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMCAwIDAgMC41ZW07XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmF0dGFjaGVkLmxlZnQucmFpbCxcbi51aS5hdHRhY2hlZC5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yYWlsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkucmFpbCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnJhaWwge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwucmFpbCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5yYWlsIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5yYWlsIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UucmFpbCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnJhaWwge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmV2ZWFsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUmV2ZWFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVHlwZXMgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucmV2ZWFsIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi51aS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwLjFzO1xufVxuLnVpLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG59XG4vKiBNYWtlIHN1cmUgaG92ZXJlZCBlbGVtZW50IGlzIG9uIHRvcCBvZiBvdGhlciByZXZlYWwgKi9cbi51aS5hY3RpdmUucmV2ZWFsIC52aXNpYmxlLmNvbnRlbnQsXG4udWkucmV2ZWFsOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICB6LWluZGV4OiA0ICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2xpZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zbGlkZS5yZXZlYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLnNsaWRlLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlIDAuMXM7XG59XG4udWkuc2xpZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnJpZ2h0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50LFxuLnVpLnNsaWRlLnJpZ2h0LnJldmVhbDpob3ZlciA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUudXAuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5kb3duLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLmRvd24ucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLmRvd24uYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGYWRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmFkZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5mYWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLmZhZGUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE1vdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb3ZlLnJldmVhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWkubW92ZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSAwLjFzO1xufVxuLnVpLm1vdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUudXAuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkubW92ZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUuZG93bi5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLmRvd24ucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJvdGF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJvdGF0ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG59XG4udWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG59XG4udWkucm90YXRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDExMGRlZyk7XG59XG4udWkucm90YXRlLmxlZnQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLnVpLnJvdGF0ZS5sZWZ0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5sZWZ0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTEwZGVnKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5kaXNhYmxlZC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLmRpc2FibGVkLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uaGlkZGVuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5yZXZlYWwgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgei1pbmRleDogNTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS52aXNpYmxlLnJldmVhbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5zdGFudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW5zdGFudC5yZXZlYWwgPiAuY29udGVudCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNlZ21lbnRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWdtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWdlIEdyaWQgU2VnbWVudCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFBpbGVkICovXG4vKiBDaXJjdWxhciAqL1xuLyogU3RhY2tlZCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExvYWRpbmcgRGltbWVyICovXG4vKiBMb2FkaW5nIFNwaW5uZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUmFpc2VkICovXG4vKiBQYWRkZWQgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIENvbG9ycyAqL1xuLyogT3JkaW5hbGl0eSAqL1xuLyogUmVzaXphYmxlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2VnbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zZWdtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMDtcbiAgcGFkZGluZzogMWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5zZWdtZW50Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5zZWdtZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudmVydGljYWwuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIZWFkZXIgKi9cbi51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCA+IC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQuc2VnbWVudHMgLnNlZ21lbnQgPiAudWkuaGVhZGVyLFxuLnVpLmludmVydGVkLnNlZ21lbnQgPiAudWkuaGVhZGVyIC5zdWIuaGVhZGVyLFxuLnVpLmludmVydGVkLnNlZ21lbnQgPiAudWkuaGVhZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMYWJlbCAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5zZWdtZW50ID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5zZWdtZW50ID4gW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdCguYm90dG9tKSA+IFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4vKiBHcmlkICovXG4udWkucGFnZS5ncmlkLnNlZ21lbnQsXG4udWkuZ3JpZCA+IC5yb3cgPiAudWkuc2VnbWVudC5jb2x1bW4sXG4udWkuZ3JpZCA+IC51aS5zZWdtZW50LmNvbHVtbiB7XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyZW07XG59XG4udWkuZ3JpZC5zZWdtZW50IHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBUYWJsZSAqL1xuLnVpLmJhc2ljLnRhYmxlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGUuc2VnbWVudCB7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG59XG4vKiBUYWIgKi9cbi51aS5zZWdtZW50LnRhYjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQbGFjZWhvbGRlclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICBhbmltYXRpb246IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAxZW0gMWVtO1xuICBtaW4taGVpZ2h0OiAxOHJlbTtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDJweCAyNXB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjA1KSBpbnNldDtcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50LnRhYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudC50YWIuYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5idXR0b24sXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCB0ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmZpZWxkLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgdGV4dGFyZWEsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC51aS5pbnB1dCxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5idXR0b24ge1xuICBtYXgtd2lkdGg6IDE1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiAuYnV0dG9uLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiAuZmllbGQsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIHRleHRhcmVhLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiA+IC51aS5pbnB1dCB7XG4gIG1heC13aWR0aDogMTVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUgPiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIDAuMzU3MTQyODZyZW0gMCAwO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUGlsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBpbGVkLnNlZ21lbnRzLFxuLnVpLnBpbGVkLnNlZ21lbnQge1xuICBtYXJnaW46IDNlbSAwO1xuICBib3gtc2hhZG93OiBcIlwiO1xuICB6LWluZGV4OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5waWxlZC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5waWxlZC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnBpbGVkLnNlZ21lbnRzOjphZnRlcixcbi51aS5waWxlZC5zZWdtZW50czo6YmVmb3JlLFxuLnVpLnBpbGVkLnNlZ21lbnQ6OmFmdGVyLFxuLnVpLnBpbGVkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogXCJcIjtcbn1cbi51aS5pbnZlcnRlZC5waWxlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1NTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5waWxlZC5zZWdtZW50czo6YmVmb3JlLFxuLnVpLnBpbGVkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xLjJkZWcpO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0yO1xufVxuLnVpLnBpbGVkLnNlZ21lbnRzOjphZnRlcixcbi51aS5waWxlZC5zZWdtZW50OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEuMmRlZyk7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG59XG4vKiBQaWxlZCBBdHRhY2hlZCAqL1xuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5waWxlZC5zZWdtZW50IHtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnBpbGVkLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAqOmhhcyg+IC51aS5waWxlZC5zZWdtZW50KSB7XG4gICAgei1pbmRleDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU3RhY2tlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3RhY2tlZC5zZWdtZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNGVtO1xufVxuLnVpLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnRzOjphZnRlcixcbi51aS5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zcHg7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4udWkuc3RhY2tlZC5zZWdtZW50czo6YmVmb3JlLFxuLnVpLnN0YWNrZWQuc2VnbWVudDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFkZCBhZGRpdGlvbmFsIHBhZ2UgKi9cbi51aS50YWxsLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS50YWxsLnN0YWNrZWQuc2VnbWVudDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMDtcbn1cbi8qIEludmVydGVkICovXG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50cyxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuNSk7XG59XG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50czo6YmVmb3JlLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudDo6YmVmb3JlLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHM6OmFmdGVyLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBQYWRkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBhZGRlZC5zZWdtZW50IHtcbiAgcGFkZGluZzogMS41ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0uc2VnbWVudCB7XG4gIHBhZGRpbmc6IDNlbTtcbn1cbi8qIFBhZGRlZCB2ZXJ0aWNhbCAqL1xuLnVpLnBhZGRlZC5zZWdtZW50LnZlcnRpY2FsLnNlZ21lbnQsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udmVydGljYWwuc2VnbWVudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tcGFjdC5zZWdtZW50IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4vKiBDb21wYWN0IEdyb3VwICovXG4udWkuY29tcGFjdC5zZWdtZW50cyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLnVpLmNvbXBhY3Quc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc2VnbWVudHMgLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDEgYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2lyY3VsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNpcmN1bGFyLnNlZ21lbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJhaXNlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkucmFpc2VkLnNlZ21lbnRzLFxuLnVpLnVpLnJhaXNlZC5zZWdtZW50IHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudWkuaW52ZXJ0ZWQucmFpc2VkLnNlZ21lbnRzLFxuLnVpLnVpLmludmVydGVkLnJhaXNlZC5zZWdtZW50IHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjEpLCAwIDJweCAxMHB4IDAgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR3JvdXAgKi9cbi51aS5zZWdtZW50cyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLnNlZ21lbnRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogTmVzdGVkIFNlZ21lbnQgKi9cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VnbWVudHM6bm90KC5ob3Jpem9udGFsKSA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4vKiBCb3R0b20gKi9cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggLTFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogT25seSAqL1xuLnVpLnNlZ21lbnRzOm5vdCguaG9yaXpvbnRhbCkgPiAuc2VnbWVudDpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIE5lc3RlZCBHcm91cCAqL1xuLnVpLnNlZ21lbnRzID4gLnVpLnNlZ21lbnRzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMXJlbTtcbn1cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuc2VnbWVudHMgPiAuc2VnbWVudCArIC5zZWdtZW50czpub3QoLmhvcml6b250YWwpIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qIEhvcml6b250YWwgR3JvdXAgKi9cbi51aS5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLndyYXBwaW5nLmhvcml6b250YWwuc2VnbWVudHMsXG4udWkuc3RhY2thYmxlLmhvcml6b250YWwuc2VnbWVudHMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4vKiBOZXN0ZWQgSG9yaXpvbnRhbCBHcm91cCAqL1xuLnVpLnNlZ21lbnRzID4gLmhvcml6b250YWwuc2VnbWVudHMge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogSG9yaXpvbnRhbCBTZWdtZW50ICovXG4udWkuaG9yaXpvbnRhbC5zZWdtZW50czpub3QoLmNvbXBhY3QpID4gLnNlZ21lbnQ6bm90KC5jb21wYWN0KSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtbXMtZmxleDogMSAxIDA7XG59XG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogQm9yZGVyIEZpeGVzICovXG4udWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuaG9yaXpvbnRhbC5zZWdtZW50czpub3QoLnN0YWNrYWJsZSk6bm90KC53cmFwcGluZykgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xufVxuLyogRXF1YWwgV2lkdGggKi9cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ob3Jpem9udGFsLnNlZ21lbnRzID4gLnNlZ21lbnQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpc2FibGVkLnNlZ21lbnRzLFxuLnVpLmRpc2FibGVkLnNlZ21lbnQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubG9hZGluZy5zZWdtZW50cyxcbi51aS5sb2FkaW5nLnNlZ21lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICBtaW4taGVpZ2h0OiA0LjVlbTtcbn1cbi51aS5sb2FkaW5nLnNlZ21lbnRzOjpiZWZvcmUsXG4udWkubG9hZGluZy5zZWdtZW50OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB6LWluZGV4OiAxMDA7XG59XG4udWkubG9hZGluZy5zZWdtZW50czo6YWZ0ZXIsXG4udWkubG9hZGluZy5zZWdtZW50OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMS41ZW0gMCAwIC0xLjVlbTtcbiAgd2lkdGg6IDNlbTtcbiAgaGVpZ2h0OiAzZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYmFzaWMuc2VnbWVudCxcbi51aS5zZWdtZW50cyAudWkuYmFzaWMuc2VnbWVudCxcbi51aS5iYXNpYy5zZWdtZW50cyB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2xlYXJpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNsZWFyaW5nLnNlZ21lbnQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS51aS5yZWQuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGIyODI4O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLnJlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQucmVkLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkudWkudWkudWkub3JhbmdlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2YyNzExYztcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2Uuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLm9yYW5nZS5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLnVpLnVpLnVpLnllbGxvdy5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmYmJkMDg7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC55ZWxsb3cuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS51aS51aS51aS51aS5vbGl2ZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNiNWNjMTg7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQub2xpdmUuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLm9saXZlLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICNiNWNjMTg7XG59XG4udWkudWkudWkudWkudWkuZ3JlZW4uc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjFiYTQ1O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5ncmVlbi5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLnVpLnVpLnVpLnRlYWwuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDBiNWFkO1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLnRlYWwuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLnRlYWwuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS51aS51aS51aS51aS5ibHVlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzIxODVkMDtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5ibHVlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5ibHVlLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkudWkudWkudWkudmlvbGV0LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzY0MzVjOTtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC52aW9sZXQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLnZpb2xldC5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnVpLnVpLnVpLnB1cnBsZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNhMzMzYzg7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5wdXJwbGUuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogI2EzMzNjODtcbn1cbi51aS51aS51aS51aS51aS5waW5rLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2UwMzk5Nztcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5waW5rLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5waW5rLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkudWkudWkudWkuYnJvd24uc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYTU2NzNmO1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLmJyb3duLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5icm93bi5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLnVpLnVpLnVpLmdyZXkuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzY3Njc2O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZXkuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLmdyZXkuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS51aS51aS51aS5ibGFjay5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMxYjFjMWQ7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQuYmxhY2suc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLmJsYWNrLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnNlZ21lbnQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGVkLnNlZ21lbnQsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLnNlZ21lbnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5zZWdtZW50cyxcbi51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmludmVydGVkLnNlZ21lbnQsXG4udWkucHJpbWFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIE5lc3RlZCAqL1xuLnVpLmludmVydGVkLnNlZ21lbnQgLnNlZ21lbnQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbnZlcnRlZC5zZWdtZW50IC5pbnZlcnRlZC5zZWdtZW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEF0dGFjaGVkICovXG4udWkudWkuaW52ZXJ0ZWQuYXR0YWNoZWQuc2VnbWVudCB7XG4gIGJvcmRlci1jb2xvcjogIzU1NTtcbn1cbi8qIExvYWRpbmcgKi9cbi51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnRzLFxuLnVpLmludmVydGVkLmxvYWRpbmcuc2VnbWVudCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmxvYWRpbmcuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEVtcGhhc2lzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2Vjb25kYXJ5ICovXG4udWkuc2Vjb25kYXJ5LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogIzRjNGY1MiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAxMDAlKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkudGVydGlhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICM3MTc1NzkgbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAxMDAlKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNaWRkbGUgKi9cbi51aS5hdHRhY2hlZC5zZWdtZW50IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMCAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC5iYXNpYykge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLmF0dGFjaGVkOm5vdCgubWVzc2FnZSk6bm90KC50ZXh0KSArIC51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0pOm5vdChbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0pIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi8qIFRvcCAqL1xuLnVpLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLnRhYi5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4vKiBCb3R0b20gKi9cbi51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggLTFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnRhYi5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uc2VnbWVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLnNlYW1sZXNzLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdCguYm90dG9tKTpub3QoW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdKTpub3QoW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0pIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi51aS5zZWFtbGVzcy5hdHRhY2hlZC5zZWdtZW50LnRvcCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuc2VhbWxlc3MuYXR0YWNoZWQuc2VnbWVudC5ib3R0b20ge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLnNlYW1sZXNzLmF0dGFjaGVkLnNlZ21lbnRbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXSB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS5zZWFtbGVzcy5hdHRhY2hlZC5zZWdtZW50W2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml0dGVkLnNlZ21lbnQ6bm90KC5ob3Jpem9udGFsbHkpIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnVpLmZpdHRlZC5zZWdtZW50Om5vdCgudmVydGljYWxseSkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxMS4yNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTEuMjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogNy41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDcuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudCB7XG4gICAgbWF4LWhlaWdodDogMTVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50Lmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDMwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LmxvbmcucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDMwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNDVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA0NWVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydCB7XG4gICAgbWF4LWhlaWdodDogMTMuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTMuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDllbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgIG1heC1oZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzNmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDU0ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogNTRlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDE4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiAxMmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxMmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudCB7XG4gICAgbWF4LWhlaWdodDogMjRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDI0ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50Lmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDQ4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LmxvbmcucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDQ4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNzJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA3MmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDIyLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDIyLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogMTVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgIG1heC1oZWlnaHQ6IDMwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA2MGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA2MGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDkwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogOTBlbTtcbiAgfVxufVxuLnVpLnJlc2l6YWJsZS5zY3JvbGxpbmcuc2VnbWVudCB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLm1pbmkuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnRpbnkuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5zbWFsbC5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmxhcmdlLnNlZ21lbnQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmJpZy5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2Uuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuaHVnZS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkubWFzc2l2ZS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFN0ZXBcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIExvYWQgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RlcFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uICovXG4vKiBUaXRsZSAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIEFycm93ICovXG4vKiBNb2JpbGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFZlcnRpY2FsICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ2lyY3VsYXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb21wbGV0ZWQgKi9cbi8qIEhvdmVyICovXG4vKiBEb3duICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSArIEhvdmVyICovXG4vKiBEaXNhYmxlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQbHVyYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbjogMWVtIDA7XG4gIGJhY2tncm91bmQ6IFwiXCI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4vKiBGaXJzdCBTdGVwcyAqL1xuLnVpLnN0ZXBzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qIExhc3QgU3RlcHMgKi9cbi51aS5zdGVwczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFNpbmd1bGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwO1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG59XG4vKiBBcnJvdyAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB3aWR0aDogMS4xNDI4NTcxNGVtO1xuICBoZWlnaHQ6IDEuMTQyODU3MTRlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKC00NWRlZyk7XG59XG4vKiBGaXJzdCBTdGVwICovXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi8qIExhc3QgU3RlcCAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIE9ubHkgU3RlcCAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaXRsZSAqL1xuLnVpLnN0ZXBzIC5zdGVwIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAudGl0bGUge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIERlc2NyaXB0aW9uICovXG4udWkuc3RlcHMgLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLmRlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuc3RlcHMgLnN0ZXAgLnRpdGxlIH4gLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xufVxuLyogSWNvbiAqL1xuLnVpLnN0ZXBzIC5zdGVwID4gaS5pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIG1hcmdpbjogMCAxcmVtIDAgMDtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbixcbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbiB+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4vKiBIb3Jpem9udGFsIEljb24gKi9cbi51aS5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCA+IGkuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogTGluayAqL1xuLnVpLnN0ZXBzIC5saW5rLnN0ZXAsXG4udWkuc3RlcHMgYS5zdGVwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmNpcmN1bGFyLnN0ZXBzIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgaGVpZ2h0OiAycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMi4yZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXA6OmJlZm9yZSB7XG4gIGxlZnQ6IC0yLjJlbTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcDo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKCgtMi4yZW0gKyAwLjk1ZW0pIC0gMC4zZW0pO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkOjphZnRlciB7XG4gIGxlZnQ6IGNhbGMoLTIuMmVtICsgKCgyLjJlbSAvIDIpIC8gMikgKyAoMnB4IC8gMikpO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwOmxhc3QtY2hpbGQge1xuICBmbGV4OiAwO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogLTEuNWVtO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwIC5jb250ZW50LmNlbnRlci5hbGlnbmVkIHtcbiAgbWFyZ2luLXRvcDogLTAuNjVlbTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCAuY29udGVudC5jZW50ZXIuYWxpZ25lZCAudGl0bGUge1xuICBwYWRkaW5nOiAwIDAuNWVtO1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwIC5jb250ZW50LmJvdHRvbS5hbGlnbmVkIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAgLmNvbnRlbnQ6bm90KC5hbGlnbmVkKSAudGl0bGUgKyAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSBhLnN0ZXA6OmJlZm9yZSxcbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSBhLnN0ZXA6OmFmdGVyLFxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIGEuc3RlcCAuY29udGVudCxcbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5saW5rIC5jb250ZW50LFxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmxpbms6OmJlZm9yZSxcbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5saW5rOjphZnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5jaXJjdWxhci5zdGVwcyAuc3RlcCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGhlaWdodDogMi4yZW07XG4gIHdpZHRoOiAyLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBoZWlnaHQ6IDAuOTVlbTtcbiAgd2lkdGg6IDAuOTVlbTtcbn1cbi51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbn1cbi51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLnRpdGxlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIlxcZTgwMFwiO1xuICBmb250LWZhbWlseTogU3RlcDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXA6bGFzdC1jaGlsZDpoYXMoLmNvbnRlbnQpIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcDpsYXN0LWNoaWxkOmhhcyguY2VudGVyLmFsaWduZWQuY29udGVudCkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBPcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkub3JkZXJlZC5zdGVwcyB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcDo6YmVmb3JlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWQpO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkub3JkZXJlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICBsaW5lLWhlaWdodDogY2FsYygyLjJlbSAtIDJweCk7XG59XG4udWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4udWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcCA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBBcnJvdyAqL1xuLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5yaWdodC52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC00NWRlZyk7XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLmFjdGl2ZS5zdGVwOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIENpcmN1bGFyIFN0ZXAgKi9cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcDo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKCgyLjJlbSAvICgyLjIgKiAyKSkgKyAycHgpO1xuICB0b3A6IGNhbGMoKDIuMmVtIC8gKDIuMiAqIDIpKSArIDJweCk7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXAgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDMuNWVtO1xufVxuLnVpLmNpcmN1bGFyLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLWJvdHRvbTogM2VtO1xufVxuLnVpLmNpcmN1bGFyLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOm5vdCg6bGFzdC1jaGlsZCkgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0b3A6IDIuMmVtO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGNhbGMoMi4yZW0gLyAyKTtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKCgyLjJlbSAvICgyLjIgKiAyKSkgKyAoMnB4IC0gKDJweCAvIDIpKSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS1cbiAgICBSZXNwb25zaXZlXG4tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNb2JpbGUgKERlZmF1bHQpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikgLnN0ZXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xuICB9XG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLyogQXJyb3cgKi9cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gICAgdG9wOiB1bnNldDtcbiAgICBib3R0b206IC0xLjE0Mjg1NzE0ZW07XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5hY3RpdmUuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBDb250ZW50ICovXG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcCAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC8qIEljb24gKi9cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpOm5vdCguY2lyY3VsYXIpIC5zdGVwID4gaS5pY29uLFxuICAudWkub3JkZXJlZC5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTGluayBIb3ZlciAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6aG92ZXIsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogTGluayBEb3duICovXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLmxpbmsuc3RlcDphY3RpdmU6OmFmdGVyLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6YWN0aXZlLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIGEuc3RlcDphY3RpdmU6OmFmdGVyLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIGEuc3RlcDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLyogQWN0aXZlICovXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAuYWN0aXZlIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZSAudGl0bGUge1xuICBjb2xvcjogIzQxODNjNDtcbn1cbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnN0ZXBzIC5hY3RpdmUuc3RlcCBpLmljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIEFjdGl2ZSBBcnJvdyAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5hY3RpdmUuc3RlcDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5hY3RpdmUuc3RlcDpob3Zlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSBhLmFjdGl2ZS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSBhLmFjdGl2ZS5zdGVwOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIENvbXBsZXRlZCAqL1xuLnVpLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi8qIERpc2FibGVkICovXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLmRpc2FibGVkLnN0ZXAge1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwIC50aXRsZSxcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLmRpc2FibGVkLnN0ZXAge1xuICBjdXJzb3I6IGF1dG87XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLmRpc2FibGVkLnN0ZXA6OmJlZm9yZSxcbi51aS5jaXJjdWxhci5zdGVwcyAuZGlzYWJsZWQuc3RlcDo6YWZ0ZXIge1xuICBjdXJzb3I6IGF1dG87XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRhYmxldCBPciBCZWxvdyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwczpub3QoLmNpcmN1bGFyKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAvKiBTdGVwcyAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIC8qIEFycm93ICovXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gICAgdG9wOiB1bnNldDtcbiAgICBib3R0b206IC0xLjE0Mjg1NzE0ZW07XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgLyogQ29udGVudCAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcCAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC8qIEljb24gKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXAgPiBpLmljb24sXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLnN0ZXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVG9wICovXG4udWkuYXR0YWNoZWQuc3RlcHM6bm90KC5jaXJjdWxhcikge1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgLTFweCAwO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuYXR0YWNoZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwO1xufVxuLnVpLmF0dGFjaGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLyogQm90dG9tICovXG4udWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIHtcbiAgbWFyZ2luOiAwIC0xcHggMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXZlbmx5IERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm9uZS5zdGVwcyxcbi51aS50d28uc3RlcHMsXG4udWkudGhyZWUuc3RlcHMsXG4udWkuZm91ci5zdGVwcyxcbi51aS5maXZlLnN0ZXBzLFxuLnVpLnNpeC5zdGVwcyxcbi51aS5zZXZlbi5zdGVwcyxcbi51aS5laWdodC5zdGVwcyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm9uZS5zdGVwcyA+IC5zdGVwLFxuLnVpLnR3by5zdGVwcyA+IC5zdGVwLFxuLnVpLnRocmVlLnN0ZXBzID4gLnN0ZXAsXG4udWkuZm91ci5zdGVwcyA+IC5zdGVwLFxuLnVpLmZpdmUuc3RlcHMgPiAuc3RlcCxcbi51aS5zaXguc3RlcHMgPiAuc3RlcCxcbi51aS5zZXZlbi5zdGVwcyA+IC5zdGVwLFxuLnVpLmVpZ2h0LnN0ZXBzID4gLnN0ZXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi51aS5vbmUuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnR3by5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG4udWkuZm91ci5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5maXZlLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnNpeC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG4udWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTIuNSU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3RlcHMgLnN0ZXAsXG4udWkuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLnN0ZXBzIC5zdGVwLFxuLnVpLm1pbmkuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5taW5pLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAwLjc4NTcxNDI5cmVtIDA7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMDtcbn1cbi51aS50aW55LnN0ZXBzIC5zdGVwLFxuLnVpLnRpbnkuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS50aW55LmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAwLjg1NzE0Mjg2cmVtIDA7XG4gIHBhZGRpbmc6IDAuODU3MTQyODZyZW0gMDtcbn1cbi51aS5zbWFsbC5zdGVwcyAuc3RlcCxcbi51aS5zbWFsbC5zdGVwIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnNtYWxsLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAwLjkyODU3MTQzcmVtIDA7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNyZW0gMDtcbn1cbi51aS5sYXJnZS5zdGVwcyAuc3RlcCxcbi51aS5sYXJnZS5zdGVwIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmxhcmdlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAxLjE0Mjg1NzE0cmVtIDA7XG4gIHBhZGRpbmc6IDEuMTQyODU3MTRyZW0gMDtcbn1cbi51aS5iaWcuc3RlcHMgLnN0ZXAsXG4udWkuYmlnLnN0ZXAge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuYmlnLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAxLjI4NTcxNDI5cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjg1NzE0MjlyZW0gMDtcbn1cbi51aS5odWdlLnN0ZXBzIC5zdGVwLFxuLnVpLmh1Z2Uuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5odWdlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAxLjQyODU3MTQzcmVtIDA7XG4gIHBhZGRpbmc6IDEuNDI4NTcxNDNyZW0gMDtcbn1cbi51aS5tYXNzaXZlLnN0ZXBzIC5zdGVwLFxuLnVpLm1hc3NpdmUuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi51aS5tYXNzaXZlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luOiAxLjcxNDI4NTcxcmVtIDA7XG4gIHBhZGRpbmc6IDEuNzE0Mjg1NzFyZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTU1O1xufVxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjNTU1O1xufVxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5zdGVwcyAuc3RlcCAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogQWN0aXZlICovXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAuYWN0aXZlLFxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuLnVpLmludmVydGVkLm9yZGVyZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLmFjdGl2ZS5zdGVwIGkuaWNvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogRGlzYWJsZWQgKi9cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCxcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xufVxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwLFxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwIC50aXRsZSxcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjMpO1xufVxuLyogTGluayBIb3ZlciAqL1xuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2YzZjNmO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIExpbmsgRG93biAqL1xuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzQ0NDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBDaXJjdWxhciBTdGVwICovXG4udWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAgLmNvbnRlbnQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwOm5vdCguY29tcGxldGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcDpub3QoLmFjdGl2ZSk6bm90KC5jb21wbGV0ZWQpOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCAuY2VudGVyLmFsaWduZWQuY29udGVudCAudGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmNpcmN1bGFyLnN0ZXBzOm5vdCgub3JkZXJlZCkgLnN0ZXA6bm90KC5hY3RpdmUpOm5vdCguY29tcGxldGVkKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHMudmVydGljYWwgLnN0ZXA6bm90KC5hY3RpdmUpOm5vdCguY29tcGxldGVkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHMudmVydGljYWwgLnN0ZXA6bm90KC5jb21wbGV0ZWQpIC5jb250ZW50OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHJpbWFyeTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2Nztcbn1cbi51aS51aS5wcmltYXJ5LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnkuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnkuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wcmltYXJ5LmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgYm9yZGVyLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLnByaW1hcnkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnByaW1hcnkuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzZDMzY2Nztcbn1cbi51aS51aS5wcmltYXJ5LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHJpbWFyeS5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnByaW1hcnkgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS51aS5wcmltYXJ5LnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnkuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnByaW1hcnk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucHJpbWFyeS5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnNlY29uZGFyeTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnkuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG59XG4udWkudWkuc2Vjb25kYXJ5LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5LmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnkuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG59XG4udWkudWkuc2Vjb25kYXJ5LmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5zZWNvbmRhcnkuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnNlY29uZGFyeS5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnNlY29uZGFyeSAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnkuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG59XG4udWkudWkuc2Vjb25kYXJ5LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5LmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucmVkOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucmVkOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZC5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS5yZWQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5yZWQuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG4gIGJvcmRlci1jb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS5yZWQuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnJlZC5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnJlZCB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucmVkLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQucmVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS5yZWQuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5yZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5yZWQuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vcmFuZ2U6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vcmFuZ2U6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLm9yYW5nZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9yYW5nZS5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLm9yYW5nZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAub3JhbmdlLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAub3JhbmdlIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vcmFuZ2UuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5vcmFuZ2UgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLm9yYW5nZS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLm9yYW5nZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLm9yYW5nZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnllbGxvdzo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnllbGxvdzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3cuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkueWVsbG93LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAueWVsbG93LmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3cuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkueWVsbG93LmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC55ZWxsb3cuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC55ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnllbGxvdy5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnllbGxvdyAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3cuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkueWVsbG93LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAueWVsbG93OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAueWVsbG93LmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub2xpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vbGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub2xpdmUuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG59XG4udWkudWkub2xpdmUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub2xpdmUuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xuICBib3JkZXItY29sb3I6ICNiNWNjMTg7XG59XG4udWkudWkub2xpdmUuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLm9saXZlLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAub2xpdmUge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub2xpdmUuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5vbGl2ZSAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAub2xpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkub2xpdmUuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLm9saXZlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JlZW46OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmVlbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JlZW4uYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG59XG4udWkudWkuZ3JlZW4uY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JlZW4uY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkudWkuZ3JlZW4uY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmdyZWVuLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JlZW4uYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5ncmVlbiAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuZ3JlZW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkuZ3JlZW4uY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmdyZWVuLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudGVhbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbn1cbi51aS51aS50ZWFsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWwuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWwuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC50ZWFsLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLnRlYWwuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnRlYWwuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC50ZWFsIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbn1cbi51aS51aS50ZWFsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudGVhbC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnRlYWwgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS51aS50ZWFsLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWwuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnRlYWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAudGVhbC5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsdWU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG59XG4udWkudWkuYmx1ZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmx1ZS5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5ibHVlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5ibHVlLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG59XG4udWkudWkuYmx1ZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsdWUuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5ibHVlIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkuYmx1ZS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ibHVlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmJsdWUuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC52aW9sZXQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC52aW9sZXQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0LmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnZpb2xldC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnZpb2xldC5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0LmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnZpb2xldC5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAudmlvbGV0LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAudmlvbGV0IHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC52aW9sZXQuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC52aW9sZXQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0LmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnZpb2xldC5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnZpb2xldDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnZpb2xldC5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnB1cnBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnB1cnBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGUuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkucHVycGxlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHVycGxlLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGUuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkucHVycGxlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5wdXJwbGUuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnB1cnBsZS5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnB1cnBsZSAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGUuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkucHVycGxlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucHVycGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucHVycGxlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5Nztcbn1cbi51aS51aS5waW5rLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbmsuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkucGluay5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbmsuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG59XG4udWkudWkucGluay5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5waW5rLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5NztcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLnBpbmsuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnBpbmsuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5waW5rIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5Nztcbn1cbi51aS51aS5waW5rLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucGluay5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnBpbmsgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS5waW5rLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbmsuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkucGluay5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnBpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkucGluay5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucGluay5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJyb3duOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYnJvd246OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bi5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJyb3duLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xufVxuLnVpLnVpLmJyb3duLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJyb3duLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLmJyb3duLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5icm93bi5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmJyb3duIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJyb3duLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQuYnJvd24gLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bi5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmJyb3duOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLmJyb3duLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5icm93bi5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZXk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG59XG4udWkudWkuZ3JleS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5LmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5LmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JleS5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5ncmV5LmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5ncmV5LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuZ3JleSB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG59XG4udWkudWkuZ3JleS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZXkuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5ncmV5IC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkuZ3JleS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5LmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ncmV5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmdyZXkuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibGFjazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsYWNrOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2suYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibGFjay5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS51aS5ibGFjay5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibGFjay5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS5ibGFjay5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuYmxhY2suY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibGFjay5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLmJsYWNrIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2sudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2suY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ibGFjazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5ibGFjay5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYmxhY2suYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSZ0FCQUFBQUFBcWdBQkFBQUFBQUVYd0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFLaEFBQUFCd0FBQUFjak9MenhFZEVSVVlBQUFwb0FBQUFIQUFBQUNBQUp3QVlUMU12TWdBQUFlUUFBQUJFQUFBQVZqNHdTVVpqYldGd0FBQUNQQUFBQUVZQUFBRk8wQmtEeDJOMmRDQUFBQWZZQUFBQUZBQUFBQndHU2YrVVpuQm5iUUFBQW9RQUFBVDVBQUFKa1lvS2VEdG5ZWE53QUFBS1lBQUFBQWdBQUFBSUFBQUFFR2RzZVdZQUFBZjRBQUFBdUFBQUFMajV5alQrYUdWaFpBQUFBV3dBQUFBMUFBQUFOaEdBU2xWb2FHVmhBQUFCcEFBQUFDQUFBQUFrQjN3RGEyaHRkSGdBQUFJb0FBQUFGQUFBQUJRTXdnQkRiRzlqWVFBQUIrd0FBQUFNQUFBQURBQTRBRnh0WVhod0FBQUJ4QUFBQUNBQUFBQWdBS2dBUjI1aGJXVUFBQWl3QUFBQmdRQUFBdWdncTlpS2NHOXpkQUFBQ2pRQUFBQXFBQUFBUGE3QVFKcHdjbVZ3QUFBSGdBQUFBRllBQUFCV2txR2EvM2ljWTJCa1lHQUFZaW4rbStueC9EWmZHZVJaR0VEZ3ZPbU1YaEI5UHlIMzMvKy8vOWN6NzJLV0EzSTVHSmhBb2dCQXNBeVRBQUFBZUp4allHUmdZRTc3bjhZUXc4THcvKy8vLzh5N0dJQWlLSUFWQUtnbEJ1MEFBUUFBQUFVQUZnQUJBQUFBQUFBQ0FBWUFFd0J1QUFBQUxRQWNBQUFBQUhpY1kyQmtQczg0Z1lHVmdZT3BrK2tzQXdORFA0Um1mTU5neE1qQndNREV3TXJNZ0JVRXBMbW1NRGk4WUhqQnlKejJQNDBoaGxtT0lSQW96QWlTQXdBWURndjBCQUFBQUFBQUFBQUJWQUFBQkFBQVJnTnQvLzE0bk4yTXdRM0FJQXdEenhReEJTTXdDUHRQd1JiVUNmMTBCU3dsSjB1MmdZZHpIUkdhZGtwZkdXWXpSWUdsdlNPd09NeFV6YmEvR3QrQTZYUTBmaExYNndXQVV3YXdBQUI0bkoxVjJYYlRWaFNWUEdSd0VqcGtvS0FPMTl3NFVPdktoQ2tZTUdrcXhYWWhIUndJclFRZHBBeDA1SjNIUHV0cmprSzdWaC81dE81OVBTUzBkSzIyTEpiUHZrZGJaOWc2NTBZY0l5cDlHb2hyMUtHU2x3T3ByRDJXU3ZkSlhOZDFMNCtWREFaeFhiWVNUMG1icUowa1NtcmQ3RkF1OFZqcktsa25XQ2ZqNVNCV1QxV2VaNkFNNGhRZVpVbEVHMFFicVpjbVNlS0o0eWVKRm1jUUh5VkpJQ1dqRUtmU3lGQkNOUnJFVXRXaFRPblFxOWNUY2ROQXlrYWpIblZZVlBkRHhTZkhOYWZVckFOR0tsYzV3aFhyMVVhK0c2Y0RMM3VReERyQnM2MkhNUjU0ckg2VUtwQ0trZW5JUDNaS1RwU0dnVlJ4MUtGVzR1Z3drMS8za1V3cXpVQ21qR0pGcGU2QnVOMzlkTnNXTVQxME9yNHVTcFZHcXJxNXppaWE3ZEh4cUlNb0Q5bkc2YVRjME5uMjhPVVpVMVNyWFhHejdVQm1EVnhLeVd4MG4wUUFIU1pTNCtrQlRqV2NBcWtaOVVmRjJlZlBBUkxKWEpTcVBGVXloM29EbVRNN2UzRXg3VzRucTdKd3BKOEhNbTkyZHVPZGgwT25WNGQvMGZvWFRPSE1SNC9pWW40K1F2cFFhbjRpVGlTbFJsak04cWVHSDNGWElFSzVNWWdMRjhyZ1U0UTVkRVhhMldaZDQ3VXg5b2JQK1VxcFlUMEoydWlqK0g0Sy9VNGtLeHhuVWFQMVNKek5ZOWQxcmR4blVFdTF1eGM3TXE5RGxTTHU3d3NMcmpQbmhHR2VGZ3RWWDU3NTNnVTAvd2FJWi94QTNqU0ZTL3VXS1VxMGI1dWlUTHRvaWdydEVsU2xYVGJGRk8yS0thWnB6NXBpaHZZZFU4elNuak15NC8vTDNPZVIreHplOFpDYjlsM2twbjBQdVduZlIyN2FENUNiVmlFM2JSMjVhUzhnTjYxR2J0cFZvenAyQkJvR2FSZFNGVUhRTkxMNllkeFdtL1ZBMW93MGZHbGc4aTVpeVBycVJFZWR0YlhLSDhWL2RlSUxCM0pwb3FlN0loZWI0aTZ2MnhZK1BOM3VxNCthUnQydzFmakdrZkl3SGtaNkhKclFXZm5ONGIvdFRkMHVtdTR5cWpMb0FSVk1Dc0FBWmUxQUF0TTYyd21rOVpxbitQSUhZRnlHZU01S1E3VlVuenVHcHUvbGVWLzNzVG54dnNmdHhpNjNYSGQ1Q1ZuV0RYSmo5dkRmVW1TcTZ4L2xMYTFVSjBlc0t5ZVBWV3NZUXlxOEtMcStrcFI3dExVYnZ5aXBzdkplbE5iSzU1T1FtejJERzBKYnR1NWhzQ05NYWNvbEhsNVRwU2c5MUZLT3NrTXNieW5LUE9DVWl3dGFoc1M0RG5VUGFtdkU2YUY2R0JzTElZYWh0TDBRY0VncFhSWGZ0TXAzOFI2cmE5am8rTVVWNGVsNmNoSVJuK0lxKzFId1ZOZEcvZWdPMnJ4bTNUS0RLVldxcC91TVQ3R3YyL1pSV1dta2pyTVh0MVFIMXpUckdqa1YwMC9rYStCMGJ6aG8zUU05Vkh3MFFTTlZOY2ZveGloak5KWTE1ZDhFZERGV2ZzTm8xV0w3UGR4UG5hUlZyTGxMbU95YkUvZmd0THY5S3Z1MW5GdEcxdjNYQnIxdDVJcWZJekcvTFFyOE93ZGl0MlFOMUR1VGdSZ0x5Rm5RR01ZV0puY1lyb050eEczMlB5YW4vOStHaFVWeVZ6c2F1M25xdzlXVFVTVjMyZks0eTAxMldkZWpOa2ZWVGhyN0NJMHREemZtMk9GeUxMYkVZRUcyL3NIL01lNEJkMmxSQXVEUXlHV1lpTnAwb1o3cTRlb2VxN0Z0T0ZjU0FYYk5zZU4wQUhvQUxrSGZITHZXOHdtQTlkd2o1eTdBZlhJSWRzZ2grSlFjZ3MvSXVRWHdPVGtFWDVCRE1DQ0hZSmVjT3dBUHlDRjRTQTdCSGprRWo4alpCUGlTSElLdnlDR0l5U0ZJeUxrTjhKZ2NnaWZrRUh4TkRzRTNScTVPWlA2V0I5a0ErczZpbTBDcG5Sb2MyamhrUnE1TjJQczhXUGFCUldRZldrVHFrWkhyRStwVEhpejFlNHRJL2NFaVVuODBjbU5DL1lrSFMvM1pJbEovc1lqVVo4YVhtU01wcnc2ZTg0NE8vZ1NYNnExZUFBQUFTN2dBeUZKWXNRRUJqbG01Q0FBSUFHTWdzQUVqUkxBREkzQ3lCQ2dKUlZKRXNnb0NCeXF4QmdGRXNTUUJpRkZZc0VDSVdMRUdBMFN4SmdHSVVWaTRCQUNJV0xFR0FVUlpXVmxadUFIL2hiQUVqYkVGQUVRQUFIaWNZMkJBQTBZTVJzemMvemVDTUFBUXRBUGhBQUFBQUFBQUFBQUFPQUJjQUFFQVJnQUJBN29DcUFBVkFCeEFHUThCQUFFQlFnQUNBUUpxQUFFQUFXb0FBQUJoRkJjVUF4SXJBUlFIQVFZaUp3RW1ORDhCTmpJZkFRRTJNaDhCRmdPNkQvNFVFQzBRL3VNUEQwNFFMUkdvQVhZUUxoQk9Ed0lqRnhEK0ZBOFBBUjBRTFJGT0VCQ3BBWGdRRUU0UUFBQUIvLzMvcndOMEF4NEFEQUFTUUE4QUFRRUtRd0FBQUFzQVJCVVRBaEVyQVJRT0FTSXVBajRCTWg0QkEyNTF5KzNOY1FaOXdQcS9nUUZtZU1oM2Q4bnZ5WGQzeVFBQUFIaWNmWkhMU3NOQUZJYi82VVZyQ3lJS3JnOElZaEhTQzdweFZTbFVjT21pKzdTbVNVcWFDWk9wME5meEdkejZDTHB6NjlhdEs5ZitTVWZCZ2szSTVEdi91Y3laTXdBTzhRNkY5WE9KeExGQ0EwK09LOWpGaStNcTlRL0hOVFJVeFhFZExYWGllSWY2dGVNbXp0V2o0eGFPMUJjcnFOb2VyWGxacldDRkF6dzZybUFmejQ2cjFOOGMxOGlmanVzNFZpM0hPemhRSGNkTmpOV3Q0eFpPMVN1RzBNaXdna0dNRUJFc0JHZFUyL3ozMFVVUEY2UUpJNFNSNjZnWUtYek9RYmd1bVJHVm5wejJnTitNVmtvMVlFUkM5akRsdWdDR09sdVpPSXlzbkEzYjB1LzJMbVN5RWswcFR2MUUvS1dOdE1sbElET2QyaUJKdERmVlROdXNoeDgzY0VjeFpBc0pHekUwZzNDWitHWnJ5aGJYbUdKeGpMZ01FUjdkNHdBd0Rrd2U2MVI2WG5kcitnM0Z0Q3pobHdIM3YzUEw4Y0EyKzFRdEN4UVRNdVZFQktPTmNzSzdLSHh6S2xQcUhzc0dhV0I4Rzl3WHc4b2Z3cjYxTTVrWnZaQ1IyMW95bytmQjFESTRLdmZJY0lVTzMzOXZJckkydStwMC9zejVHeUxIaDcwQUFBQjRuR05nWW9BQUxnYnNnQldJR1JtWUdKa1ltVG1UTTFLVHMzTVRpN0xaa2pPTGtuTlNBVGtQQmtZQUFBQUJBQUgvL3dBUGVKeGpZR1JnWU9BQllnRUdDUVltSU0wQ3hDQ2FFWUlCQlcwQVFBQUFBQUVBQUFBQTNrenRPQUFBQUFEUE5aaU5BQUFBQU45Z2JmND1cIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbi51aS5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgPiAuaWNvbjo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogU3RlcDtcbiAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgLyogJ+6ggCcgKi9cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRleHRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVGV4dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnNwYW4udWkudGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuc3Bhbi51aS5wcmltYXJ5LnRleHQge1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbnNwYW4udWkuaW52ZXJ0ZWQucHJpbWFyeS50ZXh0IHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5zcGFuLnVpLnNlY29uZGFyeS50ZXh0IHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG5zcGFuLnVpLmludmVydGVkLnNlY29uZGFyeS50ZXh0IHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG5zcGFuLnVpLnJlZC50ZXh0IHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG5zcGFuLnVpLmludmVydGVkLnJlZC50ZXh0IHtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG5zcGFuLnVpLm9yYW5nZS50ZXh0IHtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG5zcGFuLnVpLmludmVydGVkLm9yYW5nZS50ZXh0IHtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG5zcGFuLnVpLnllbGxvdy50ZXh0IHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG5zcGFuLnVpLmludmVydGVkLnllbGxvdy50ZXh0IHtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG5zcGFuLnVpLm9saXZlLnRleHQge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbnNwYW4udWkuaW52ZXJ0ZWQub2xpdmUudGV4dCB7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuc3Bhbi51aS5ncmVlbi50ZXh0IHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG5zcGFuLnVpLmludmVydGVkLmdyZWVuLnRleHQge1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbnNwYW4udWkudGVhbC50ZXh0IHtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG5zcGFuLnVpLmludmVydGVkLnRlYWwudGV4dCB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuc3Bhbi51aS5ibHVlLnRleHQge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbnNwYW4udWkuaW52ZXJ0ZWQuYmx1ZS50ZXh0IHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG5zcGFuLnVpLnZpb2xldC50ZXh0IHtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG5zcGFuLnVpLmludmVydGVkLnZpb2xldC50ZXh0IHtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG5zcGFuLnVpLnB1cnBsZS50ZXh0IHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG5zcGFuLnVpLmludmVydGVkLnB1cnBsZS50ZXh0IHtcbiAgY29sb3I6ICNkYzczZmY7XG59XG5zcGFuLnVpLnBpbmsudGV4dCB7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5waW5rLnRleHQge1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbnNwYW4udWkuYnJvd24udGV4dCB7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuc3Bhbi51aS5pbnZlcnRlZC5icm93bi50ZXh0IHtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG5zcGFuLnVpLmdyZXkudGV4dCB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5ncmV5LnRleHQge1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbnNwYW4udWkuYmxhY2sudGV4dCB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuc3Bhbi51aS5pbnZlcnRlZC5ibGFjay50ZXh0IHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG5zcGFuLnVpLmVycm9yLnRleHQge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbnNwYW4udWkuaW5mby50ZXh0IHtcbiAgY29sb3I6ICMzMWNjZWM7XG59XG5zcGFuLnVpLnN1Y2Nlc3MudGV4dCB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuc3Bhbi51aS53YXJuaW5nLnRleHQge1xuICBjb2xvcjogI2YyYzAzNztcbn1cbnNwYW4udWkuZGlzYWJsZWQudGV4dCB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKiBTaXplcyAqL1xuc3Bhbi51aS5tZWRpdW0udGV4dCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuc3Bhbi51aS5taW5pLnRleHQge1xuICBmb250LXNpemU6IDAuNGVtO1xufVxuc3Bhbi51aS50aW55LnRleHQge1xuICBmb250LXNpemU6IDAuNWVtO1xufVxuc3Bhbi51aS5zbWFsbC50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5zcGFuLnVpLmxhcmdlLnRleHQge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuc3Bhbi51aS5iaWcudGV4dCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuc3Bhbi51aS5odWdlLnRleHQge1xuICBmb250LXNpemU6IDRlbTtcbn1cbnNwYW4udWkubWFzc2l2ZS50ZXh0IHtcbiAgZm9udC1zaXplOiA4ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEJyZWFkY3J1bWJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQnJlYWRjcnVtYlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWRjcnVtYlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvdXBsaW5nICovXG4vKiBJbnZlcnRlZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQnJlYWRjcnVtYlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5icmVhZGNydW1iIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmJyZWFkY3J1bWI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmJyZWFkY3J1bWI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBEaXZpZGVyICovXG4udWkuYnJlYWRjcnVtYiAuZGl2aWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMC43O1xuICBtYXJnaW46IDAgMC4yMTQyODU3MXJlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIExpbmsgKi9cbi51aS5icmVhZGNydW1iIGEge1xuICBjb2xvcjogIzQxODNjNDtcbn1cbi51aS5icmVhZGNydW1iIGE6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIEljb24gRGl2aWRlciAqL1xuLnVpLmJyZWFkY3J1bWIgLmljb24uZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBTZWN0aW9uICovXG4udWkuYnJlYWRjcnVtYiBhLnNlY3Rpb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuYnJlYWRjcnVtYiAuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLyogTG9vc2UgQ291cGxpbmcgKi9cbi51aS5icmVhZGNydW1iLnNlZ21lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAxZW07XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJyZWFkY3J1bWIge1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbi51aS5pbnZlcnRlZC5icmVhZGNydW1iID4gLmFjdGl2ZS5zZWN0aW9uIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYnJlYWRjcnVtYiA+IC5kaXZpZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYnJlYWRjcnVtYiAuYWN0aXZlLnNlY3Rpb24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEZvcm1cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRm9ybVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvcm0gKi9cbi8qIFRleHQgKi9cbi8qIEZpZWxkICovXG4vKiBGaWVsZHMgKi9cbi8qIEZvcm0gTGFiZWwgKi9cbi8qIElucHV0ICovXG4vKiBTZWxlY3QgKi9cbi8qIFRleHQgQXJlYSAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIElubGluZSBWYWxpZGF0aW9uIFByb21wdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb2N1cyAqL1xuLyogSW5wdXQgRm9jdXMgKi9cbi8qIFRleHQgQXJlYSBGb2N1cyAqL1xuLyogRGlzYWJsZWQgKi9cbi8qIElucHV0IHN0YXRlcyAqL1xuLyogTG9hZGluZyBEaW1tZXIgKi9cbi8qIExvYWRpbmcgU3Bpbm5lciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlcXVpcmVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdyb3VwZWQgRmllbGRzICovXG4vKiBJY29uICovXG4vKiBJbmxpbmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtID4gcCB7XG4gIG1hcmdpbjogMWVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSAuZmllbGQge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGRzLFxuLnVpLmZvcm0gLmZpZWxkOmxhc3QtY2hpbGQsXG4udWkuZm9ybSAuZmllbGRzOmxhc3QtY2hpbGQgLmZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSAuZmllbGQgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4udWkuZm9ybTpub3QoLmludmVydGVkKSAuZmllbGQgPiBsYWJlbDpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU3RhbmRhcmQgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIHRleHRhcmVhLFxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogU2V0IG1heCBoZWlnaHQgb24gdW51c3VhbCBpbnB1dCAqL1xuLnVpLmZvcm0gOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsXG4udWkuZm9ybSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbn1cbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHRyYW5zcGFyZW50IGluc2V0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuICBwYWRkaW5nOiBpbml0aWFsO1xufVxuLnVpLmZvcm0gaW5wdXQ6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIFRleHQgQXJlYSAqL1xuLnVpLmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gdGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCB0cmFuc3BhcmVudCBpbnNldDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTc7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1pbi1oZWlnaHQ6IDIuOTk5OTI4NTdlbTtcbn1cbi51aS5pbnB1dCA+IHRleHRhcmVhIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi51aS5mb3JtIHRleHRhcmVhOm5vdChbcm93c10pIHtcbiAgaGVpZ2h0OiAxMmVtO1xuICBtaW4taGVpZ2h0OiA4ZW07XG4gIG1heC1oZWlnaHQ6IDI0ZW07XG59XG4udWkuZm9ybSB0ZXh0YXJlYSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENoZWNrYm94IG1hcmdpblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSAuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIGxhYmVsICsgLnVpLnVpLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMC43ZW07XG59XG4udWkuZm9ybSAuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDIuNDE0Mjg1NzFlbTtcbn1cbi51aS5mb3JtIC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDIuMjE0Mjg1NzFlbTtcbn1cbi51aS5mb3JtIC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLnNsaWRlci5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDIuNjE0Mjg1NzFlbTtcbn1cbi51aS51aS5mb3JtIC5maWVsZCAuZmllbGRzIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDAuNmVtO1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkIC5maWVsZHMgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkIC5maWVsZHMgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLnNsaWRlci5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDAuN2VtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBUcmFuc3BhcmVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkIC50cmFuc3BhcmVudC5pbnB1dDpub3QoLmljb24pIGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkIGlucHV0LnRyYW5zcGFyZW50LFxuLnVpLmZvcm0gLmZpZWxkIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbn1cbi51aS5mb3JtIC5maWVsZCBpbnB1dC50cmFuc3BhcmVudCxcbi51aS5mb3JtIC5maWVsZCB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW5wdXQgdy8gYXR0YWNoZWQgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIGlucHV0LmF0dGFjaGVkIHtcbiAgd2lkdGg6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCYXNpYyBTZWxlY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIHBhZGRpbmc6IDAuNjJlbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIERyb3Bkb3duXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJsb2NrICovXG4udWkuZm9ybSAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCguY29tcGFjdCkge1xuICBtaW4td2lkdGg6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZvcm0gLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyogSW5saW5lICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbixcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVUkgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQmxvY2sgKi9cbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAud2lkZS5maWVsZCAudWkuaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIElubGluZSAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkOm5vdCgud2lkZSkgLnVpLmlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZDpub3QoLndpZGUpIC51aS5pbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogQXV0byBJbnB1dCAqL1xuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEZ1bGwgV2lkdGggSW5wdXQgKi9cbi51aS5mb3JtIC50ZW4uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5uaW5lLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZWlnaHQuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5zZXZlbi5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnNpeC5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpdmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5mb3VyLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAudGhyZWUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC50d28uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC53aWRlLmZpZWxkIC51aS5pbnB1dCBpbnB1dCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICB3aWR0aDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBUeXBlcyBvZiBNZXNzYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSAuZXJyb3IubWVzc2FnZSxcbi51aS5mb3JtIC5lcnJvci5tZXNzYWdlOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5mb3JtIC5pbmZvLm1lc3NhZ2UsXG4udWkuZm9ybSAuaW5mby5tZXNzYWdlOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5mb3JtIC5zdWNjZXNzLm1lc3NhZ2UsXG4udWkuZm9ybSAuc3VjY2Vzcy5tZXNzYWdlOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5mb3JtIC53YXJuaW5nLm1lc3NhZ2UsXG4udWkuZm9ybSAud2FybmluZy5tZXNzYWdlOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFzc3VtcHRpb25zICovXG4udWkuZm9ybSAubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmFsaWRhdGlvbiBQcm9tcHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkIC5wcm9tcHQubGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGI0YjQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5ZjNhMzggIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWVsZCAucHJvbXB0LmxhYmVsIGxpOjpiZWZvcmUge1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCAucHJvbXB0IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAtMC4yNWVtIDAgLTAuNWVtIDAuNWVtO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5wcm9tcHQ6OmJlZm9yZSxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgLnByb21wdDo6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDFweDtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF1dG9maWxsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCAjZmZmZmYwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2U1ZGZhMSAhaW1wb3J0YW50O1xufVxuLyogRm9jdXMgKi9cbi51aS5mb3JtIC5maWVsZC5maWVsZCBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggI2ZmZmZmMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNkNWMzMTUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBicm93c2VycyByZXF1aXJlIHRoZXNlIHJ1bGVzIHNlcGFyYXRlICovXG4udWkuZm9ybSA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4udWkuZm9ybSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44NykgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuZm9ybSA6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4udWkuZm9ybSA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44NykgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjODViN2Q5O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQ7XG59XG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSB0ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgdGV4dGFyZWEge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjODViN2Q5O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8qIEZvY3VzICovXG4udWkuZm9ybSBpbnB1dDpmb2N1czo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBTdGF0ZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE9uIEZvcm0gKi9cbi51aS5mb3JtLmVycm9yIC5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybS5lcnJvciAuY29tcGFjdC5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0uZXJyb3IgLmljb24uZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4vKiBPbiBGaWVsZChzKSAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuY29tcGFjdC5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jb21wYWN0LmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5pY29uLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmljb24uZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkudWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBsYWJlbCxcbi51aS51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGQuZXJyb3IgbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmxhYmVsOm5vdCguY29ybmVyKSxcbi51aS51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5pbnB1dCxcbi51aS51aS5mb3JtIC5maWVsZC5lcnJvciAuaW5wdXQge1xuICBjb2xvcjogIzlmM2EzODtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuZm9ybSAuZmllbGRzOmhhcyguZXJyb3IpID4gbGFiZWwge1xuICAgIGNvbG9yOiAjOWYzYTM4O1xuICB9XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZDFkMTtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jb3JuZXIubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNvcm5lci5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzlmM2EzODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIGNvbG9yOiAjOWYzYTM4O1xuICBiYWNrZ3JvdW5kOiAjZmZmNmY2O1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG4gIGJvcmRlci1yYWRpdXM6IFwiXCI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybTpub3QoLmluaXRpYWwpIC5maWVsZCBpbnB1dDppbnZhbGlkIHtcbiAgY29sb3I6ICM5ZjNhMzg7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbiAgYm9yZGVyLXJhZGl1czogXCJcIjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5lcnJvciB0ZXh0YXJlYTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBzZWxlY3Q6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xuICBjb2xvcjogIzlmM2EzODtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG59XG4vKiBQcmVzZXJ2ZSBOYXRpdmUgU2VsZWN0IFN0eWxpbmdzICovXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b247XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW5wdXQgU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVHJhbnNwYXJlbnQgKi9cbi51aS5mb3JtIC5maWVsZC5lcnJvciAudHJhbnNwYXJlbnQuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnRyYW5zcGFyZW50LmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0LnRyYW5zcGFyZW50LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjZmNiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzlmM2EzOCAhaW1wb3J0YW50O1xufVxuLyogQXV0b2ZpbGxlZCAqL1xuLnVpLmZvcm0gLmVycm9yLmVycm9yIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCAjZmZmYWYwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNCAhaW1wb3J0YW50O1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5mb3JtIC5lcnJvciAudWkuZHJvcGRvd24gPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLmVycm9yIDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYztcbn1cbi51aS5mb3JtIC5lcnJvciA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmMgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5lcnJvciAudWkuZHJvcGRvd24gPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4udWkuZm9ybSAuZXJyb3IgOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5NiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERyb3Bkb3duIFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duID4gLnRleHQsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC5pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0ICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0ICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhY2JjYjtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4vKiBIb3ZlciAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmU3ZTc7XG59XG4vKiBTZWxlY3RlZCAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmU3ZTc7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGNmY2YgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENoZWNrYm94IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCB7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5lcnJvci5maWVsZCBsYWJlbCB7XG4gIGNvbG9yOiAjZWNkMWQxO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHM6aGFzKC5lcnJvcikgPiBsYWJlbCB7XG4gICAgY29sb3I6ICNlY2QxZDE7XG4gIH1cbn1cbi8qIE9uIEZvcm0gKi9cbi51aS5mb3JtLmluZm8gLmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0uaW5mbyAuY29tcGFjdC5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybS5pbmZvIC5pY29uLmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4vKiBPbiBGaWVsZChzKSAqL1xuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuaW5mbyAuaW5mby5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmNvbXBhY3QuaW5mby5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLmNvbXBhY3QuaW5mby5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5pY29uLmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC5pY29uLmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkudWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGxhYmVsLFxuLnVpLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkubGFiZWw6bm90KC5jb3JuZXIpLFxuLnVpLnVpLmZvcm0gLmZpZWxkLmluZm8gbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGQuaW5mbyAudWkubGFiZWw6bm90KC5jb3JuZXIpLFxuLnVpLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAuaW5wdXQsXG4udWkudWkuZm9ybSAuZmllbGQuaW5mbyAuaW5wdXQge1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuZm9ybSAuZmllbGRzOmhhcyguaW5mbykgPiBsYWJlbCB7XG4gICAgY29sb3I6ICMyNzZmODY7XG4gIH1cbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2ZTNlOTtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLmNvcm5lci5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC5jb3JuZXIubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMyNzZmODY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIGNvbG9yOiAjMjc2Zjg2O1xuICBiYWNrZ3JvdW5kOiAjZjhmZmZmO1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGU7XG4gIGJvcmRlci1yYWRpdXM6IFwiXCI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQuaW5mbyB0ZXh0YXJlYTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIHNlbGVjdDpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZjhmZmZmO1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGU7XG4gIGNvbG9yOiAjMjc2Zjg2O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkLmluZm8gPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGU7XG59XG4vKiBQcmVzZXJ2ZSBOYXRpdmUgU2VsZWN0IFN0eWxpbmdzICovXG4udWkuZm9ybSAuZmllbGQuaW5mbyBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJbnB1dCBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUcmFuc3BhcmVudCAqL1xuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnRyYW5zcGFyZW50LmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnRyYW5zcGFyZW50LmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXQudHJhbnNwYXJlbnQsXG4udWkuZm9ybSAuZmllbGQuaW5mbyB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGZmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyNzZmODYgIWltcG9ydGFudDtcbn1cbi8qIEF1dG9maWxsZWQgKi9cbi51aS5mb3JtIC5pbmZvLmluZm8gaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwMHB4ICNmMGZhZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjYjNlMGUwICFpbXBvcnRhbnQ7XG59XG4vKiBQbGFjZWhvbGRlciAqL1xuLnVpLmZvcm0gLmluZm8gLnVpLmRyb3Bkb3duID4gLmRlZmF1bHQudGV4dCxcbi51aS5mb3JtIC5pbmZvIDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk4Y2ZlMTtcbn1cbi51aS5mb3JtIC5pbmZvIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk4Y2ZlMSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmluZm8gLnVpLmRyb3Bkb3duID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLmluZm8gOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzBiZGQ2O1xufVxuLnVpLmZvcm0gLmluZm8gOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzBiZGQ2ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRHJvcGRvd24gU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biA+IC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmRyb3Bkb3duIC5pdGVtIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmZmZjtcbiAgY29sb3I6ICMyNzZmODY7XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIsXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2UzZWE7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLyogSG92ZXIgKi9cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZjJmYjtcbn1cbi8qIFNlbGVjdGVkICovXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWYyZmI7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VmMWZkICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDaGVja2JveCBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsIHtcbiAgY29sb3I6ICMyNzZmODY7XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOjpiZWZvcmUsXG4udWkuZm9ybSAuZmllbGQuaW5mbyAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAuY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLnVpLmludmVydGVkLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmZvLmZpZWxkIGxhYmVsIHtcbiAgY29sb3I6ICNjNmUzZTk7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmludmVydGVkLmZvcm0gLmZpZWxkczpoYXMoLmluZm8pID4gbGFiZWwge1xuICAgIGNvbG9yOiAjYzZlM2U5O1xuICB9XG59XG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5zdWNjZXNzIC5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtLnN1Y2Nlc3MgLmNvbXBhY3Quc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0uc3VjY2VzcyAuaWNvbi5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogT24gRmllbGQocykgKi9cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5jb21wYWN0LnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC5jb21wYWN0LnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuaWNvbi5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAuaWNvbi5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBsYWJlbCxcbi51aS51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmxhYmVsOm5vdCguY29ybmVyKSxcbi51aS51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGxhYmVsLFxuLnVpLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmxhYmVsOm5vdCguY29ybmVyKSxcbi51aS51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLmlucHV0LFxuLnVpLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLmlucHV0IHtcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmZvcm0gLmZpZWxkczpoYXMoLnN1Y2Nlc3MpID4gbGFiZWwge1xuICAgIGNvbG9yOiAjMmM2NjJkO1xuICB9XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWQxYWQ7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC5jb3JuZXIubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAuY29ybmVyLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmM2NjJkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBjb2xvcjogIzJjNjYyZDtcbiAgYmFja2dyb3VuZDogI2ZjZmZmNTtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xuICBib3JkZXItcmFkaXVzOiBcIlwiO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgdGV4dGFyZWE6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBzZWxlY3Q6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZjZmZmNTtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xuICBjb2xvcjogIzJjNjYyZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gdGV4dGFyZWE6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IGlucHV0OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xufVxuLyogUHJlc2VydmUgTmF0aXZlIFNlbGVjdCBTdHlsaW5ncyAqL1xuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3Mgc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b247XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW5wdXQgU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVHJhbnNwYXJlbnQgKi9cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC50cmFuc3BhcmVudC5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC50cmFuc3BhcmVudC5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0LnRyYW5zcGFyZW50LFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgdGV4dGFyZWEudHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZmY1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMmM2NjJkICFpbXBvcnRhbnQ7XG59XG4vKiBBdXRvZmlsbGVkICovXG4udWkuZm9ybSAuc3VjY2Vzcy5zdWNjZXNzIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCAjZjBmZmYwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2JlZTBiMyAhaW1wb3J0YW50O1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5mb3JtIC5zdWNjZXNzIC51aS5kcm9wZG93biA+IC5kZWZhdWx0LnRleHQsXG4udWkuZm9ybSAuc3VjY2VzcyA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4ZmNmOTA7XG59XG4udWkuZm9ybSAuc3VjY2VzcyA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4ZmNmOTAgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5zdWNjZXNzIC51aS5kcm9wZG93biA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5mb3JtIC5zdWNjZXNzIDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjYmY2ZDtcbn1cbi51aS5mb3JtIC5zdWNjZXNzIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjYmY2ZCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERyb3Bkb3duIFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd24gLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24gPiAudGV4dCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNmY2ZmZjU7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24ge1xuICBib3JkZXItY29sb3I6ICNhM2MyOTMgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5kcm9wZG93bjpob3ZlciAubWVudSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlYWNjO1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi8qIEhvdmVyICovXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWZiZTk7XG59XG4vKiBTZWxlY3RlZCAqL1xuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmYmU5O1xufVxuLyogQWN0aXZlICovXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZmRjZSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2hlY2tib3ggU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCB7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDo6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmY2ZmZjU7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLmNoZWNrYm94IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuc3VjY2Vzcy5maWVsZCBsYWJlbCB7XG4gIGNvbG9yOiAjYjlkMWFkO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHM6aGFzKC5zdWNjZXNzKSA+IGxhYmVsIHtcbiAgICBjb2xvcjogI2I5ZDFhZDtcbiAgfVxufVxuLyogT24gRm9ybSAqL1xuLnVpLmZvcm0ud2FybmluZyAud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybS53YXJuaW5nIC5jb21wYWN0Lndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLndhcm5pbmcgLmljb24ud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qIE9uIEZpZWxkKHMpICovXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuY29tcGFjdC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAuY29tcGFjdC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmljb24ud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLmljb24ud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGQud2FybmluZyBsYWJlbCxcbi51aS51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC5pbnB1dCxcbi51aS51aS5mb3JtIC5maWVsZC53YXJuaW5nIC5pbnB1dCB7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5mb3JtIC5maWVsZHM6aGFzKC53YXJuaW5nKSA+IGxhYmVsIHtcbiAgICBjb2xvcjogIzU3M2EwODtcbiAgfVxufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkubGFiZWwsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdjY2I1O1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAuY29ybmVyLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLmNvcm5lci5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzU3M2EwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgY29sb3I6ICM1NzNhMDg7XG4gIGJhY2tncm91bmQ6ICNmZmZhZjM7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5YjtcbiAgYm9yZGVyLXJhZGl1czogXCJcIjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIHRleHRhcmVhOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgc2VsZWN0OmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmZmZhZjM7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5YjtcbiAgY29sb3I6ICM1NzNhMDg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQud2FybmluZyA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5Yjtcbn1cbi8qIFByZXNlcnZlIE5hdGl2ZSBTZWxlY3QgU3R5bGluZ3MgKi9cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIElucHV0IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRyYW5zcGFyZW50ICovXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudHJhbnNwYXJlbnQuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudHJhbnNwYXJlbnQuaW5wdXQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dC50cmFuc3BhcmVudCxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmFmMyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU3M2EwOCAhaW1wb3J0YW50O1xufVxuLyogQXV0b2ZpbGxlZCAqL1xuLnVpLmZvcm0gLndhcm5pbmcud2FybmluZyBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggI2ZmZmZlMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlMGUwYjMgIWltcG9ydGFudDtcbn1cbi8qIFBsYWNlaG9sZGVyICovXG4udWkuZm9ybSAud2FybmluZyAudWkuZHJvcGRvd24gPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLndhcm5pbmcgOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZWRhZDNlO1xufVxuLnVpLmZvcm0gLndhcm5pbmcgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZWRhZDNlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAud2FybmluZyAudWkuZHJvcGRvd24gPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4udWkuZm9ybSAud2FybmluZyA6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlMzk3MTU7XG59XG4udWkuZm9ybSAud2FybmluZyA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlMzk3MTUgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEcm9wZG93biBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duIC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duID4gLnRleHQsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkuZHJvcGRvd24gLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzliYTliICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5kcm9wZG93bjpob3Zlcixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5YiAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFjYztcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4vKiBIb3ZlciAqL1xuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmU5O1xufVxuLyogU2VsZWN0ZWQgKi9cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJlOTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkY2UgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENoZWNrYm94IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwge1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4udWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLndhcm5pbmcuZmllbGQgbGFiZWwge1xuICBjb2xvcjogI2Q3Y2NiNTtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzOmhhcygud2FybmluZykgPiBsYWJlbCB7XG4gICAgY29sb3I6ICNkN2NjYjU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSAuZGlzYWJsZWQuZmllbGRzIC5maWVsZCxcbi51aS5mb3JtIC5kaXNhYmxlZC5maWVsZCxcbi51aS5mb3JtIC5maWVsZCA6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA+IGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkcy5kaXNhYmxlZCA+IGxhYmVsIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRpbmcuZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi51aS5sb2FkaW5nLmZvcm06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbn1cbi51aS5sb2FkaW5nLmZvcm0uc2VnbWVudHM6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkubG9hZGluZy5mb3JtOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMS41ZW0gMCAwIC0xLjVlbTtcbiAgd2lkdGg6IDNlbTtcbiAgaGVpZ2h0OiAzZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgRWxlbWVudCBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSZXF1aXJlZCBGaWVsZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSA+IC5maWVsZCA+IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuaW5saW5lID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5ncm91cGVkID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSA+IC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyLFxuLnVpLmZvcm0gbGFiZWwucmVxdWlyZWQ6OmFmdGVyIHtcbiAgbWFyZ2luOiAtMC4yZW0gMCAwIDAuMmVtO1xuICBjb250ZW50OiBcIipcIjtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpID4gLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5pbmxpbmUgPiBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpID4gLmZpZWxkID4gLmNoZWNrYm94OjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbn1cbi51aS51aS51aS51aS5mb3JtIC5maWVsZHM6bm90KC5yZXF1aXJlZCkgPiBsYWJlbDplbXB0eTo6YWZ0ZXIsXG4udWkudWkudWkudWkuZm9ybSAuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpID4gLmZpZWxkOm5vdCgucmVxdWlyZWQpID4gbGFiZWw6ZW1wdHk6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS51aS51aS51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZDpub3QoLnJlcXVpcmVkKSA+IGxhYmVsOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZCBDb2xvcnNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5mb3JtIGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgbGFiZWwsXG4udWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAudWkuY2hlY2tib3ggbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuZ3JvdXBlZC5maWVsZHMgPiBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubG9hZGluZy5mb3JtIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQubG9hZGluZy5mb3JtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyogSW52ZXJ0ZWQgRmllbGQgKi9cbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmllbGQgR3JvdXBzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHcm91cGVkIFZlcnRpY2FsbHkgKi9cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMgPiBsYWJlbCB7XG4gIG1hcmdpbjogMCAwIDAuMjg1NzE0MjlyZW0gMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMgLmZpZWxkLFxuLnVpLmZvcm0gLmdyb3VwZWQuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwLjVlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuaW5saW5lLmZpZWxkcyAudWkuY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAwLjRlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZpZWxkc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTcGxpdCBmaWVsZHMgKi9cbi51aS5mb3JtIC5maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW46IDAgLTAuNWVtIDFlbTtcbn1cbi51aS5mb3JtIC5maWVsZHMgPiAuZmllbGQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkuZm9ybSAuZmllbGRzID4gLmZpZWxkOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBPdGhlciBDb21iaW5hdGlvbnMgKi9cbi51aS5mb3JtIC50d28uZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50d28uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS5mb3JtIC50aHJlZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnRocmVlLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4udWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAuc2V2ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JTtcbn1cbi51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmVpZ2h0LmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5mb3JtIC5uaW5lLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTEuMTExMTExMTElO1xufVxuLnVpLmZvcm0gLnRlbi5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnRlbi5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTAlO1xufVxuLyogU3dhcCB0byBmdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuZm9ybSAuZmllbGRzIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMWVtO1xuICB9XG59XG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4udWkuZm9ybSAuZmllbGRzIC53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDYuMjUlO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5mb3JtIC5vbmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2LjI1JTtcbn1cbi51aS5mb3JtIC50d28ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5mb3JtIC50aHJlZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDE4Ljc1JTtcbn1cbi51aS5mb3JtIC5mb3VyLndpZGUuZmllbGQge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLmZvcm0gLmZpdmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAzMS4yNSU7XG59XG4udWkuZm9ybSAuc2l4LndpZGUuZmllbGQge1xuICB3aWR0aDogMzcuNSU7XG59XG4udWkuZm9ybSAuc2V2ZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA0My43NSU7XG59XG4udWkuZm9ybSAuZWlnaHQud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkuZm9ybSAubmluZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDU2LjI1JTtcbn1cbi51aS5mb3JtIC50ZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2Mi41JTtcbn1cbi51aS5mb3JtIC5lbGV2ZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2OC43NSU7XG59XG4udWkuZm9ybSAudHdlbHZlLndpZGUuZmllbGQge1xuICB3aWR0aDogNzUlO1xufVxuLnVpLmZvcm0gLnRoaXJ0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogODEuMjUlO1xufVxuLnVpLmZvcm0gLmZvdXJ0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogODcuNSU7XG59XG4udWkuZm9ybSAuZmlmdGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDkzLjc1JTtcbn1cbi51aS5mb3JtIC5zaXh0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEVxdWFsIFdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtIC5maWVsZHMgPiAuZmllbGQsXG4udWkuZm9ybSBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW5saW5lIEZpZWxkc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMge1xuICBtYXJnaW46IDAgMCAxZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMWVtIDAgMDtcbn1cbi8qIElubGluZSBMYWJlbCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IGxhYmVsLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gcCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBsYWJlbCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8qIEdyb3VwZWQgSW5saW5lIExhYmVsICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsIHtcbiAgbWFyZ2luOiAwLjAzNTcxZW0gMWVtIDAgMDtcbn1cbi8qIElubGluZSBJbnB1dCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBzZWxlY3QsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCAuY2FsZW5kYXI6bm90KC5wb3B1cCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApID4gLmlucHV0ID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkIC5jYWxlbmRhcjpub3QoLnBvcHVwKSA+IC5pbnB1dCA+IGlucHV0IHtcbiAgd2lkdGg6IDEzLjExZW07XG59XG4vKiBMYWJlbCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOmZpcnN0LWNoaWxkLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwLjg1NzE0Mjg2ZW0gMCAwO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOm9ubHktY2hpbGQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gOm9ubHktY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG4vKiBXaWRlICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCA+IGlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQgPiBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtLFxuLnVpLmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmZvcm0sXG4udWkubWluaS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkubWluaS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmZvcm0sXG4udWkudGlueS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkudGlueS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5mb3JtLFxuLnVpLnNtYWxsLmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbi51aS5zbWFsbC5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5mb3JtLFxuLnVpLmxhcmdlLmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbi51aS5sYXJnZS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuZm9ybSxcbi51aS5iaWcuZm9ybSAuZmllbGQgLmRyb3Bkb3duLFxuLnVpLmJpZy5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmZvcm0sXG4udWkuaHVnZS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkuaHVnZS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmZvcm0sXG4udWkubWFzc2l2ZS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkubWFzc2l2ZS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBHcmlkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEdyaWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbmhlcml0ZWQgRnJvbSBTaXRlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JpZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBSZWxheGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpdmlkZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFZlcnkgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExlZ2FjeVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVnYWN5IChETyBOT1QgVVNFKVxuICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUmVtb3ZlIEd1dHRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZ3JpZCB7XG4gIG1hcmdpbjogLTFyZW0gLTFyZW07XG59XG4udWkucmVsYXhlZC5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0yLjVyZW07XG59XG4vKiBQcmVzZXJ2ZSBSb3dzIFNwYWNpbmcgb24gQ29uc2VjdXRpdmUgR3JpZHMgKi9cbi51aS5ncmlkICsgLmdyaWQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFuZGFyZCAxNiBjb2x1bW4gKi9cbi51aS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2LjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBSb3dzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmdyaWQgPiAucm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sdW1uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFZlcnRpY2FsIHBhZGRpbmcgd2hlbiBubyByb3dzICovXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmdyaWQgPiAucm93ID4gaW1nLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBMb29zZSBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbGxhcHNlIE1hcmdpbiBvbiBDb25zZWN1dGl2ZSBHcmlkICovXG4udWkuZ3JpZCA+IC51aS5ncmlkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5ncmlkID4gLnVpLmdyaWQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiBTZWdtZW50IGluc2lkZSBBbGlnbmVkIEdyaWQgKi9cbi51aS5ncmlkIC5hbGlnbmVkLnJvdyA+IC5jb2x1bW4gPiAuc2VnbWVudDpub3QoLmNvbXBhY3QpOm5vdCguYXR0YWNoZWQpLFxuLnVpLmFsaWduZWQuZ3JpZCAuY29sdW1uID4gLnNlZ21lbnQ6bm90KC5jb21wYWN0KTpub3QoLmF0dGFjaGVkKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQWxpZ24gRGl2aWRlcnMgd2l0aCBHdXR0ZXIgKi9cbi51aS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlciB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luOiAxcmVtIDFyZW07XG59XG4udWkuZ3JpZCAuY29sdW1uICsgLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG4vKiBSZW1vdmUgQm9yZGVyIG9uIExhc3QgSG9yaXpvbnRhbCBTZWdtZW50ICovXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQgPiAuaG9yaXpvbnRhbC5zZWdtZW50LFxuLnVpLmdyaWQgPiAuY29sdW1uOmxhc3QtY2hpbGQgPiAuaG9yaXpvbnRhbC5zZWdtZW50IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBQYWdlIEdyaWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgcGFkZGluZy1yaWdodDogMyU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45OHB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMyU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sdW1uIENvdW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXNzdW1lIGZ1bGwgd2lkdGggd2l0aCBvbmUgY29sdW1uICovXG4udWkuZ3JpZCA+IC5jb2x1bW46b25seS1jaGlsZCxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW46b25seS1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogR3JpZCBCYXNlZCAqL1xuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNTAlO1xufVxuLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4udWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAyMCU7XG59XG4udWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG59XG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMTEuMTExMTExMTElO1xufVxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5JTtcbn1cbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcbn1cbi51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNy42OTIzMDc2OSU7XG59XG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDcuMTQyODU3MTQlO1xufVxuLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNi42NjY2NjY2NyU7XG59XG4udWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA2LjI1JTtcbn1cbi8qIFJvdyBCYXNlZCBPdmVycmlkZXMgKi9cbi51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTQuMjg1NzE0MjklICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMS4xMTExMTExMSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxMCUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiA3LjY5MjMwNzY5JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNy4xNDI4NTcxNCUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbn1cbi8qIENlbGxlZCBQYWdlICovXG4udWkuY2VsbGVkLnBhZ2UuZ3JpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbHVtbiBXaWR0aFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFdpZHRoIHBlciBEZXZpY2VcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBDb21wdXRlci9EZXNrdG9wIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIExhcmdlIE1vbml0b3IgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5Ljk4cHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBXaWRlc2NyZWVuIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENlbnRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jZW50ZXJlZC5ncmlkLFxuLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93LFxuLnVpLmdyaWQgPiAuY2VudGVyZWQucm93IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS5jZW50ZXJlZC5ncmlkID4gLmNvbHVtbjpub3QoLmFsaWduZWQpOm5vdCguanVzdGlmaWVkKTpub3QoLnJvdyksXG4udWkuY2VudGVyZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOm5vdCguYWxpZ25lZCk6bm90KC5qdXN0aWZpZWQpLFxuLnVpLmdyaWQgLmNlbnRlcmVkLnJvdyA+IC5jb2x1bW46bm90KC5hbGlnbmVkKTpub3QoLmp1c3RpZmllZCkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLmdyaWQgPiAuY2VudGVyZWQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmNlbnRlcmVkLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUmVsYXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmVsYXhlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yZWxheGVkLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cbi8qIENvdXBsaW5nIHdpdGggVUkgRGl2aWRlciAqL1xuLnVpLnJlbGF4ZWQuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIsXG4udWkuZ3JpZCAucmVsYXhlZC5yb3cgKyAudWkuZGl2aWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlcixcbi51aS5ncmlkIFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBhZGRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGFkZGVkLmdyaWQ6bm90KC52ZXJ0aWNhbGx5KTpub3QoLmhvcml6b250YWxseSkge1xuICBtYXJnaW46IDA7XG59XG5bY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbltjbGFzcyo9XCJ2ZXJ0aWNhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgXCJGbG9hdGVkXCJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmdyaWQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkuZ3JpZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBTd2FwIGZyb20gcGFkZGluZyB0byBtYXJnaW4gb24gY29sdW1ucyB0byBoYXZlIGRpdmlkZXJzIGFsaWduICovXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiBObyBkaXZpZGVyIG9uIGZpcnN0IGNvbHVtbiBvbiByb3cgKi9cbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogTm8gc3BhY2Ugb24gdG9wIG9mIGZpcnN0IHJvdyAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogRGl2aWRlZCBSb3cgKi9cbi51aS5ncmlkID4gLmRpdmlkZWQucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5ncmlkID4gLmRpdmlkZWQucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwIDFyZW07XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFBhZGRlZCBIb3Jpem9udGFsbHkgRGl2aWRlZCAqL1xuW2NsYXNzKj1cImhvcml6b250YWxseSBwYWRkZWRcIl0udWkuZGl2aWRlZC5ncmlkLFxuLnVpLnBhZGRlZC5kaXZpZGVkLmdyaWQ6bm90KC52ZXJ0aWNhbGx5KTpub3QoLmhvcml6b250YWxseSkge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEZpcnN0IFJvdyBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBJbnZlcnRlZCBEaXZpZGVkICovXG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiBSZWxheGVkICovXG4udWkucmVsYXhlZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cmVtKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBDZWxsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNlbGxlZC5ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMWVtIDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1O1xufVxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAjZDRkNGQ1O1xufVxuLnVpLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgI2Q0ZDRkNTtcbn1cbi51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMWVtO1xufVxuLnVpLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAxLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDJlbTtcbn1cbi8qIEludGVybmFsbHkgQ2VsbGVkICovXG4udWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBWZXJ0aWNhbGx5IEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVG9wIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuLyogTWlkZGxlIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4vKiBCb3R0b20gQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuLyogU3RyZXRjaGVkICovXG4udWkuc3RyZXRjaGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5zdHJldGNoZWQuZ3JpZCA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gLnN0cmV0Y2hlZC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gLnN0cmV0Y2hlZC5jb2x1bW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4gPiAqLFxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSA+ICosXG4udWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiA+ICoge1xuICBmbGV4LWdyb3c6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3Jpem9udGFsbHkgQ2VudGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVmdCBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS51aS5ncmlkID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG4vKiBDZW50ZXIgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBpbmhlcml0O1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi8qIFJpZ2h0IEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbn1cbi8qIEp1c3RpZmllZCAqL1xuLnVpLmp1c3RpZmllZC5ncmlkID4gLmNvbHVtbixcbi51aS5qdXN0aWZpZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuanVzdGlmaWVkLnJvdyA+IC5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IC5qdXN0aWZpZWQuY29sdW1uLFxuLnVpLnVpLmdyaWQgPiAucm93ID4gLmp1c3RpZmllZC5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ncmlkID4gLnByaW1hcnkucm93LFxuLnVpLmdyaWQgPiAucHJpbWFyeS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucHJpbWFyeS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnNlY29uZGFyeS5yb3csXG4udWkuZ3JpZCA+IC5zZWNvbmRhcnkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnNlY29uZGFyeS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnJlZC5yb3csXG4udWkuZ3JpZCA+IC5yZWQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnJlZC5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLm9yYW5nZS5yb3csXG4udWkuZ3JpZCA+IC5vcmFuZ2UuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLm9yYW5nZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnllbGxvdy5yb3csXG4udWkuZ3JpZCA+IC55ZWxsb3cuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLm9saXZlLnJvdyxcbi51aS5ncmlkID4gLm9saXZlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vbGl2ZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLmdyZWVuLnJvdyxcbi51aS5ncmlkID4gLmdyZWVuLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ncmVlbi5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnRlYWwucm93LFxuLnVpLmdyaWQgPiAudGVhbC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAudGVhbC5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLmJsdWUucm93LFxuLnVpLmdyaWQgPiAuYmx1ZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYmx1ZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnZpb2xldC5yb3csXG4udWkuZ3JpZCA+IC52aW9sZXQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnZpb2xldC5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnB1cnBsZS5yb3csXG4udWkuZ3JpZCA+IC5wdXJwbGUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLnBpbmsucm93LFxuLnVpLmdyaWQgPiAucGluay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucGluay5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLmJyb3duLnJvdyxcbi51aS5ncmlkID4gLmJyb3duLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5icm93bi5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLmdyZXkucm93LFxuLnVpLmdyaWQgPiAuZ3JleS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuZ3JleS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5ncmlkID4gLmJsYWNrLnJvdyxcbi51aS5ncmlkID4gLmJsYWNrLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ibGFjay5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBFcXVhbCBXaWR0aFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLnJvdyA+IC5jb2x1bW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLndpZGUuY29sdW1uLFxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAucm93ID4gLndpZGUuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ucm93ID4gLndpZGUuY29sdW1uIHtcbiAgZmxleC1ncm93OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUmV2ZXJzZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aS5zdGFja2FibGVbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbiAgLyogRGl2aWRlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bGFzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogQ2VsbGVkIFJldmVyc2VkICovXG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCAjZDRkNGQ1O1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4vKiBUYWJsZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZ3JpZCA+IC5yb3csXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgI2Q0ZDRkNTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLyogQ29tcHV0ZXIgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCAjZDRkNGQ1O1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEb3VibGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUYWJsZXQgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS5kb3VibGluZy5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC51aS5ncmlkOm5vdCguc3RyZXRjaGVkKSA+IC5kb3VibGluZy5yb3c6bm90KC5zdHJldGNoZWQpID4gLmNvbHVtbjpub3QoLnN0cmV0Y2hlZCksXG4gIC51aS5kb3VibGluZy5ncmlkOm5vdCguc3RyZXRjaGVkKSA+IC5yb3c6bm90KC5zdHJldGNoZWQpID4gLmNvbHVtbjpub3QoLnN0cmV0Y2hlZCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0MjklICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI5JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgYm9keSA+IC51aS5zdGFja2FibGUuZ3JpZCxcbiAgLnVpOm5vdCguc2VnbWVudCk6bm90KC5ncmlkKSAudWkuc3RhY2thYmxlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLndpZGUuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAud2lkZS5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4uZ3JpZCA+IC5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4ucm93ID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IC5zdGFja2FibGUuc3RhY2thYmxlLnN0YWNrYWJsZS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkOm5vdCgudmVydGljYWxseSkgPiAucm93IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAvKiBDb3VwbGluZyAqL1xuICAudWkuY29udGFpbmVyID4gLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbixcbiAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyogRG9uJ3QgcGFkIGluc2lkZSBzZWdtZW50IG9yIG5lc3RlZCBncmlkICovXG4gIC51aS5ncmlkIC51aS5zdGFja2FibGUuZ3JpZCxcbiAgLnVpLnNlZ21lbnQ6bm90KC52ZXJ0aWNhbCkgLnVpLnN0YWNrYWJsZS5wYWdlLmdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICB9XG4gIC8qIERpdmlkZWQgU3RhY2thYmxlICovXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCxcbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aS51aS5pbnZlcnRlZC5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93IHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPbmx5IChEZXZpY2UpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhlc2UgaW5jbHVkZSBhcmJpdHJhcnkgY2xhc3MgcmVwZXRpdGlvbnMgZm9yIGZvcmNlZCBzcGVjaWZpY2l0eSAqL1xuLyogTW9iaWxlIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudWkudWlbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLnRhYmxldCksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLnRhYmxldCksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZDpub3QoLnRhYmxldCksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIENvbXB1dGVyIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWlbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTGFyZ2UgU2NyZWVuIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5Ljk4cHgpIHtcbiAgLnVpLnVpLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogV2lkZXNjcmVlbiBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS51aS51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCB7XG4gIG1hcmdpbjogLTAuNXJlbTtcbn1cbi51aS51aS51aS5jb21wYWN0LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS51aS51aS5jb21wYWN0LmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG4udWkudWkudWkuY29tcGFjdC5ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG4vKiBSb3cgKi9cbi51aS51aS51aS5jb21wYWN0LmdyaWQgPiAucm93IHtcbiAgcGFkZGluZzogMC41cmVtIDA7XG59XG4vKiBDb2x1bW5zICovXG4udWkudWkudWkuY29tcGFjdC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLyogUmVsYXhlZCArIENlbGxlZCAqL1xuLnVpLmNvbXBhY3QucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmNvbXBhY3QucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMC43NWVtO1xufVxuLnVpLmNvbXBhY3RbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuY29tcGFjdFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnkgY29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQge1xuICBtYXJnaW46IC0wLjI1cmVtO1xufVxuLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cbi51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG59XG4vKiBSb3cgKi9cbi51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCA+IC5yb3cge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG4vKiBDb2x1bW5zICovXG4udWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cbi8qIFJlbGF4ZWQgKyBDZWxsZWQgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0ucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAwLjM3NWVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl1bY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAwLjVlbTtcbn1cbi51aS5ncmlkIC5sZWZ0LmF0dGFjaGVkLmNvbHVtbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4udWkuZ3JpZCAucmlnaHQuYXR0YWNoZWQuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE1lbnVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWVudVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbGxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNZW51ICovXG4vKiBNZW51IEl0ZW0gKi9cbi8qIERpdmlkZXIgKi9cbi8qIFN1YiBNZW51ICovXG4vKiBUZXh0IEl0ZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiAqL1xuLyogRHJvcGRvd24gSWNvbiAqL1xuLyogSGVhZGVyICovXG4vKiBWZXJ0aWNhbCBJY29uICovXG4vKiBWZXJ0aWNhbCBIZWFkZXIgKi9cbi8qIFBvaW50aW5nIEFycm93ICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCdXR0b24gKi9cbi8qIElucHV0ICovXG4vKiBJbWFnZSAqL1xuLyogTGFiZWwgKi9cbi8qIGhhcyB0byBiZSBlcXVhbCB0byBAY2lyY3VsYXJQYWRkaW5nIGZyb20gbGFiZWwubGVzcyAqL1xuLyogSW1hZ2UgTGFiZWwgKi9cbi8qIENhbGN1bGF0ZXMgYXM6IEB2ZXJ0aWNhbExhYmVsIChmcm9tIGxhYmVsLmxlc3MpIC0gQGxhYmVsVmVydGljYWxQYWRkaW5nIChmcm9tIGhlcmUpICovXG4vKiBMb2dpYyBhZG9wdGVkIGZyb20gbGFiZWwubGVzcyAqL1xuLyogRHJvcGRvd24gaW4gTWVudSAqL1xuLyogRHJvcGRvd24gVmFyaWF0aW9ucyAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhvdmVyZWQgSXRlbSAqL1xuLyogUHJlc3NlZCBJdGVtICovXG4vKiBBY3RpdmUgSXRlbSAqL1xuLyogQWN0aXZlIEhvdmVyZWQgSXRlbSAqL1xuLyogU2VsZWN0ZWQgRHJvcGRvd24gKi9cbi8qIEFjdGl2ZSBEcm9wZG93biAqL1xuLyogQWN0aXZlIFN1YiBNZW51ICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWZXJ0aWNhbCAqL1xuLyogU2Vjb25kYXJ5ICovXG4vKiBQb2ludGluZyAqL1xuLyogSW52ZXJ0ZWQgU2Vjb25kYXJ5ICovXG4vKiBJbnZlcnRlZCBQb2ludGluZyAqL1xuLyogVGllcmVkICovXG4vKiBJY29uICovXG4vKiBUYWJ1bGFyICovXG4vKiBQYWdpbmF0aW9uICovXG4vKiBMYWJlbGVkIEljb24gKi9cbi8qIFRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJbnZlcnRlZCBTdWIgTWVudSAqL1xuLyogSW52ZXJ0ZWQgSG92ZXIgKi9cbi8qIFByZXNzZWQgKi9cbi8qIEludmVydGVkIEFjdGl2ZSAqL1xuLyogSW52ZXJ0ZWQgQWN0aXZlIEhvdmVyICovXG4vKiBJbnZlcnRlZCBNZW51IERpdmlkZXIgKi9cbi8qIEludmVydGVkIENvbG9yZWQgKi9cbi8qIEZpeGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBBdHRhY2hlZCAqL1xuLyogUmVzaXplIGxhcmdlIHNpemVzICovXG4vKiBTaXplcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnZlcnRlZCBkcm9wZG93bnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUYWJ1bGFyICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIE1haW4gVG9wIE1lbnUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgbWluLWhlaWdodDogMi44NTcxNDI4NmVtO1xufVxuLnVpLm1lbnU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5tZW51OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBTdWItTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAubWVudSB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5tZW51Om5vdCgudmVydGljYWwpID4gLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLm1lbnUgLml0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDEuMTQyODU3MTRlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLyogQm9yZGVyICovXG4udWkubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFRleHQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAudGV4dC5pdGVtID4gKixcbi51aS5tZW51IC5pdGVtID4gYTpub3QoLnVpKSxcbi51aS5tZW51IC5pdGVtID4gcDpvbmx5LWNoaWxkIHtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4udWkubWVudSAuaXRlbSA+IHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lbnUgLml0ZW0gPiBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IC5pdGVtID4gaS5pY29uIHtcbiAgb3BhY2l0eTogMC45O1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIDAuMzU3MTQyODZlbSAwIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogLTAuNWVtIDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmctdG9wOiAwLjc4NTcxNDI5ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLVxuIEdyaWQgLyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSA+IC5ncmlkLFxuLnVpLm1lbnUgPiAuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAuaXRlbSA+IC5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBtYXJnaW46IC0wLjVlbSAwO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuaW5wdXQgaW5wdXQge1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZy10b3A6IDAuNTcxNDI4NTdlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNTcxNDI4NTdlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuaGVhZGVyLml0ZW0sXG4udWkudmVydGljYWwubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IFwiXCI7XG4gIHRleHQtdHJhbnNmb3JtOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgbWFyZ2luOiAwIDAgMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRHJvcGRvd25zXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5tZW51IC5pdGVtID4gaS5kcm9wZG93bi5pY29uIHtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAwIDFlbTtcbn1cbi8qIE1lbnUgKi9cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxcHgpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDAgMCAwO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnVpLm1lbnUgLmRyb3Bkb3duLml0ZW06bm90KC5jb2x1bW4pIC5tZW51IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi8qIE1lbnUgSXRlbXMgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMS4xNDI4NTcxNGVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duLml0ZW0gLm1lbnUgLml0ZW06bm90KC5maWx0ZXJlZCkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmljb25zLFxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAgMC43NWVtIDAgMCAhaW1wb3J0YW50O1xufVxuLyogU2Vjb25kYXJ5ICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSxcbi51aS50ZXh0Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIG1hcmdpbi10b3A6IDAuMzU3MTQyODZlbTtcbn1cbi8qIFBvaW50aW5nICovXG4udWkubWVudSAucG9pbnRpbmcuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIG1hcmdpbi10b3A6IDAuNzVlbTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubWVudSAuc2VhcmNoLmRyb3Bkb3duLml0ZW0gPiAuc2VhcmNoLFxuLnVpLmludmVydGVkLm1lbnUgLnNlYXJjaC5kcm9wZG93bi5pdGVtID4gLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gaS5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBsZWZ0OiAxMDAlO1xuICAvKiBJRSBuZWVkcyAwLCBhbGwgb3RoZXJzIHN1cHBvcnQgbWF4LWNvbnRlbnQgdG8gc2hvdyBkcm9wZG93biBpY29uIGlubGluZSwgc28ga2VlcCBib3RoIHNldHRpbmdzISAqL1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1hcmdpbjogMCAwIDAgMDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtLnVwd2FyZCAubWVudSB7XG4gIGJvdHRvbTogMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtOm5vdCgudXB3YXJkKSAubWVudSB7XG4gIHRvcDogMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5hY3RpdmUuaXRlbSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBFdmVubHkgRGl2aWRlZCAqL1xuLnVpLml0ZW0ubWVudSAuZHJvcGRvd24gLm1lbnUgLml0ZW0ge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuaXRlbSA+IC5sYWJlbDpub3QoLmZsb2F0aW5nKSB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzg1NzE0MjllbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogLTAuMTVlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMTVlbTtcbiAgcGFkZGluZzogMC4zZW0gMC43ODU3MTQyOWVtO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuZmxvYXRpbmcubGFiZWwge1xuICBwYWRkaW5nOiAwLjNlbSAwLjc4NTcxNDI5ZW07XG59XG4udWkubWVudSAuaXRlbSA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQ6ICM5OTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuaW1hZ2UubGFiZWwgaW1nIHtcbiAgbWFyZ2luOiAtMC4yODMzZW0gMC44ZW0gLTAuMjgzM2VtIC0wLjhlbTtcbiAgaGVpZ2h0OiAxLjU2NjZlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAtMC4zZW0gMDtcbiAgd2lkdGg6IDIuNWVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSk6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExpc3Rcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVudSBkaXZpZGVyIHNob3VsZG4ndCBhcHBseSAqL1xuLnVpLm1lbnUgLmxpc3QgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTaWRlYmFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaG93IHZlcnRpY2FsIGRpdmlkZXJzIGJlbG93IGxhc3QgKi9cbi51aS52ZXJ0aWNhbC5zaWRlYmFyLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi51aS52ZXJ0aWNhbC5zaWRlYmFyLm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5tZW51ID4gLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSA+IC5jb250YWluZXIgPiAuaXRlbTpub3QoLnJpZ2h0KTpub3QoLmJvcmRlcmxlc3MpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxuICAudWkubWVudTpub3QoLnNlY29uZGFyeSk6bm90KC50ZXh0KTpub3QoLnRhYnVsYXIpOm5vdCguYm9yZGVybGVzcykgPiAuY29udGFpbmVyID4gLnJpZ2h0Lml0ZW06bm90KC5ib3JkZXJsZXNzKTpsYXN0LWNoaWxkLFxuICAudWkubWVudTpub3QoLnNlY29uZGFyeSk6bm90KC50ZXh0KTpub3QoLnRhYnVsYXIpOm5vdCguYm9yZGVybGVzcykgPiAuY29udGFpbmVyID4gLnJpZ2h0Lm1lbnUgPiAuaXRlbTpub3QoLmJvcmRlcmxlc3MpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxpbmsubWVudSAuaXRlbTpob3Zlcixcbi51aS5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQcmVzc2VkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5saW5rLm1lbnUgLml0ZW06YWN0aXZlLFxuLnVpLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4udWkubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkubWVudSAuYWN0aXZlLml0ZW0gPiBpLmljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLm1lbnUgLml0ZW0uZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbkZsb2F0ZWQgTWVudSAvIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExlZnQgRmxvYXRlZCAqL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmxlZnQuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5sZWZ0Lm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi8qIFJpZ2h0IEZsb2F0ZWQgKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5yaWdodC5pdGVtLFxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLnJpZ2h0Lm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgOm5vdCguZHJvcGRvd24pID4gLmxlZnQubWVudSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIDpub3QoLmRyb3Bkb3duKSA+IC5yaWdodC5tZW51IHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cbi8qIENlbnRlciAqL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmNlbnRlci5pdGVtLFxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmNlbnRlci5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4vKiBTd2FwcGVkIEJvcmRlcnMgKi9cbi51aS5tZW51IC5yaWdodC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAucmlnaHQubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cbi8qIFJlbW92ZSBPdXRlciBCb3JkZXJzICovXG4udWkubWVudSAuY2VudGVyLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLm1lbnUgLmNlbnRlci5tZW51ID4gLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmVydGljYWwubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogLS0tIEl0ZW0gLS0tICovXG4udWkudmVydGljYWwubWVudSAuaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkudmVydGljYWwubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKiAtLS0gTGFiZWwgLS0tICovXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5sYWJlbCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogLS0tIEljb24gLS0tICovXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IGkuaWNvbixcbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaS5pY29ucyB7XG4gIHdpZHRoOiAxLjE4ZW07XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCAwLjVlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsICsgaS5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4vKiAtLS0gQm9yZGVyIC0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0gU3ViIE1lbnUgLS0tICovXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5tZW51IHtcbiAgbWFyZ2luOiAwLjVlbSAtMS4xNDI4NTcxNGVtIDA7XG59XG4udWkudmVydGljYWwubWVudSAubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNWVtIDEuMzMzMzMzMzNlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSBhLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSAubGluay5pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4udWkudmVydGljYWwubWVudSAubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFZlcnRpY2FsIEFjdGl2ZSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuYWN0aXZlLml0ZW06b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRhYnVsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWJ1bGFyLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNGQ0ZDU7XG59XG4udWkudGFidWxhci5mbHVpZC5tZW51IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCkgIWltcG9ydGFudDtcbn1cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDEuNDI4NTcxNDNlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudGFidWxhci5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogSG92ZXIgKi9cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2Q0ZDRkNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDAgIWltcG9ydGFudDtcbn1cbi51aS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLyogQ291cGxpbmcgd2l0aCBzZWdtZW50IGZvciBhdHRhY2htZW50ICovXG4udWkudGFidWxhci5tZW51IH4gLmF0dGFjaGVkOm5vdCgudG9wKS5zZWdtZW50IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udG9wLmF0dGFjaGVkLnNlZ21lbnQgKyAudWkuYm90dG9tLnRhYnVsYXIubWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIGxlZnQ6IC0xcHg7XG59XG4vKiBCb3R0b20gVmVydGljYWwgVGFidWxhciAqL1xuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjZDRkNGQ1O1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIFZlcnRpY2FsIFRhYnVsYXIgKExlZnQpICovXG4udWkudmVydGljYWwudGFidWxhci5tZW51IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkudmVydGljYWwudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogI2Q0ZDRkNTtcbiAgbWFyZ2luOiAwIC0xcHggMCAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKiBWZXJ0aWNhbCBSaWdodCBUYWJ1bGFyICovXG4udWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItY29sb3I6ICNkNGQ0ZDU7XG4gIG1hcmdpbjogMCAwIDAgLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAhaW1wb3J0YW50O1xufVxuLyogRHJvcGRvd24gKi9cbi51aS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU1NTtcbn1cbi51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLml0ZW06bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFBhZ2luYXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wYWdpbmF0aW9uLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkucGFnaW5hdGlvbi5tZW51Om5vdCgud3JhcHBpbmcpIC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkucGFnaW5hdGlvbi5tZW51IC5pdGVtIHtcbiAgbWluLXdpZHRoOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5wYWdpbmF0aW9uLm1lbnUgLmljb24uaXRlbSBpLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogQWN0aXZlICovXG4udWkucGFnaW5hdGlvbi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwLjkyODU3MTQzZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTZWNvbmRhcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWNvbmRhcnkubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zNTcxNDI4NmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjM1NzE0Mjg2ZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEl0ZW0gKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaXRlbSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC45Mjg1NzE0M2VtO1xuICBtYXJnaW46IDAgMC4zNTcxNDI4NmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBObyBEaXZpZGVyICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEhlYWRlciAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbn1cbi8qIEltYWdlICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBtYXJnaW46IDA7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5Lm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOm5vdCguZGlzYWJsZWQpLFxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IGEuaXRlbTpub3QoLmRpc2FibGVkKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIEZpeCBpdGVtIG1hcmdpbnMgKi9cbi51aS5zZWNvbmRhcnkuaXRlbS5tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi51aS5zZWNvbmRhcnkuaXRlbS5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWkuc2Vjb25kYXJ5LmF0dGFjaGVkLm1lbnUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFNlY29uZGFyeSBWZXJ0aWNhbFxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgbWFyZ2luOiAwIC0wLjkyODU3MTQzZW07XG59XG4udWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjVlbSAxLjMzMzMzMzMzZW07XG59XG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLm1lbnUgPiAuaXRlbSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC4zNTcxNDI4NmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLm1lbnUgPiAuaGVhZGVyLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbSA+IC5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU2Vjb25kYXJ5IFBvaW50aW5nXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIG1hcmdpbjogMCAwIC0ycHg7XG4gIHBhZGRpbmc6IDAuODU3MTQyODZlbSAxLjE0Mjg1NzE0ZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5pdGVtID4gLmxhYmVsOm5vdCguZmxvYXRpbmcpIHtcbiAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zZW07XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0gPiAuY2lyY3VsYXIubGFiZWwge1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbn1cbi8qIEl0ZW0gVHlwZXMgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaGVhZGVyLml0ZW0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC50ZXh0Lml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBQcmVzc2VkICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLml0ZW06YWN0aXZlLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5saW5rLml0ZW06YWN0aXZlLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IGEuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogQWN0aXZlICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgRHJvcGRvd24gKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuYWN0aXZlLmRyb3Bkb3duLml0ZW0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogVmVydGljYWwgUG9pbnRpbmcgKi9cbi51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgLTJweCAwIDA7XG59XG4vKiBWZXJ0aWNhbCBBY3RpdmUgKi9cbi51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi8qIEludmVydGVkICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuaXRlbTpub3QoLmRpc2FibGVkKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSBhLml0ZW06aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVGV4dCBNZW51XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGV4dC5tZW51IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDFlbSAtMC41ZW07XG59XG4udWkudGV4dC5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMzU3MTQyODZlbSAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4vKiBCb3JkZXIgKi9cbi51aS50ZXh0Lm1lbnUgLml0ZW06OmJlZm9yZSxcbi51aS50ZXh0Lm1lbnUgLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEhlYWRlciAqL1xuLnVpLnRleHQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qIEltYWdlICovXG4udWkudGV4dC5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogLS0tIGZsdWlkIHRleHQgLS0tICovXG4udWkudGV4dC5pdGVtLm1lbnUgLml0ZW0ge1xuICBtYXJnaW46IDA7XG59XG4vKiAtLS0gdmVydGljYWwgdGV4dCAtLS0gKi9cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUge1xuICBtYXJnaW46IDFlbSAwO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkudmVydGljYWwudGV4dC5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSB7XG4gIG1hcmdpbjogMC41NzE0Mjg1N2VtIDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIDAuMzU3MTQyODZlbSAwIDA7XG59XG4udWkudmVydGljYWwudGV4dC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIG1hcmdpbjogMC41NzE0Mjg1N2VtIDAgMC43MTQyODU3MWVtO1xufVxuLyogVmVydGljYWwgU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjVlbSAwO1xufVxuLyogLS0tIGhvdmVyIC0tLSAqL1xuLnVpLnRleHQubWVudSAuaXRlbTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogLS0tIGFjdGl2ZSAtLS0gKi9cbi51aS50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0gYWN0aXZlIGhvdmVyIC0tLSAqL1xuLnVpLnRleHQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIERpc2FibGUgQmFyaWF0aW9ucyAqL1xuLnVpLnRleHQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS50ZXh0LmF0dGFjaGVkLm1lbnUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUsXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5pdGVtLFxuLnVpLmludmVydGVkLnRleHQubWVudSAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLnRleHQubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJY29uIE9ubHlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFZlcnRpY2FsIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5pY29uLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogSXRlbSAqL1xuLnVpLmljb24ubWVudSAuaXRlbSB7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEljb24gKi9cbi51aS5pY29uLm1lbnUgLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBJY29uIEdseXBoICovXG4udWkuaWNvbi5tZW51IGkuaWNvbjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qICh4KSBJdGVtIEljb24gKi9cbi51aS5tZW51IC5pY29uLml0ZW0gPiBpLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4vKiBWZXJ0aWNhbCBJY29uICovXG4udWkudmVydGljYWwuaWNvbi5tZW51IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuaWNvbi5tZW51IC5pdGVtIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIExhYmVsZWQgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVudSAqL1xuLnVpLmxhYmVsZWQuaWNvbi5tZW51IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogSXRlbSAqL1xuLnVpLmxhYmVsZWQuaWNvbi5tZW51IC5pdGVtIHtcbiAgbWluLXdpZHRoOiA2ZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4vKiBJY29uICovXG4udWkubGFiZWxlZC5pY29uLm1lbnUgPiAucmlnaHQubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pLFxuLnVpLmxhYmVsZWQuaWNvbi5tZW51ID4gLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICBoZWlnaHQ6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvIDAuNXJlbSAhaW1wb3J0YW50O1xufVxuLyogRmx1aWQgKi9cbi51aS5mbHVpZC5sYWJlbGVkLmljb24ubWVudSA+IC5pdGVtIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RhY2thYmxlLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51LnBvaW50aW5nIC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAubGVmdC5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQuaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lml0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5jZW50ZXIubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5jZW50ZXIuaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lm1lbnUsXG4gIC51aS5zdGFja2FibGUubWVudSAuY2VudGVyLm1lbnUsXG4gIC51aS5zdGFja2FibGUubWVudSAubGVmdC5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLm1lbnUgLnByaW1hcnkuYWN0aXZlLml0ZW0sXG4udWkudWkucHJpbWFyeS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5wcmltYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkudWkudWkubWVudSAucmVkLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLnJlZC5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5yZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS51aS5tZW51IC5vcmFuZ2UuYWN0aXZlLml0ZW0sXG4udWkudWkub3JhbmdlLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLm9yYW5nZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnVpLnVpLm1lbnUgLnllbGxvdy5hY3RpdmUuaXRlbSxcbi51aS51aS55ZWxsb3cubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkudWkubWVudSAub2xpdmUuYWN0aXZlLml0ZW0sXG4udWkudWkub2xpdmUubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkub2xpdmUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS51aS5tZW51IC5ncmVlbi5hY3RpdmUuaXRlbSxcbi51aS51aS5ncmVlbi5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5ncmVlbi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLnVpLm1lbnUgLnRlYWwuYWN0aXZlLml0ZW0sXG4udWkudWkudGVhbC5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS50ZWFsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudWkubWVudSAuYmx1ZS5hY3RpdmUuaXRlbSxcbi51aS51aS5ibHVlLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS51aS5tZW51IC52aW9sZXQuYWN0aXZlLml0ZW0sXG4udWkudWkudmlvbGV0Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLnZpb2xldC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnVpLnVpLm1lbnUgLnB1cnBsZS5hY3RpdmUuaXRlbSxcbi51aS51aS5wdXJwbGUubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkudWkubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS51aS5waW5rLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLnBpbmsubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS51aS5tZW51IC5icm93bi5hY3RpdmUuaXRlbSxcbi51aS51aS5icm93bi5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5icm93bi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLnVpLm1lbnUgLmdyZXkuYWN0aXZlLml0ZW0sXG4udWkudWkuZ3JleS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5ncmV5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkudWkubWVudSAuYmxhY2suYWN0aXZlLml0ZW0sXG4udWkudWkuYmxhY2subWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkuYmxhY2subWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQubWVudSB7XG4gIGJvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIE1lbnUgSXRlbSAqL1xuLnVpLmludmVydGVkLm1lbnUgLml0ZW0sXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbSA+IGE6bm90KC51aSkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtLm1lbnUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi8qIC0tLSBCb3JkZXIgLS0tICovXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLm1lbnUgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5pbnZlcnRlZC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBEaXNhYmxlZCAqL1xuLnVpLnVpLmludmVydGVkLm1lbnUgLml0ZW0uZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjMpO1xufVxuLyogLS0tIEhvdmVyIC0tLSAqL1xuLnVpLmxpbmsuaW52ZXJ0ZWQubWVudSAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIC0tLSBQcmVzc2VkIC0tLSAqL1xuLnVpLmludmVydGVkLm1lbnUgYS5pdGVtOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiAtLS0gQWN0aXZlIC0tLSAqL1xuLnVpLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogIzNkM2UzZjtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2QzZTNmO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLSBBY3RpdmUgSG92ZXIgLS0tICovXG4udWkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2QzZTNmO1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMzZDNlM2Y7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsb2F0ZWQubWVudSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbn1cbi51aS5mbG9hdGVkLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5yaWdodC5mbG9hdGVkLm1lbnUge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMC41cmVtO1xufVxuLnVpLmNlbnRlci5hbGlnbmVkLm1lbnU6bm90KC5mbHVpZCksXG4udWkuY2VudGVyZWQubWVudTpub3QoLmZsdWlkKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG4udWkuY2VudGVyLmFsaWduZWQubWVudSAuaXRlbSxcbi51aS5jZW50ZXJlZC5tZW51IC5pdGVtIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5wcmltYXJ5LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLnByaW1hcnkubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5wcmltYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVkMmI1OTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5yZWQuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQucmVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnJlZC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQucmVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLnJlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAub3JhbmdlLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLm9yYW5nZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLm9yYW5nZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5vcmFuZ2UubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2MjAyO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLnllbGxvdy5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC55ZWxsb3cubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93Lm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC55ZWxsb3cubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5vbGl2ZS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5vbGl2ZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQub2xpdmUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcub2xpdmUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLmdyZWVuLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLmdyZWVuLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5ncmVlbi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5ncmVlbi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAudGVhbC5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC50ZWFsLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnRlYWwubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLnRlYWwubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcudGVhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAuYmx1ZS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5ibHVlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLmJsdWUubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcuYmx1ZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAudmlvbGV0LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLnZpb2xldC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLnZpb2xldC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy52aW9sZXQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTgyOWJiO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLnB1cnBsZS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5wdXJwbGUubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5wdXJwbGUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5waW5rLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLnBpbmsubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQucGluay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5waW5rLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5icm93bi5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5icm93bi5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQuYnJvd24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcuYnJvd24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc1YjMzO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLmdyZXkuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQuZ3JleS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5Lm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5ncmV5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLmdyZXkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLmJsYWNrLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLmJsYWNrLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmJsYWNrLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5ibGFjay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5ibGFjay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmE7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5maXR0ZWQubWVudSAuaXRlbSxcbi51aS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbi51aS5tZW51IC5maXR0ZWQuaXRlbSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udWkuaG9yaXpvbnRhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbi51aS5tZW51IC5ob3Jpem9udGFsbHkuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogMC45Mjg1NzE0M2VtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0sXG4udWkudmVydGljYWxseS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbi51aS5tZW51IC52ZXJ0aWNhbGx5LmZpdHRlZC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjE0Mjg1NzE0ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMTQyODU3MTRlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQm9yZGVybGVzc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJvcmRlcmxlc3MubWVudSAuaXRlbTo6YmVmb3JlLFxuLnVpLmJvcmRlcmxlc3MubWVudSAuaXRlbSAubWVudSAuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLmJvcmRlcmxlc3MuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21wYWN0Lm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmNvbXBhY3QudmVydGljYWwubWVudSB7XG4gIC8qIElFIGhhY2sgdG8gbWFrZSBkcm9wZG93biBpY29ucyBhcHBlYXIgaW5saW5lICovXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuY29tcGFjdC5tZW51Om5vdCguc2Vjb25kYXJ5KSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLmNvbXBhY3QudmVydGljYWwubWVudSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51LmZsdWlkLFxuLnVpLnZlcnRpY2FsLm1lbnUuZmx1aWQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEV2ZW5seSBTaXplZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ubWVudSA+IC5pdGVtIHtcbiAgZmxleDogMTtcbn1cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51ID4gLml0ZW0sXG4udWkuaXRlbS5tZW51LFxuLnVpLml0ZW0ubWVudSAuaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS5hdHRhY2hlZFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51Om5vdCgudGFidWxhciksXG4udWkuYXR0YWNoZWQuaXRlbS5tZW51Om5vdCgudGFidWxhcikge1xuICBtYXJnaW46IDAgLTFweCAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLm1lbnUgPiAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUsXG4udWkuaXRlbS5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkubWVudS50d28uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkubWVudS50aHJlZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG4udWkubWVudS5mb3VyLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLm1lbnUuZml2ZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5tZW51LnNpeC5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG4udWkubWVudS5zZXZlbi5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDE0LjI4NSU7XG59XG4udWkubWVudS5laWdodC5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpLm1lbnUubmluZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDExLjExJTtcbn1cbi51aS5tZW51LnRlbi5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi51aS5tZW51LmVsZXZlbi5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDkuMDklO1xufVxuLnVpLm1lbnUudHdlbHZlLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogOC4zMzMlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpeGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudS5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAxO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm1lbnUuZml4ZWQsXG4udWkubWVudS5maXhlZCAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5tZW51LmZpeGVkIC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4udWkuZml4ZWQubWVudSxcbi51aVtjbGFzcyo9XCJ0b3AgZml4ZWRcIl0ubWVudSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbi51aVtjbGFzcyo9XCJ0b3AgZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKiBDb3VwbGluZyB3aXRoIEdyaWQgKi9cbi51aS5maXhlZC5tZW51ICsgLnVpLmdyaWQge1xuICBwYWRkaW5nLXRvcDogMi43NXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUG9pbnRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAuNXB4IDAgMDtcbiAgd2lkdGg6IDAuNTcxNDI4NTdlbTtcbiAgaGVpZ2h0OiAwLjU3MTQyODU3ZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBtYXJnaW46IDAgLTAuNXB4IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q0ZDRkNTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS5wb2ludGluZy5tZW51IC51aS5kcm9wZG93biAubWVudSAuaXRlbTo6YWZ0ZXIsXG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLmRyb3Bkb3duLml0ZW06OmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogRG9uJ3QgZG91YmxlIHVwIHBvaW50ZXJzICovXG4udWkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW06OmFmdGVyLFxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQ29sb3JzICovXG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkuZmx1aWQudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAucHJpbWFyeS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnNlY29uZGFyeS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnJlZC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLm9yYW5nZS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnllbGxvdy5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC50ZWFsLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYmx1ZS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnZpb2xldC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnB1cnBsZS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnBpbmsuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5icm93bi5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmdyZXkuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5ibGFjay5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLm1lbnUge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwIC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVudTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogVG9wICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLm1lbnUge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5tZW51W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogQXR0YWNoZWQgTWVudSBJdGVtICovXG4udWkudG9wLmF0dGFjaGVkLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDA7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDAuMjg1NzE0MjlyZW07XG59XG4vKiBUYWJ1bGFyIEF0dGFjaGVkICovXG4udWkuYXR0YWNoZWQubWVudTpub3QoLnRhYnVsYXIpOm5vdCgudGV4dCkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLmF0dGFjaGVkLmludmVydGVkLm1lbnUge1xuICBib3JkZXI6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmludmVydGVkLnRhYnVsYXIubWVudSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU1O1xufVxuLnVpLmF0dGFjaGVkLnRhYnVsYXIubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLndyYXBwaW5nLm1lbnUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udWkud3JhcHBpbmcubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4udWkud3JhcHBpbmcubWVudSAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS53cmFwcGluZy5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSAuaXRlbTpsYXN0LW9mLXR5cGUsXG4udWkud3JhcHBpbmcubWVudTpub3QoLnNlY29uZGFyeSk6bm90KC50ZXh0KTpub3QoLnRhYnVsYXIpOm5vdCguYm9yZGVybGVzcykgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS53cmFwcGVkLm1lbnU6bm90KC5zZWNvbmRhcnkpOm5vdCgudGV4dCk6bm90KC50YWJ1bGFyKTpub3QoLmJvcmRlcmxlc3MpIC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS53cmFwcGVkLm1lbnU6bm90KC5zZWNvbmRhcnkpOm5vdCgudGV4dCk6bm90KC50YWJ1bGFyKTpub3QoLmJvcmRlcmxlc3MpIC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMTVyZW07XG59XG4udWkubWluaS5tZW51LFxuLnVpLm1pbmkubWVudSAuZHJvcGRvd24sXG4udWkubWluaS5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLm1pbmkudmVydGljYWwubWVudTpub3QoLmljb24pIHtcbiAgd2lkdGg6IDlyZW07XG59XG4udWkudGlueS5tZW51LFxuLnVpLnRpbnkubWVudSAuZHJvcGRvd24sXG4udWkudGlueS5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnRpbnkudmVydGljYWwubWVudTpub3QoLmljb24pIHtcbiAgd2lkdGg6IDExcmVtO1xufVxuLnVpLnNtYWxsLm1lbnUsXG4udWkuc21hbGwubWVudSAuZHJvcGRvd24sXG4udWkuc21hbGwubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC52ZXJ0aWNhbC5tZW51Om5vdCguaWNvbikge1xuICB3aWR0aDogMTNyZW07XG59XG4udWkubGFyZ2UubWVudSxcbi51aS5sYXJnZS5tZW51IC5kcm9wZG93bixcbi51aS5sYXJnZS5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3cmVtO1xufVxuLnVpLmxhcmdlLnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gIHdpZHRoOiAxOHJlbTtcbn1cbi51aS5iaWcubWVudSxcbi51aS5iaWcubWVudSAuZHJvcGRvd24sXG4udWkuYmlnLm1lbnUgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gIHdpZHRoOiAyMHJlbTtcbn1cbi51aS5odWdlLm1lbnUsXG4udWkuaHVnZS5tZW51IC5kcm9wZG93bixcbi51aS5odWdlLm1lbnUgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMjE0Mjg1NzFyZW07XG59XG4udWkuaHVnZS52ZXJ0aWNhbC5tZW51Om5vdCguaWNvbikge1xuICB3aWR0aDogMjJyZW07XG59XG4udWkubWFzc2l2ZS5tZW51LFxuLnVpLm1hc3NpdmUubWVudSAuZHJvcGRvd24sXG4udWkubWFzc2l2ZS5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLm1hc3NpdmUudmVydGljYWwubWVudTpub3QoLmljb24pIHtcbiAgd2lkdGg6IDI1cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnZlcnRlZCBkcm9wZG93bnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuaW52ZXJ0ZWQuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAhaW1wb3J0YW50O1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5pbnZlcnRlZC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkudG9wLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudG9wLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkudG9wLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS50b3AubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLnVpLnRvcC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTWVzc2FnZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIZWFkZXIgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogTGlzdCAqL1xuLyogSWNvbiAqL1xuLyogQ2xvc2UgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEljb24gTWVzc2FnZSAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEZsb2F0aW5nICovXG4vKiBDb2xvcnMgKi9cbi8qIFdhcm5pbmcgLyBQb3NpdGl2ZSAvIE5lZ2F0aXZlIC8gSW5mbyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDFlbSAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY5O1xuICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yMikgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5tZXNzYWdlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIZWFkZXIgKi9cbi51aS5tZXNzYWdlIC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IC0wLjE0Mjg1NzE0ZW0gMCAwIDA7XG59XG4vKiBEZWZhdWx0IGZvbnQgc2l6ZSAqL1xuLnVpLm1lc3NhZ2UgLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLyogUGFyYWdyYXBoICovXG4udWkubWVzc2FnZSBwIHtcbiAgb3BhY2l0eTogMC44NTtcbiAgbWFyZ2luOiAwLjc1ZW0gMDtcbn1cbi51aS5tZXNzYWdlIHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2UgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5tZXNzYWdlIC5oZWFkZXIgKyBwIHtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xufVxuLyogTGlzdCAqL1xuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg1O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIG1hcmdpbjogMC41ZW0gMCAwO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgMCAwLjNlbSAxZW07XG4gIHBhZGRpbmc6IDA7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIuKAolwiO1xuICBsZWZ0OiAtMWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogSWNvbiAqL1xuLnVpLmljb24ubWVzc2FnZSA+IC5pY29ucyxcbi51aS5pY29uLm1lc3NhZ2UgPiBpLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xufVxuLnVpLmljb24ubWVzc2FnZSA+IC5pY29uczpsYXN0LWNoaWxkLFxuLnVpLmljb24ubWVzc2FnZSA+IGkuaWNvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjZlbTtcbn1cbi8qIENsb3NlIEljb24gKi9cbi51aS5tZXNzYWdlID4gLmNsb3NlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDAuNzg1NzVlbTtcbiAgcmlnaHQ6IDAuNWVtO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLnVpLm1lc3NhZ2UgPiAuY2xvc2UuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBGaXJzdCAvIExhc3QgRWxlbWVudCAqL1xuLnVpLm1lc3NhZ2UgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2UgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIG1hcmdpbjogMCAtMXB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmlzaWJsZS52aXNpYmxlLnZpc2libGUudmlzaWJsZS5tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuaWNvbi52aXNpYmxlLnZpc2libGUudmlzaWJsZS52aXNpYmxlLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oaWRkZW4uaGlkZGVuLmhpZGRlbi5oaWRkZW4ubWVzc2FnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jZW50ZXJlZC5tZXNzYWdlLFxuLnVpLmNlbnRlci5hbGlnbmVkLm1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnVpLmNlbnRlcmVkLm1lc3NhZ2UgPiAuY29udGVudCxcbi51aS5jZW50ZXIuYWxpZ25lZC5tZXNzYWdlID4gLmNvbnRlbnQge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi51aS5yaWdodC5hbGlnbmVkLm1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21wYWN0Lm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi51aS5jb21wYWN0Lmljb24ubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYXR0YWNoZWQubWVzc2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLm1lc3NhZ2U6bm90KC50b3ApOm5vdCguYm90dG9tKSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldCwgMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQubWVzc2FnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnVpLmF0dGFjaGVkLmljb24ubWVzc2FnZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaWNvbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuaWNvbi5tZXNzYWdlID4gLmljb25zLFxuLnVpLmljb24ubWVzc2FnZSA+IGkuaWNvbjpub3QoLmNsb3NlKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDNlbTtcbiAgb3BhY2l0eTogMC44O1xufVxuLnVpLmljb24ubWVzc2FnZSA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmljb24ubWVzc2FnZSA+IC5pY29ucyArIC5jb250ZW50LFxuLnVpLmljb24ubWVzc2FnZSA+IGkuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnVpLmljb24ubWVzc2FnZSA+IGkuY2lyY3VsYXIge1xuICB3aWR0aDogMWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGluZy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yMikgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbG9ycyAqL1xuLnVpLnBvc2l0aXZlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZmY1O1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi51aS5wb3NpdGl2ZS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnBvc2l0aXZlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzYzI5MyBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnBvc2l0aXZlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzYzI5MyBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkucG9zaXRpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMxYTUzMWI7XG59XG4udWkuaW52ZXJ0ZWQucG9zaXRpdmUubWVzc2FnZSxcbi51aS5pbnZlcnRlZC5wb3NpdGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2EzYzI5Mztcbn1cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjZmNjtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkubmVnYXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlMGI0YjQgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlMGI0YjQgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLm5lZ2F0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOTEyZDJiO1xufVxuLnVpLmludmVydGVkLm5lZ2F0aXZlLm1lc3NhZ2UsXG4udWkuaW52ZXJ0ZWQubmVnYXRpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNlMGI0YjQ7XG59XG4udWkuZXJyb3IubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY2ZjY7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLmVycm9yLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuZXJyb3IubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTBiNGI0IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcuZXJyb3IubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTBiNGI0IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5lcnJvci5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkxMmQyYjtcbn1cbi51aS5pbnZlcnRlZC5lcnJvci5tZXNzYWdlLFxuLnVpLmludmVydGVkLmVycm9yLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjZWNkMWQxO1xufVxuLnVpLmluZm8ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGZmZmY7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLnVpLmluZm8ubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5pbmZvLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2E5ZDVkZSBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLmluZm8ubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTlkNWRlIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5pbmZvLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMGU1NjZjO1xufVxuLnVpLmludmVydGVkLmluZm8ubWVzc2FnZSxcbi51aS5pbnZlcnRlZC5pbmZvLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjYzZlM2U5O1xufVxuLnVpLnN1Y2Nlc3MubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZmZjU7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLnVpLnN1Y2Nlc3MubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5zdWNjZXNzLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzYzI5MyBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnN1Y2Nlc3MubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTNjMjkzIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zdWNjZXNzLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWE1MzFiO1xufVxuLnVpLmludmVydGVkLnN1Y2Nlc3MubWVzc2FnZSxcbi51aS5pbnZlcnRlZC5zdWNjZXNzLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjYjlkMWFkO1xufVxuLnVpLndhcm5pbmcubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZhZjM7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLnVpLndhcm5pbmcubWVzc2FnZSxcbi51aS5hdHRhY2hlZC53YXJuaW5nLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2M5YmE5YiBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLndhcm5pbmcubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYzliYTliIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS53YXJuaW5nLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjNzk0YjAyO1xufVxuLnVpLmludmVydGVkLndhcm5pbmcubWVzc2FnZSxcbi51aS5pbnZlcnRlZC53YXJuaW5nLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjZDdjY2I1O1xufVxuLnVpLnByaW1hcnkubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZmY7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkucHJpbWFyeS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnByaW1hcnkubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNkMzNjY3IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcucHJpbWFyeS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM2QzM2NjcgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnByaW1hcnkubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC45KTtcbn1cbi51aS5zZWNvbmRhcnkubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuc2Vjb25kYXJ5Lm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuc2Vjb25kYXJ5Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzg4ZDMxNyBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnNlY29uZGFyeS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4OGQzMTcgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNlY29uZGFyeS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjkpO1xufVxuLnVpLnJlZC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThlNjtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkucmVkLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQucmVkLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2RiMjgyOCBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnJlZC5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkYjI4MjggaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnJlZC5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2M4MjEyMTtcbn1cbi51aS5vcmFuZ2UubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkZGU7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLm9yYW5nZS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLm9yYW5nZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmMjcxMWMgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5vcmFuZ2UubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjI3MTFjIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5vcmFuZ2UubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNlNzY0MGQ7XG59XG4udWkueWVsbG93Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOGRiO1xuICBjb2xvcjogI2I1ODEwNTtcbn1cbi51aS55ZWxsb3cubWVzc2FnZSxcbi51aS5hdHRhY2hlZC55ZWxsb3cubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYjU4MTA1IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcueWVsbG93Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2I1ODEwNSBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkueWVsbG93Lm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOWM2ZjA0O1xufVxuLnVpLm9saXZlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmZGVmO1xuICBjb2xvcjogIzhhYmMxZTtcbn1cbi51aS5vbGl2ZS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLm9saXZlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzhhYmMxZSBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLm9saXZlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzhhYmMxZSBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkub2xpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM3YWE2MWE7XG59XG4udWkuZ3JlZW4ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWY5ZTc7XG4gIGNvbG9yOiAjMWViYzMwO1xufVxuLnVpLmdyZWVuLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuZ3JlZW4ubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMWViYzMwIGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcuZ3JlZW4ubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMWViYzMwIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5ncmVlbi5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzFhYTYyYTtcbn1cbi51aS50ZWFsLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmN2Y3O1xuICBjb2xvcjogIzEwYTNhMztcbn1cbi51aS50ZWFsLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQudGVhbC5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxMGEzYTMgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy50ZWFsLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzEwYTNhMyBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudGVhbC5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzBlOGM4Yztcbn1cbi51aS5ibHVlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGZmO1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5ibHVlLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuYmx1ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMyMTg1ZDAgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5ibHVlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzIxODVkMCBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuYmx1ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzFlNzdiYTtcbn1cbi51aS52aW9sZXQubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWU3ZmY7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnZpb2xldC5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnZpb2xldC5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM2NDM1YzkgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy52aW9sZXQubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNjQzNWM5IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS52aW9sZXQubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM1YTMwYjU7XG59XG4udWkucHVycGxlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZlN2ZmO1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5wdXJwbGUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wdXJwbGUubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTMzM2M4IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcucHVycGxlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzMzNjOCBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkucHVycGxlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOTIyZWI0O1xufVxuLnVpLnBpbmsubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUzZmI7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnBpbmsubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5waW5rLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2UwMzk5NyBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnBpbmsubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTAzOTk3IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5waW5rLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjZGQyMzhiO1xufVxuLnVpLmJyb3duLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlMmQzO1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5icm93bi5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmJyb3duLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2E1NjczZiBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLmJyb3duLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2E1NjczZiBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuYnJvd24ubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5MzViMzg7XG59XG4udWkuZ3JleS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuZ3JleS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmdyZXkubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNzY3Njc2IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcuZ3JleS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM3Njc2NzYgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmdyZXkubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM2OTY5Njk7XG59XG4udWkuYmxhY2subWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuYmxhY2subWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubWluaS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkudGlueS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkuc21hbGwubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmh1Z2UubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gVGFibGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVGFibGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhcnRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRhYmxlIFJvdyAqL1xuLyogVGFibGUgQ2VsbCAqL1xuLyogVGFibGUgSGVhZGVyICovXG4vKiBUYWJsZSBGb290ZXIgKi9cbi8qIFJlc3BvbnNpdmUgU2l6ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmaW5pdGlvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ3Ncbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogRXJyb3IgKi9cbi8qIFdhcm5pbmcgKi9cbi8qIEFjdGl2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIFN0cmlwZWQgKi9cbi8qIFNlbGVjdGFibGUgKi9cbi8qIFNvcnRhYmxlICovXG4vKiBDb2xvcnMgKi9cbi8qIEludmVydGVkICovXG4vKiBCYXNpYyAqL1xuLyogUGFkZGVkICovXG4vKiBDb21wYWN0ICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIFN0dWNrICovXG4vKiBTaXplcyAqL1xuLyogUmVzaXphYmxlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUHJvdG90eXBlICovXG4udWkudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuLnVpLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS50YWJsZSA+IHRoZWFkLFxuLnVpLnRhYmxlID4gdGJvZHkge1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUGFydHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUYWJsZSBDb250ZW50ICovXG4udWkudGFibGUgdGgsXG4udWkudGFibGUgdGQge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlO1xufVxuLyogUm93c3BhbiBoZWxwZXIgY2xhc3MgKi9cbi51aS50YWJsZSB0aC5yb3dzcGFubmVkLFxuLnVpLnRhYmxlIHRkLnJvd3NwYW5uZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogSGVhZGVycyAqL1xuLnVpLnRhYmxlID4gdGhlYWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDAuNzg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDA7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4vKiBGb290ZXIgKi9cbi51aS50YWJsZSA+IHRmb290IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIGN1cnNvcjogYXV0bztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aDpvbmx5LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQ6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKiBUYWJsZSBSb3cgKi9cbi51aS50YWJsZSA+IHRyID4gdGQsXG4udWkudGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnRhYmxlID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi51aS50YWJsZSA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBSZXBlYXRlZCB0Ym9keSAqL1xuLnVpLnRhYmxlID4gdGJvZHkgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qIFRhYmxlIENlbGxzICovXG4udWkudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkudGFibGUgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cbi8qIEljb25zICovXG4udWkudGFibGUgPiBpLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkudGFibGUgPiBpLmljb246b25seS1jaGlsZCB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIFRhYmxlIFNlZ21lbnQgKi9cbi51aS50YWJsZS5zZWdtZW50IHtcbiAgcGFkZGluZzogMDtcbn1cbi51aS50YWJsZS5zZWdtZW50OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudGFibGUuc2VnbWVudC5zdGFja2VkOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRoZWFkID4gdHIsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290LFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRib2R5ID4gdHIsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQgPiB0ciA+IHRoOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRib2R5ID4gdHIgPiB0aDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIgPiB0ZDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyID4gdGQ6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0ciA+IHRkOm5vdCgucm93c3Bhbm5lZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0aGVhZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0aGVhZCA+IHRyLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIgPiB0aCxcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyID4gdGgsXG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290ID4gdHIgPiB0aCxcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIgPiB0ZCxcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHkgPiB0ciA+IHRkLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjc1ZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLyogRGVmaW5pdGlvbiBUYWJsZSAqL1xuICAudWkuZGVmaW5pdGlvbi50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzg4ZDMxNyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZGIyODI4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkYjI4MjggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2ZmNjk1ZSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2YyNzExYyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZjI3MTFjIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZmY4NTFiIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZjg1MWIgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2ZiYmQwOCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmZTIxZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmZlMjFmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNiNWNjMTggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYjVjYzE4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkOWU3NzggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZDllNzc4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMyMWJhNDUgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMjFiYTQ1IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMyZWNjNDAgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMmVjYzQwIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzAwYjVhZCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzAwYjVhZCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMjE4NWQwIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMjE4NWQwIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzY0MzVjOSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNjQzNWM5IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjYTI5MWZiIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhMjkxZmIgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2EzMzNjOCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RjNzNmZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZGM3M2ZmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2UwMzk5NyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2UwMzk5NyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZjhlZGYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZjhlZGYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2E1NjczZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhNTY3M2YgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2Q2N2MxYyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkNjdjMWMgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNzY3Njc2IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNzY3Njc2IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMWIxYzFkIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzFiMWMxZCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDYuNzQ5ODM5MjllbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDYuNzQ5ODM5MjllbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogNC40OTk4OTI4NmVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA0LjQ5OTg5Mjg2ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA4Ljk5OTc4NTcxZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA4Ljk5OTc4NTcxZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogMjYuOTk5MzU3MTRlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAyNi45OTkzNTcxNGVtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZS5zaG9ydCB7XG4gICAgbWF4LWhlaWdodDogMTEuMjQ5NzMyMTRlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogNy40OTk4MjE0M2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgbWF4LWhlaWdodDogMTQuOTk5NjQyODZlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUubG9uZyB7XG4gICAgbWF4LWhlaWdodDogMjkuOTk5Mjg1NzFlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA0NC45OTg5Mjg1N2VtO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogOC45OTk3ODU3MWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIGhlaWdodDogOC45OTk3ODU3MWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA1Ljk5OTg1NzE0ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDUuOTk5ODU3MTRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDExLjk5OTcxNDI5ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAxMS45OTk3MTQyOWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAyMy45OTk0Mjg1N2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAyMy45OTk0Mjg1N2VtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDM1Ljk5OTE0Mjg2ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogMzUuOTk5MTQyODZlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDEzLjQ5OTY3ODU3ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAxMy40OTk2Nzg1N2VtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA4Ljk5OTc4NTcxZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDguOTk5Nzg1NzFlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAzNS45OTkxNDI4NmVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAzNS45OTkxNDI4NmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDUzLjk5ODcxNDI5ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogNTMuOTk4NzE0MjllbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIGhlaWdodDogMTcuOTk5NTcxNDNlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogMTEuOTk5NzE0MjllbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogMTEuOTk5NzE0MjllbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDIzLjk5OTQyODU3ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAyMy45OTk0Mjg1N2VtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA0Ny45OTg4NTcxNGVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA0Ny45OTg4NTcxNGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDcxLjk5ODI4NTcxZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogNzEuOTk4Mjg1NzFlbTtcbiAgfVxufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCA+IHRyLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290ID4gdHIsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkgPiB0ciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LFxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgfVxufVxuLyogQ2Ftb3VmbGFnZSBzY3JvbGxiYXJzLCB3ZSBuZWVkIHRoZW0gb25seSB0byBnYWluIHRoZSBzYW1lIHdpZHRoIGFzIHRib2R5ICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogI2Y5ZmFmYjtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGNvbG9yOiAjZjlmYWZiO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICBzY3JvbGxiYXItY29sb3I6IGN1cnJlbnRDb2xvciBjdXJyZW50Q29sb3I7XG4gIH1cbn1cbi8qIElFIHNjcm9sbGJhciBjb2xvciBuZWVkcyBoZXggdmFsdWVzICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLFxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCB7XG4gICAgY29sb3I6ICNmOWZhZmI7XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICBjb2xvcjogI2Y5ZmFmYjtcbiAgfVxuICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQge1xuICAgIGNvbG9yOiAjMjUyNTI1O1xuICB9XG4gIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gICAgY29sb3I6ICMyNTI1MjU7XG4gIH1cbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgLyogSUUxMSAqL1xuICBzY3JvbGxiYXItZmFjZS1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAjMzIzMjMyO1xuICBzY3JvbGxiYXItYXJyb3ctY29sb3I6ICMzMjMyMzI7XG59XG5Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIC8qIGZpcmVmb3g6IGZpcnN0IGNvbG9yIHRodW1iLCBzZWNvbmQgdHJhY2sgKi9cbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG59XG4udWkucmVzaXphYmxlLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBPdmVyZmxvd2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDEzLjQ5OTY3ODU3ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDguOTk5Nzg1NzFlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDM1Ljk5OTE0Mjg2ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNTMuOTk4NzE0MjllbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDExLjk5OTcxNDI5ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMy45OTk0Mjg1N2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA0Ny45OTg4NTcxNGVtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcxLjk5ODI4NTcxZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZS5zaG9ydCB7XG4gICAgbWF4LWhlaWdodDogMjIuNDk5NDY0MjllbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogMTQuOTk5NjQyODZlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDI5Ljk5OTI4NTcxZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDU5Ljk5ODU3MTQzZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogODkuOTk3ODU3MTRlbTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVUkgSW1hZ2UgKi9cbi51aS50YWJsZSAuY29sbGFwc2luZyAuaW1hZ2UsXG4udWkudGFibGUgLmNvbGxhcHNpbmcgLmltYWdlIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbXBsZXhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0cnVjdHVyZWQudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuLnVpLnN0cnVjdHVyZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnN0cnVjdHVyZWQuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3RydWN0dXJlZC5iYXNpYy50YWJsZSA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5iYXNpYy50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRyID4gdGQsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEZWZpbml0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkOm5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJveC1zaGFkb3c6IC0wLjFlbSAtMC4yZW0gMCAwLjFlbSAjRkZGRkZGO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkOm5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkOm5vdCg6ZW1wdHkpIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290Om5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJveC1zaGFkb3c6IC0wLjFlbSAwLjJlbSAwIDAuMWVtICNGRkZGRkY7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi8qIEhpZ2hsaWdodCBEZWZpbmluZyBDb2x1bW4gKi9cbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQ6bm90KC5pZ25vcmVkKSxcbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOm5vdCguaWdub3JlZCksXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0ciB0ZC5kZWZpbml0aW9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICB0ZXh0LXRyYW5zZm9ybTogXCJcIjtcbiAgYm94LXNoYWRvdzogXCJcIjtcbiAgdGV4dC1hbGlnbjogXCJcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmctbGVmdDogXCJcIjtcbiAgcGFkZGluZy1yaWdodDogXCJcIjtcbn1cbi8qIEZpeCAybmQgQ29sdW1uICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkOm5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSA+IHRyID4gdGg6bnRoLWNoaWxkKDIpLFxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0ZDpudGgtY2hpbGQoMikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6bnRoLWNoaWxkKDIpLFxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBQb3NpdGl2ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnBvc2l0aXZlLFxuLnVpLnVpLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgI2EzYzI5MyBpbnNldDtcbiAgYmFja2dyb3VuZDogI2ZjZmZmNTtcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIucG9zaXRpdmUsXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQucG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kOiAjYTNjMjkzO1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBOZWdhdGl2ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLm5lZ2F0aXZlLFxuLnVpLnVpLnRhYmxlIHRkLm5lZ2F0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgI2UwYjRiNCBpbnNldDtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIubmVnYXRpdmUsXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQubmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kOiAjZTBiNGI0O1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRXJyb3JcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS50YWJsZSB0ci5lcnJvcixcbi51aS51aS50YWJsZSB0ZC5lcnJvciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwICNlMGI0YjQgaW5zZXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmVycm9yLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmVycm9yIHtcbiAgYmFja2dyb3VuZDogI2UwYjRiNDtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgV2FybmluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLndhcm5pbmcsXG4udWkudWkudGFibGUgdGQud2FybmluZyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwICNjOWJhOWIgaW5zZXQ7XG4gIGJhY2tncm91bmQ6ICNmZmZhZjM7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLndhcm5pbmcsXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNlZWM5N2U7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEFjdGl2ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLmFjdGl2ZSxcbi51aS51aS50YWJsZSB0ZC5hY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuODcpIGluc2V0O1xuICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5hY3RpdmUsXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2EwYTBhMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbi51aS51aS51aS50YWJsZSB0ciB0ZC5kaXNhYmxlZCxcbi51aS50YWJsZSB0ci5kaXNhYmxlZDpob3Zlcixcbi51aS50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0cixcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0aDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciA+IHRkOm5vdCgucm93c3Bhbm5lZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyLFxuICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciA+IHRoLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC43NWVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogRGVmaW5pdGlvbiBUYWJsZSAqL1xuICAudWkuZGVmaW5pdGlvbltjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNkMzNjY3IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzg4ZDMxNyBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RiMjgyOCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkYjI4MjggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmNjk1ZSBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2YyNzExYyBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmMjcxMWMgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmODUxYiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZjg1MWIgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZiYmQwOCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmZTIxZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZmUyMWYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjYjVjYzE4IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYjVjYzE4IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2Q5ZTc3OCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2Q5ZTc3OCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMyMWJhNDUgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICMyMWJhNDUgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMmVjYzQwIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMmVjYzQwIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMDBiNWFkIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICMwMGI1YWQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzZkZmZmZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMjE4NWQwIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzY0MzVjOSBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM2NDM1YzkgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2EyOTFmYiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhMjkxZmIgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2EzMzNjOCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RjNzNmZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkYzczZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2UwMzk5NyBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmOGVkZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmY4ZWRmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2E1NjczZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2E1NjczZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkNjdjMWMgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkNjdjMWMgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM3Njc2NzYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzc2NzY3NiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZGNkZGRlIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzFiMWMxZCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzFiMWMxZCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBUZXh0IEFsaWdubWVudFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRhYmxlW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkudGFibGVbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFZlcnRpY2FsIEFsaWdubWVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRhYmxlW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkudGFibGVbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29sbGFwc2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRhYmxlIHRoLmNvbGxhcHNpbmcsXG4udWkudGFibGUgdGQuY29sbGFwc2luZyB7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5maXhlZC50YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4udWkuZml4ZWQudGFibGUgdGgsXG4udWkuZml4ZWQudGFibGUgdGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2VsZWN0YWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgPiB0Ym9keSA+IHRyOmhvdmVyLFxuLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS51aS5zZWxlY3RhYmxlLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0cjpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBTZWxlY3RhYmxlIENlbGwgTGluayAqL1xuLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUge1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUgPiBhOm5vdCgudWkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnRhYmxlOm5vdCguY29tcGFjdCkgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZSA+IGE6bm90KC51aSkge1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtO1xufVxuLnVpLnRhYmxlID4gdHIgPiB0ZC5zZWxlY3RhYmxlLFxuLnVpLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLnNlbGVjdGFibGUsXG4udWkuc2VsZWN0YWJsZS50YWJsZSA+IHRib2R5ID4gdHIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSA+IHRyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogT3RoZXIgU3RhdGVzICovXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5lcnJvcjpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmVycm9yOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjZmZlN2U3O1xuICBjb2xvcjogIzk0MzYzNDtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLndhcm5pbmc6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS53YXJuaW5nOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY0ZTQ7XG4gIGNvbG9yOiAjNDkzMTA3O1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuYWN0aXZlOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYWN0aXZlOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5wb3NpdGl2ZTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnBvc2l0aXZlOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjdmZmU2O1xuICBjb2xvcjogIzI3NWIyODtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLm5lZ2F0aXZlOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUubmVnYXRpdmU6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5uZWdhdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmU3ZTc7XG4gIGNvbG9yOiAjOTQzNjM0O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLnRhYmxlIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMCAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLnRhYmxlOm5vdCgudG9wKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBUb3AgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0udGFibGUge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGUge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdHJpcGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUYWJsZSBTdHJpcGluZyAqL1xuLnVpLnN0cmlwZWQudGFibGUgPiB0cjpudGgtY2hpbGQoMm4pLFxuLnVpLnN0cmlwZWQudGFibGUgPiB0Ym9keSA+IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDUwLCAwLjAyKTtcbn1cbi8qIFN0cmlwZXMgKi9cbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cbi8qIEFsbG93IHN0cmlwZWQgYWN0aXZlIGhvdmVyICovXG4udWkuc3RyaXBlZC5zZWxlY3RhYmxlLnNlbGVjdGFibGUuc2VsZWN0YWJsZS50YWJsZSB0Ym9keSB0ci5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBTaW5nbGUgTGluZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGFibGVbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHJpbWFyeSxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2RkZjRmZjtcbiAgY29sb3I6ICNkZGY0ZmY7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHJpbWFyeSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHJpbWFyeSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHJpbWFyeSA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHJpbWFyeSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnksXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnByaW1hcnkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnkgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnByaW1hcnkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIucHJpbWFyeTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgucHJpbWFyeTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQucHJpbWFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGRmNGZmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5wcmltYXJ5Om5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5wcmltYXJ5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5wcmltYXJ5Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5wcmltYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnByaW1hcnk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucHJpbWFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZDNmMWZmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIucHJpbWFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wcmltYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnByaW1hcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzIxYjhmZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjNkMzNjY3IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbn1cbi51aS5zZWNvbmRhcnkudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuc2Vjb25kYXJ5LFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNkZGRkZGQ7XG4gIGNvbG9yOiAjZGRkZGRkO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnNlY29uZGFyeSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Quc2Vjb25kYXJ5ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5zZWNvbmRhcnkgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnNlY29uZGFyeSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnNlY29uZGFyeSxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5zZWNvbmRhcnkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnNlY29uZGFyeSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuc2Vjb25kYXJ5ID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5zZWNvbmRhcnkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5zZWNvbmRhcnk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnNlY29uZGFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGRkZGRkO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLnNlY29uZGFyeTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuc2Vjb25kYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnNlY29uZGFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTJlMmUyO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnNlY29uZGFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5zZWNvbmRhcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzZlNmU2ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4udWkucmVkLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnJlZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5yZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZlMWRmO1xuICBjb2xvcjogI2ZmZTFkZjtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5yZWQgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnJlZCA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucmVkID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5yZWQgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucmVkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnJlZCB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnJlZCA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucmVkID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5yZWQgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnJlZCA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5yZWQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLnJlZDpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQucmVkOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmUxZGY7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5yZWQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnJlZDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIucmVkOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIucmVkOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5yZWQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnJlZDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIucmVkOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5yZWQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnJlZDpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJyZWQgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIucmVkOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnJlZDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5yZWQ6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZDdkNTtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJyZWQgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5yZWQ6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucmVkOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnJlZDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmYzOTJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2RiMjgyOCBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2RiMjgyOCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2ZmNjk1ZSBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2ZmNjk1ZSBpbnNldDtcbn1cbi51aS5vcmFuZ2UudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub3JhbmdlLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNmZmU3ZDE7XG4gIGNvbG9yOiAjZmZlN2QxO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9yYW5nZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub3JhbmdlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vcmFuZ2UgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9yYW5nZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vcmFuZ2UsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub3JhbmdlIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub3JhbmdlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vcmFuZ2UgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9yYW5nZSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub3JhbmdlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLm9yYW5nZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgub3JhbmdlOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5vcmFuZ2U6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZTdkMTtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLm9yYW5nZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIub3JhbmdlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLm9yYW5nZTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQub3JhbmdlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLm9yYW5nZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIub3JhbmdlOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUub3JhbmdlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm9yYW5nZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmFlMWNjO1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLm9yYW5nZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5vcmFuZ2U6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQub3JhbmdlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNlNzZiMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZjI3MTFjIGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZjI3MTFjIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZmY4NTFiIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZmY4NTFiIGluc2V0O1xufVxuLnVpLnllbGxvdy50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LnRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC55ZWxsb3csXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QueWVsbG93IHtcbiAgYmFja2dyb3VuZDogI2ZmZjlkMjtcbiAgY29sb3I6ICNmZmY5ZDI7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQueWVsbG93ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC55ZWxsb3cgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnllbGxvdyA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QueWVsbG93ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYjU4MTA1O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnllbGxvdyxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC55ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC55ZWxsb3cgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnllbGxvdyA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQueWVsbG93ID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC55ZWxsb3cgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIueWVsbG93Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC55ZWxsb3c6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnllbGxvdzpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmZmOWQyO1xuICBjb2xvcjogI2I1ODEwNTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIueWVsbG93Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci55ZWxsb3c6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnllbGxvdzpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYjU4MTA1O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnllbGxvdzpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgueWVsbG93Om5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC55ZWxsb3c6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLnllbGxvdzpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIueWVsbG93Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci55ZWxsb3c6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnllbGxvdzpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS55ZWxsb3c6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQueWVsbG93Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmYmY1Y2M7XG4gIGNvbG9yOiAjYjU4MTA1O1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIueWVsbG93Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnllbGxvdzpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC55ZWxsb3c6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ViY2QwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNmZmUyMWYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNmZmUyMWYgaW5zZXQ7XG59XG4udWkub2xpdmUudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjYjVjYzE4O1xufVxuLnVpLmludmVydGVkLm9saXZlLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vbGl2ZSxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vbGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmN2ZhZTQ7XG4gIGNvbG9yOiAjZjdmYWU0O1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9saXZlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vbGl2ZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub2xpdmUgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9saXZlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjOGFiYzFlO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9saXZlLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9saXZlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub2xpdmUgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9saXZlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vbGl2ZSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub2xpdmUgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIub2xpdmU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLm9saXZlOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5vbGl2ZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjdmYWU0O1xuICBjb2xvcjogIzhhYmMxZTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIub2xpdmU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLm9saXZlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5vbGl2ZTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjOGFiYzFlO1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLm9saXZlOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5vbGl2ZTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQub2xpdmU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLm9saXZlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5vbGl2ZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIub2xpdmU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLm9saXZlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLm9saXZlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm9saXZlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmNmZhZGE7XG4gIGNvbG9yOiAjOGFiYzFlO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIub2xpdmU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUub2xpdmU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQub2xpdmU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2QyZTc0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjYjVjYzE4IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2I1Y2MxOCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNkOWU3NzggaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZDllNzc4IGluc2V0O1xufVxuLnVpLmdyZWVuLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JlZW4sXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjZDVmNWQ5O1xuICBjb2xvcjogI2Q1ZjVkOTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmVlbiA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JlZW4gPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZWVuID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmVlbiA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzFlYmMzMDtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmVlbixcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZWVuID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmVlbiA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JlZW4gPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZWVuID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLmdyZWVuOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5ncmVlbjpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQuZ3JlZW46bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2Q1ZjVkOTtcbiAgY29sb3I6ICMxZWJjMzA7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLmdyZWVuOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5ncmVlbjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuZ3JlZW46bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzFlYmMzMDtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5ncmVlbjpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGguZ3JlZW46bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmdyZWVuOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5ncmVlbjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuZ3JlZW46bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmdyZWVuOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5ncmVlbjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ncmVlbjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ncmVlbjpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZDJlZWQ1O1xuICBjb2xvcjogIzFlYmMzMDtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLmdyZWVuOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmdyZWVuOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmdyZWVuOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMxZWE5MmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzIxYmE0NSBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICMyMWJhNDUgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjMmVjYzQwIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzJlY2M0MCBpbnNldDtcbn1cbi51aS50ZWFsLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnRlYWwge1xuICBiYWNrZ3JvdW5kOiAjZTJmZmZmO1xuICBjb2xvcjogI2UyZmZmZjtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC50ZWFsID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC50ZWFsID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTBhM2EzO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnRlYWwsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudGVhbCB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnRlYWwgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnRlYWwgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnRlYWwgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnRlYWwgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIudGVhbDpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgudGVhbDpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQudGVhbDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTJmZmZmO1xuICBjb2xvcjogIzEwYTNhMztcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIudGVhbDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIudGVhbDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIudGVhbDpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTBhM2EzO1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnRlYWw6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLnRlYWw6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnRlYWw6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnRlYWw6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUudGVhbDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC50ZWFsOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNkOGZmZmY7XG4gIGNvbG9yOiAjMTBhM2EzO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIudGVhbDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS50ZWFsOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnRlYWw6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzNhZmZmZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzAwYjVhZCBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjMDBiNWFkIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzZkZmZmZiBpbnNldDtcbn1cbi51aS5ibHVlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjZGRmNGZmO1xuICBjb2xvcjogI2RkZjRmZjtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibHVlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibHVlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsdWUsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsdWUgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsdWUgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsdWUgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsdWUgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIuYmx1ZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGguYmx1ZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQuYmx1ZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGRmNGZmO1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIuYmx1ZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuYmx1ZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuYmx1ZTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmJsdWU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLmJsdWU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmJsdWU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLmJsdWU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYmx1ZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ibHVlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNkM2YxZmY7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIuYmx1ZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ibHVlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmJsdWU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzIxYjhmZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjMjE4NWQwIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbn1cbi51aS52aW9sZXQudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnZpb2xldC50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudmlvbGV0LFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnZpb2xldCB7XG4gIGJhY2tncm91bmQ6ICNlY2U5ZmU7XG4gIGNvbG9yOiAjZWNlOWZlO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnZpb2xldCA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudmlvbGV0ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC52aW9sZXQgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnZpb2xldCA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC52aW9sZXQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudmlvbGV0IHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudmlvbGV0ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC52aW9sZXQgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnZpb2xldCA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudmlvbGV0ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnZpb2xldDpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgudmlvbGV0Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC52aW9sZXQ6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2VjZTlmZTtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLnZpb2xldDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIudmlvbGV0Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci52aW9sZXQ6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci52aW9sZXQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLnZpb2xldDpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQudmlvbGV0Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci52aW9sZXQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnZpb2xldDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIudmlvbGV0Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci52aW9sZXQ6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUudmlvbGV0Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnZpb2xldDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTNkZWZmO1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnZpb2xldDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS52aW9sZXQ6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQudmlvbGV0Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM3NDVhZmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNjQzNWM5IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjNjQzNWM5IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjYTI5MWZiIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjYTI5MWZiIGluc2V0O1xufVxuLnVpLnB1cnBsZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wdXJwbGUsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHVycGxlIHtcbiAgYmFja2dyb3VuZDogI2Y4ZTNmZjtcbiAgY29sb3I6ICNmOGUzZmY7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHVycGxlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wdXJwbGUgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnB1cnBsZSA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHVycGxlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnB1cnBsZSxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wdXJwbGUgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnB1cnBsZSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHVycGxlID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wdXJwbGUgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIucHVycGxlOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5wdXJwbGU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnB1cnBsZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjhlM2ZmO1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIucHVycGxlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5wdXJwbGU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnB1cnBsZTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnB1cnBsZTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgucHVycGxlOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5wdXJwbGU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLnB1cnBsZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucHVycGxlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5wdXJwbGU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnB1cnBsZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wdXJwbGU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucHVycGxlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmNWQ5ZmY7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIucHVycGxlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnB1cnBsZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5wdXJwbGU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2NmNDBmZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNkYzczZmYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNkYzczZmYgaW5zZXQ7XG59XG4udWkucGluay50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5waW5rIHtcbiAgYmFja2dyb3VuZDogI2ZmZThmOTtcbiAgY29sb3I6ICNmZmU4Zjk7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucGluayA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucGluayA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5waW5rLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnBpbmsge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5waW5rID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5waW5rID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5waW5rID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5waW5rID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnBpbms6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLnBpbms6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnBpbms6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZThmOTtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLnBpbms6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnBpbms6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnBpbms6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5waW5rOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5waW5rOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5waW5rOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5waW5rOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnBpbms6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucGluazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmZkZWY2O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnBpbms6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucGluazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5waW5rOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmZjViZDE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2UwMzk5NyBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZmY4ZWRmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNmZjhlZGYgaW5zZXQ7XG59XG4udWkuYnJvd24udGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLmJyb3duLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5icm93bixcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5icm93biB7XG4gIGJhY2tncm91bmQ6ICNmN2U1ZDI7XG4gIGNvbG9yOiAjZjdlNWQyO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJyb3duID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5icm93biA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYnJvd24gPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJyb3duID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJyb3duLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJyb3duIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYnJvd24gPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJyb3duID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5icm93biA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYnJvd24gPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIuYnJvd246bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLmJyb3duOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5icm93bjpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjdlNWQyO1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIuYnJvd246bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLmJyb3duOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5icm93bjpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmJyb3duOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5icm93bjpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQuYnJvd246bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLmJyb3duOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5icm93bjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuYnJvd246bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLmJyb3duOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmJyb3duOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmJyb3duOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNlZmUwY2Y7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIuYnJvd246bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYnJvd246bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYnJvd246bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2IwNjIwZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjYTU2NzNmIGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2E1NjczZiBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNkNjdjMWMgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZDY3YzFjIGluc2V0O1xufVxuLnVpLmdyZXkudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLmdyZXkudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXksXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXkgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZXkgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXkgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZXkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JleSxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmV5IHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JleSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JleSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JleSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JleSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5ncmV5Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5ncmV5Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5ncmV5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5ncmV5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5ncmV5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5ncmV5Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuZ3JleTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGguZ3JleTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQuZ3JleTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZ3JleTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ncmV5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmdyZXk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2MyYzRjNTtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5ncmV5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmdyZXk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuZ3JleTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjYzJjNGM1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNzY3Njc2IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM3Njc2NzYgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZGNkZGRlIGluc2V0O1xufVxuLnVpLmJsYWNrLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmxhY2ssXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibGFjayA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmxhY2sgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsYWNrID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibGFjayA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibGFjayxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsYWNrID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibGFjayA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmxhY2sgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsYWNrID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLmJsYWNrOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5ibGFjazpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQuYmxhY2s6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLmJsYWNrOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5ibGFjazpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuYmxhY2s6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5ibGFjazpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGguYmxhY2s6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmJsYWNrOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5ibGFjazpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuYmxhY2s6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmJsYWNrOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5ibGFjazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ibGFjazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ibGFjazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLmJsYWNrOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmJsYWNrOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmJsYWNrOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzFiMWMxZCBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICMxYjFjMWQgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2x1bW4gQ291bnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdyaWQgQmFzZWQgKi9cbi51aS5vbmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudHdvLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkudGhyZWUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cbi51aS5mb3VyLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkuZml2ZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnNpeC5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuLnVpLnNldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG59XG4udWkuZWlnaHQuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpLm5pbmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cbi51aS50ZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi51aS5lbGV2ZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDkuMDkwOTA5MDklO1xufVxuLnVpLnR3ZWx2ZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG4udWkudGhpcnRlZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDcuNjkyMzA3NjklO1xufVxuLnVpLmZvdXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA3LjE0Mjg1NzE0JTtcbn1cbi51aS5maWZ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA2LjY2NjY2NjY3JTtcbn1cbi51aS5zaXh0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA2LjI1JTtcbn1cbi8qIENvbHVtbiBXaWR0aCAqL1xuLnVpLnRhYmxlIHRoLm9uZS53aWRlLFxuLnVpLnRhYmxlIHRkLm9uZS53aWRlIHtcbiAgd2lkdGg6IDYuMjUlO1xufVxuLnVpLnRhYmxlIHRoLnR3by53aWRlLFxuLnVpLnRhYmxlIHRkLnR3by53aWRlIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpLnRhYmxlIHRoLnRocmVlLndpZGUsXG4udWkudGFibGUgdGQudGhyZWUud2lkZSB7XG4gIHdpZHRoOiAxOC43NSU7XG59XG4udWkudGFibGUgdGguZm91ci53aWRlLFxuLnVpLnRhYmxlIHRkLmZvdXIud2lkZSB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkudGFibGUgdGguZml2ZS53aWRlLFxuLnVpLnRhYmxlIHRkLmZpdmUud2lkZSB7XG4gIHdpZHRoOiAzMS4yNSU7XG59XG4udWkudGFibGUgdGguc2l4LndpZGUsXG4udWkudGFibGUgdGQuc2l4LndpZGUge1xuICB3aWR0aDogMzcuNSU7XG59XG4udWkudGFibGUgdGguc2V2ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5zZXZlbi53aWRlIHtcbiAgd2lkdGg6IDQzLjc1JTtcbn1cbi51aS50YWJsZSB0aC5laWdodC53aWRlLFxuLnVpLnRhYmxlIHRkLmVpZ2h0LndpZGUge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnRhYmxlIHRoLm5pbmUud2lkZSxcbi51aS50YWJsZSB0ZC5uaW5lLndpZGUge1xuICB3aWR0aDogNTYuMjUlO1xufVxuLnVpLnRhYmxlIHRoLnRlbi53aWRlLFxuLnVpLnRhYmxlIHRkLnRlbi53aWRlIHtcbiAgd2lkdGg6IDYyLjUlO1xufVxuLnVpLnRhYmxlIHRoLmVsZXZlbi53aWRlLFxuLnVpLnRhYmxlIHRkLmVsZXZlbi53aWRlIHtcbiAgd2lkdGg6IDY4Ljc1JTtcbn1cbi51aS50YWJsZSB0aC50d2VsdmUud2lkZSxcbi51aS50YWJsZSB0ZC50d2VsdmUud2lkZSB7XG4gIHdpZHRoOiA3NSU7XG59XG4udWkudGFibGUgdGgudGhpcnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC50aGlydGVlbi53aWRlIHtcbiAgd2lkdGg6IDgxLjI1JTtcbn1cbi51aS50YWJsZSB0aC5mb3VydGVlbi53aWRlLFxuLnVpLnRhYmxlIHRkLmZvdXJ0ZWVuLndpZGUge1xuICB3aWR0aDogODcuNSU7XG59XG4udWkudGFibGUgdGguZmlmdGVlbi53aWRlLFxuLnVpLnRhYmxlIHRkLmZpZnRlZW4ud2lkZSB7XG4gIHdpZHRoOiA5My43NSU7XG59XG4udWkudGFibGUgdGguc2l4dGVlbi53aWRlLFxuLnVpLnRhYmxlIHRkLnNpeHRlZW4ud2lkZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU29ydGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuY2VsbGVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCxcbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6aG92ZXIge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwLjg7XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG4gIGZvbnQtZmFtaWx5OiBcIkljb25zXCI7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguYXNjZW5kaW5nOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguZGVzY2VuZGluZzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLyogSG92ZXIgKi9cbi51aS5zb3J0YWJsZS50YWJsZSB0aC5kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogYXV0bztcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgPiB0aGVhZCA+IHRyID4gdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLyogU29ydGVkICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgdGhlYWQgdGguc29ydGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogU29ydGVkIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgdGhlYWQgdGguc29ydGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgPiB0aGVhZCA+IHRyID4gdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG59XG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGU6bm90KC5iYXNpYykgPiB0aGVhZCA+IHRyID4gdGgge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGV4dCBDb2xvciAqL1xuLnVpLmludmVydGVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnVpLnVpLmludmVydGVkLnRhYmxlID4gdHIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuZGlzYWJsZWQgdGQsXG4udWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuZGlzYWJsZWQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIuZGlzYWJsZWQ6aG92ZXIgdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHI6aG92ZXIgdGQuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4zKTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5kaXNhYmxlZDpub3QoW2NsYXNzPVwiZGlzYWJsZWRcIl0pLFxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkOm5vdChbY2xhc3M9XCJkaXNhYmxlZFwiXSkgdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIuZGlzYWJsZWQgdGRbY2xhc3NdOm5vdCguZGlzYWJsZWQpLFxuLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkOm5vdChbY2xhc3M9XCJkaXNhYmxlZFwiXSkge1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuLyogRGVmaW5pdGlvbiAqL1xuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdGhlYWQ6bm90KC5mdWxsLXdpZHRoKSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xsYXBzaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29sbGFwc2luZy50YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJhc2ljLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMudGFibGUgPiB0aGVhZCxcbi51aS5iYXNpYy50YWJsZSA+IHRmb290IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5iYXNpYy50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5iYXNpYy50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5iYXNpYy50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi51aS5iYXNpYy50YWJsZSA+IHRyID4gdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5iYXNpYy50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbi51aS5iYXNpYy50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCxcbi51aS5iYXNpYy50YWJsZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS5iYXNpYy5zdHJpcGVkLnRhYmxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi8qIFZlcnkgQmFzaWMgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdHIgPiB0ZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Ym9keSA+IHRyID4gdGQge1xuICBwYWRkaW5nOiBcIlwiO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENlbGxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGgsXG4udWkuY2VsbGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkuY2VsbGVkLnRhYmxlID4gdHIgPiB0ZCxcbi51aS5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLmNlbGxlZC50YWJsZSA+IHRyID4gdGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5jZWxsZWQudGFibGUgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBhZGRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBhZGRlZC50YWJsZSA+IHRyID4gdGgsXG4udWkucGFkZGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5wYWRkZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuLnVpLnBhZGRlZC50YWJsZSA+IHRyID4gdGgsXG4udWkucGFkZGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5wYWRkZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkucGFkZGVkLnRhYmxlID4gdHIgPiB0ZCxcbi51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkucGFkZGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogMWVtIDFlbTtcbn1cbi8qIFZlcnkgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRyID4gdGQsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiAxLjVlbSAxLjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tcGFjdC50YWJsZSA+IHRyID4gdGgsXG4udWkuY29tcGFjdC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5jb21wYWN0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnVpLmNvbXBhY3QudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuN2VtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjdlbTtcbn1cbi51aS5jb21wYWN0LnRhYmxlID4gdHIgPiB0ZCxcbi51aS5jb21wYWN0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLmNvbXBhY3QudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiAwLjVlbSAwLjdlbTtcbn1cbi8qIFZlcnkgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgcGFkZGluZy1yaWdodDogMC42ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdHIgPiB0ZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogMC40ZW0gMC42ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3R1Y2tcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdHVjay50YWJsZTpub3QoLmludmVydGVkKSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4udWkuc3R1Y2sudGFibGU6bm90KC5pbnZlcnRlZCkgPiB0aGVhZCA+IHRyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbn1cbi51aS5zdHVjay50YWJsZTpub3QoLmludmVydGVkKSA+IHRib2R5ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLnN0dWNrLnRhYmxlOm5vdCguaW52ZXJ0ZWQpID4gdGZvb3QgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG59XG4udWkuc3R1Y2sudGFibGU6bm90KC5pbnZlcnRlZCkuYmFzaWMgPiB0aGVhZCA+IHRyLFxuLnVpLnN0dWNrLnRhYmxlOm5vdCguaW52ZXJ0ZWQpLmJhc2ljID4gdGZvb3QgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc3R1Y2sudGFibGUgPiB0aGVhZCA+IHRyIHtcbiAgYmFja2dyb3VuZDogIzI1MjUyNTtcbn1cbi51aS5pbnZlcnRlZC5zdHVjay50YWJsZSA+IHRib2R5ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuLnVpLmludmVydGVkLnN0dWNrLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICMyNTI1MjU7XG59XG4udWkuaW52ZXJ0ZWQuc3R1Y2sudGFibGUuYmFzaWMgPiB0aGVhZCA+IHRyLFxuLnVpLmludmVydGVkLnN0dWNrLnRhYmxlLmJhc2ljID4gdGZvb3QgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG59XG4udWkuaGVhZC5zdHVjay50YWJsZSA+IHRoZWFkLFxuLnVpLmZvb3Quc3R1Y2sudGFibGUgPiB0Zm9vdCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHotaW5kZXg6IDgwMDtcbn1cbi51aS5oZWFkLnN0dWNrLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi51aS5oZWFkLnN0dWNrLnRhYmxlID4gdGhlYWQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogYXV0bztcbn1cbi51aS5oZWFkLnN0dWNrLnRhYmxlID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5oZWFkLnN0dWNrLnRhYmxlLmludmVydGVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5mb290LnN0dWNrLnRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi51aS5mb290LnN0dWNrLnRhYmxlID4gdGZvb3Qge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi51aS5mb290LnN0dWNrLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4udWkuZm9vdC5zdHVjay50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5mb290LnN0dWNrLnRhYmxlLmludmVydGVkID4gdGZvb3QgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuLnVpLmZvb3Quc3R1Y2sudGFibGUuaW52ZXJ0ZWQgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmZpcnN0LnN0dWNrLnRhYmxlIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4udWkuZmlyc3Quc3R1Y2sudGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4udWkuZmlyc3Quc3R1Y2sudGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbi51aS5maXJzdC5zdHVjay50YWJsZS5pbnZlcnRlZCB0aDpmaXJzdC1jaGlsZCxcbi51aS5maXJzdC5zdHVjay50YWJsZS5pbnZlcnRlZCB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmxhc3Quc3R1Y2sudGFibGUge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4udWkubGFzdC5zdHVjay50YWJsZSB0aDpsYXN0LWNoaWxkLFxuLnVpLmxhc3Quc3R1Y2sudGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4udWkubGFzdC5zdHVjay50YWJsZS5pbnZlcnRlZCB0aDpsYXN0LWNoaWxkLFxuLnVpLmxhc3Quc3R1Y2sudGFibGUuaW52ZXJ0ZWQgdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLmZpcnN0LnN0dWNrLnRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmNlbGxlZC5sYXN0LnN0dWNrLnRhYmxlIHRoOmxhc3QtY2hpbGQsXG4udWkuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmNlbGxlZC5maXJzdC5zdHVjay50YWJsZSB0aDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGg6bGFzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5jZWxsZWQubGFzdC5zdHVjay50YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3RhbmRhcmQgKi9cbi51aS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkudGFibGUge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4udWkubGFyZ2UudGFibGUge1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuLnVpLmJpZy50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUudGFibGUge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBWYXJpYXRpb25zICovXG4udWkudGFibGUgLmZpeGVkIHtcbiAgbWluLXdpZHRoOiAxMmVtO1xufVxuLyogVmlld3MgKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEFkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDEzIENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQWR2ZXJ0aXNlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBZHZlcnRpc2VtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmFkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMWVtIDA7XG59XG4udWkuYWQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG4udWkuYWQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5hZCBpZnJhbWUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1vblxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMZWFkZXJib2FyZCAqL1xuLnVpLmxlYWRlcmJvYXJkLmFkIHtcbiAgd2lkdGg6IDcyOHB4O1xuICBoZWlnaHQ6IDkwcHg7XG59XG4vKiBNZWRpdW0gUmVjdGFuZ2xlICovXG4udWlbY2xhc3MqPVwibWVkaXVtIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbi8qIExhcmdlIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cImxhcmdlIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAzMzZweDtcbiAgaGVpZ2h0OiAyODBweDtcbn1cbi8qIEhhbGYgUGFnZSAqL1xuLnVpW2NsYXNzKj1cImhhbGYgcGFnZVwiXS5hZCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiA2MDBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTcXVhcmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNxdWFyZSAqL1xuLnVpLnNxdWFyZS5hZCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbi8qIFNtYWxsIFNxdWFyZSAqL1xuLnVpW2NsYXNzKj1cInNtYWxsIHNxdWFyZVwiXS5hZCB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJlY3RhbmdsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU21hbGwgUmVjdGFuZ2xlICovXG4udWlbY2xhc3MqPVwic21hbGwgcmVjdGFuZ2xlXCJdLmFkIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xufVxuLyogVmVydGljYWwgUmVjdGFuZ2xlICovXG4udWlbY2xhc3MqPVwidmVydGljYWwgcmVjdGFuZ2xlXCJdLmFkIHtcbiAgd2lkdGg6IDI0MHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJ1dHRvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJ1dHRvbi5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuLnVpW2NsYXNzKj1cInNxdWFyZSBidXR0b25cIl0uYWQge1xuICB3aWR0aDogMTI1cHg7XG4gIGhlaWdodDogMTI1cHg7XG59XG4udWlbY2xhc3MqPVwic21hbGwgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNreXNjcmFwZXJzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTa3lzY3JhcGVyICovXG4udWkuc2t5c2NyYXBlci5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA2MDBweDtcbn1cbi8qIFdpZGUgU2t5c2NyYXBlciAqL1xuLnVpW2NsYXNzKj1cIndpZGUgc2t5c2NyYXBlclwiXS5hZCB7XG4gIHdpZHRoOiAxNjBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCYW5uZXJzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCYW5uZXIgKi9cbi51aS5iYW5uZXIuYWQge1xuICB3aWR0aDogNDY4cHg7XG4gIGhlaWdodDogNjBweDtcbn1cbi8qIFZlcnRpY2FsIEJhbm5lciAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAyNDBweDtcbn1cbi8qIFRvcCBCYW5uZXIgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDkzMHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xufVxuLyogSGFsZiBCYW5uZXIgKi9cbi51aVtjbGFzcyo9XCJoYWxmIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAyMzRweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBCb2FyZHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVhZGVyYm9hcmQgKi9cbi51aVtjbGFzcyo9XCJsYXJnZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuLyogQmlsbGJvYXJkICovXG4udWkuYmlsbGJvYXJkLmFkIHtcbiAgd2lkdGg6IDk3MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFub3JhbWFcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhbm9yYW1hICovXG4udWkucGFub3JhbWEuYWQge1xuICB3aWR0aDogOTgwcHg7XG4gIGhlaWdodDogMTIwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTmV0Ym9hcmRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE5ldGJvYXJkICovXG4udWkubmV0Ym9hcmQuYWQge1xuICB3aWR0aDogNTgwcHg7XG4gIGhlaWdodDogNDAwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTW9iaWxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMYXJnZSBNb2JpbGUgQmFubmVyICovXG4udWlbY2xhc3MqPVwibGFyZ2UgbW9iaWxlIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbi8qIE1vYmlsZSBMZWFkZXJib2FyZCAqL1xuLnVpW2NsYXNzKj1cIm1vYmlsZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gIHdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICAgVHlwZXNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTW9iaWxlIFNpemVzICovXG4udWkubW9iaWxlLmFkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLm1vYmlsZS5hZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2VudGVyZWQuYWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLnRlc3QuYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG59XG4udWkudGVzdC5hZDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBjb250ZW50OiBcIkFkXCI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkubW9iaWxlLnRlc3QuYWQ6OmFmdGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudGVzdC5hZFtkYXRhLXRleHRdOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ2FyZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBDYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNoYWRvdyAqL1xuLyogQ2FyZCAqL1xuLyogQ2FyZCBHcm91cCAqL1xuLyogQ29uc2VjdXRpdmUgQ2FyZHMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW1hZ2UgKi9cbi8qIENvbnRlbnQgKi9cbi8qIEhlYWRlciAqL1xuLyogTWV0YWRhdGEgKi9cbi8qIEljb25zICovXG4vKiBMaW5rcyAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIENvbnRlbnQgSW1hZ2UgKi9cbi8qIEF2YXRhciBJbWFnZSAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBEaW1tZXIgKi9cbi8qIEFkZGl0aW9uYWwgQ29udGVudCAqL1xuLyogRXh0cmEgTGlua3MgKi9cbi8qIEJ1dHRvbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMb2FkaW5nIERpbW1lciAqL1xuLyogTG9hZGluZyBTcGlubmVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGluayAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLyogUmFpc2VkICovXG4vKiBCYXNpYyBSYWlzZWQgKi9cbi8qIENhcmQgQ291bnQgKi9cbi8qIFN0YWNrYWJsZSAqL1xuLyogU2l6ZXMgKi9cbi8qIENvbG9yZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAyOTBweDtcbiAgbWluLWhlaWdodDogMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjZDRkNGQ1LCAwIDAgMCAxcHggI2Q0ZDRkNTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIHotaW5kZXg6IFwiXCI7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi51aS5jYXJkIHtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIGEsXG4udWkuY2FyZCBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmNhcmQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAtMC44NzVlbSAtMC41ZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwLjg3NWVtIDAuNWVtO1xuICBmbG9hdDogbm9uZTtcbn1cbi8qIENsZWFyaW5nICovXG4udWkuY2FyZHM6OmFmdGVyLFxuLnVpLmNhcmQ6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBDb25zZWN1dGl2ZSBDYXJkIEdyb3VwcyBQcmVzZXJ2ZSBSb3cgU3BhY2luZyAqL1xuLnVpLmNhcmRzIH4gLnVpLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogMC44NzVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFJvdW5kZWQgRWRnZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiA6Zmlyc3QtY2hpbGQsXG4udWkuY2FyZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiA6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IDpvbmx5LWNoaWxkLFxuLnVpLmNhcmQgPiA6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbWFnZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmltYWdlLFxuLnVpLmNhcmQgPiAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmltYWdlID4gaW1nLFxuLnVpLmNhcmQgPiAuaW1hZ2UgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmltYWdlOm5vdCgudWkpID4gaW1nLFxuLnVpLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4udWkuY2FyZCA+IC5jb250ZW50IHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQ6OmFmdGVyLFxuLnVpLmNhcmQgPiAuY29udGVudDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBcIlwiO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4vKiBEZWZhdWx0IEhlYWRlciBTaXplICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSxcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xuICBtYXJnaW4tdG9wOiAtMC4yMTQyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyOWVtO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5tZXRhICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLm1ldGEgKyAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciArIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkIENvbnRlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnQgSW1hZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5jb250ZW50IGltZyxcbi51aS5jYXJkIC5jb250ZW50IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IFwiXCI7XG59XG4udWkuY2FyZHMgPiAuY2FyZCBpbWcuYXZhdGFyLFxuLnVpLmNhcmRzID4gLmNhcmQgLmF2YXRhciBpbWcsXG4udWkuY2FyZCBpbWcuYXZhdGFyLFxuLnVpLmNhcmQgLmF2YXRhciBpbWcge1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEZXNjcmlwdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42OCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsXG4udWkuY2FyZCA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDAgMCAwLjVlbTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNZXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSxcbi51aS5jYXJkIC5tZXRhIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSAqLFxuLnVpLmNhcmQgLm1ldGEgKiB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCxcbi51aS5jYXJkIC5tZXRhIDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkuY2FyZCAubWV0YSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdlbmVyaWMgKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKSxcbi51aS5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBcIlwiO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogXCJcIjtcbn1cbi8qIEhlYWRlciAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIE1ldGEgKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbi51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCdXR0b25zXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b25zLFxuLnVpLmNhcmQgPiAuYnV0dG9ucyxcbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbixcbi51aS5jYXJkID4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbnM6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gLmJ1dHRvbnM6bGFzdC1jaGlsZCxcbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzOm5vdCgucmFpc2VkKSA+IC5iYXNpYy5jYXJkOm5vdCgucmFpc2VkKSxcbi51aS51aS51aS5iYXNpYy5jYXJkczpub3QoLnJhaXNlZCkgPiAuY2FyZDpub3QoLnJhaXNlZCksXG4udWkudWkudWkuYmFzaWMuY2FyZDpub3QoLnJhaXNlZCkge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmNhcmRzOm5vdCgucmFpc2VkKSA+IC5iYXNpYy5jYXJkOm5vdCgucmFpc2VkKSA+IC5idXR0b25zLFxuLnVpLnVpLnVpLmJhc2ljLmNhcmRzOm5vdCgucmFpc2VkKSA+IC5jYXJkOm5vdCgucmFpc2VkKSA+IC5idXR0b25zLFxuLnVpLnVpLnVpLmJhc2ljLmNhcmQ6bm90KC5yYWlzZWQpID4gLmJ1dHRvbnMsXG4udWkuY2FyZHM6bm90KC5yYWlzZWQpID4gLmJhc2ljLmNhcmQ6bm90KC5yYWlzZWQpID4gLmJ1dHRvbixcbi51aS51aS51aS5iYXNpYy5jYXJkczpub3QoLnJhaXNlZCkgPiAuY2FyZDpub3QoLnJhaXNlZCkgPiAuYnV0dG9uLFxuLnVpLnVpLnVpLmJhc2ljLmNhcmQ6bm90KC5yYWlzZWQpID4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudWkudWkudWkudWkuYmFzaWMuY2FyZDpub3QoLnJhaXNlZCk6aG92ZXIsXG4udWkudWkudWkudWkudWkuYmFzaWMuY2FyZHM6bm90KC5yYWlzZWQpIC5jYXJkOm5vdCgucmFpc2VkKTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRGltbWVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5kaW1tZXIsXG4udWkuY2FyZCAuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogXCJcIjtcbiAgei1pbmRleDogMTA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS1TdGFyLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZmI3MGE7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUuc3Rhci5pY29uLFxuLnVpLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbiB7XG4gIGNvbG9yOiAjZmZlNjIzO1xufVxuLyogLS0tLS1MaWtlLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZjI3MzM7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uLFxuLnVpLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gIGNvbG9yOiAjZmYyNzMzO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXh0cmEgQ29udGVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSxcbi51aS5jYXJkID4gLmV4dHJhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGZsZXgtZ3JvdzogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpLFxuLnVpLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQuY2FyZCB7XG4gIG9wYWNpdHk6IDAuNDU7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRpbmcuY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cbi51aS5sb2FkaW5nLmNhcmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHotaW5kZXg6IDEwMDtcbn1cbi51aS5sb2FkaW5nLmNhcmQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0xLjVlbSAwIDAgLTEuNWVtO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNlbTtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC42cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlcjogMC4yZW0gc29saWQgIzc2NzY3NjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IDEwMTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSG9yaXpvbnRhbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmQuaG9yaXpvbnRhbCB7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1pbi13aWR0aDogMjcwcHg7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSxcbi51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xuICB3aWR0aDogMTUwcHg7XG59XG4udWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmltYWdlID4gaW1nLFxuLnVpLmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZSA+IGltZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nLFxuLnVpLmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCxcbi51aS5ob3Jpem9udGFsLmNhcmQgPiAuY29udGVudCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGZsZXgtYmFzaXM6IDFweDtcbn1cbi51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEsXG4udWkuaG9yaXpvbnRhbC5jYXJkID4gLmV4dHJhIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUmFpc2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5yYWlzZWQuY2FyZCxcbi51aS5yYWlzZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5yYWlzZWQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5yYWlzZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnJhaXNlZC5jYXJkOmhvdmVyLFxuYS51aS5yYWlzZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLnJhaXNlZC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMjUpO1xufVxuLnVpLmJhc2ljLmNhcmRzID4gLnJhaXNlZC5jYXJkLFxuLnVpLmJhc2ljLnJhaXNlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLnJhaXNlZC5jYXJkcyA+IC5iYXNpYy5jYXJkLFxuLnVpLmJhc2ljLnJhaXNlZC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuYmFzaWMucmFpc2VkLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5yYWlzZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5yYWlzZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnJhaXNlZC5jYXJkcyAuY2FyZDpob3ZlcixcbmEudWkuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5yYWlzZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMjUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDZW50ZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2VudGVyZWQuY2FyZHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS5jZW50ZXJlZC5jYXJkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTk5OXB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgYS5jYXJkLFxuLnVpLmxpbmsuY2FyZHMgLmNhcmQsXG5hLnVpLmNhcmQsXG4udWkubGluay5jYXJkIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICNiY2JkYmQsIDAgMCAwIDFweCAjZDRkNGQ1O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5wcmltYXJ5LmNhcmQsXG4udWkucHJpbWFyeS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjNkMzNjY3LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLnByaW1hcnkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucHJpbWFyeS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnByaW1hcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkubGluay5wcmltYXJ5LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM1ZDJiNTksIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMucHJpbWFyeS5jYXJkLFxuLnVpLmJhc2ljLnByaW1hcnkuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5wcmltYXJ5LmNhcmQsXG4udWkuYmFzaWMucHJpbWFyeS5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzU0YzhmZjtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5wcmltYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5wcmltYXJ5LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnByaW1hcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5wcmltYXJ5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucHJpbWFyeS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzIxYjhmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAucHJpbWFyeS5jYXJkLFxuLnVpLmludmVydGVkLnByaW1hcnkuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjNTRjOGZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnByaW1hcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5wcmltYXJ5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICMyMWI4ZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnByaW1hcnkuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5wcmltYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAucHJpbWFyeS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnByaW1hcnkuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMucHJpbWFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5wcmltYXJ5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAucHJpbWFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnByaW1hcnkuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ZDJiNTk7XG59XG4udWkuc2Vjb25kYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuc2Vjb25kYXJ5LmNhcmQsXG4udWkuc2Vjb25kYXJ5LmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM4OGQzMTcsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5zZWNvbmRhcnkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuc2Vjb25kYXJ5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAuc2Vjb25kYXJ5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkubGluay5zZWNvbmRhcnkuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzk4ZjAxMywgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5zZWNvbmRhcnkuY2FyZCxcbi51aS5iYXNpYy5zZWNvbmRhcnkuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5zZWNvbmRhcnkuY2FyZCxcbi51aS5iYXNpYy5zZWNvbmRhcnkuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMuc2Vjb25kYXJ5LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnNlY29uZGFyeS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnNlY29uZGFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNmU2ZTZlO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnNlY29uZGFyeS5jYXJkLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM1NDU0NTQsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnNlY29uZGFyeS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnNlY29uZGFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzZlNmU2ZSwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMuc2Vjb25kYXJ5LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAuc2Vjb25kYXJ5LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnNlY29uZGFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5zZWNvbmRhcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnNlY29uZGFyeS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk4ZjAxMztcbn1cbi51aS5yZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5yZWQuY2FyZCxcbi51aS5yZWQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2RiMjgyOCwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLnJlZC5jYXJkOmhvdmVyLFxuLnVpLnJlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5yZWQuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5yZWQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5yZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLnJlZC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjZDAxOTE5LCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLnJlZC5jYXJkLFxuLnVpLmJhc2ljLnJlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLnJlZC5jYXJkLFxuLnVpLmJhc2ljLnJlZC5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmNjk1ZTtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMucmVkLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMucmVkLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5yZWQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucmVkLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAucmVkLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMucmVkLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5yZWQuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZjM5MmI7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAucmVkLmNhcmQsXG4udWkuaW52ZXJ0ZWQucmVkLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ZmNjk1ZSwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5yZWQuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQucmVkLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAucmVkLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQucmVkLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5yZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZmYzOTJiLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5yZWQuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5yZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5yZWQuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5yZWQuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5yZWQuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLnJlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMucmVkLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnJlZC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLnJlZC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQucmVkLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDAxOTE5O1xufVxuLnVpLm9yYW5nZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLm9yYW5nZS5jYXJkLFxuLnVpLm9yYW5nZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjZjI3MTFjLCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkub3JhbmdlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLm9yYW5nZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLm9yYW5nZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsub3JhbmdlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNmMjYyMDIsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMub3JhbmdlLmNhcmQsXG4udWkuYmFzaWMub3JhbmdlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAub3JhbmdlLmNhcmQsXG4udWkuYmFzaWMub3JhbmdlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmY4NTFiO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5vcmFuZ2UuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLm9yYW5nZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5vcmFuZ2UuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5vcmFuZ2UuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLm9yYW5nZS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U3NmIwMDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5vcmFuZ2UuY2FyZCxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZmY4NTFiLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5vcmFuZ2UuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5vcmFuZ2UuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLm9yYW5nZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNlNzZiMDAsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLm9yYW5nZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLm9yYW5nZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLm9yYW5nZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLm9yYW5nZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQub3JhbmdlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5vcmFuZ2UuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQub3JhbmdlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAub3JhbmdlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5vcmFuZ2UuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMjYyMDI7XG59XG4udWkueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkueWVsbG93LmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNmYmJkMDgsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS55ZWxsb3cuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsueWVsbG93LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAueWVsbG93LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkubGluay55ZWxsb3cuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2VhYWUwMCwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy55ZWxsb3cuY2FyZCxcbi51aS5iYXNpYy55ZWxsb3cuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC55ZWxsb3cuY2FyZCxcbi51aS5iYXNpYy55ZWxsb3cuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmUyMWY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnllbGxvdy5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMueWVsbG93LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnllbGxvdy5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnllbGxvdy5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMueWVsbG93LmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWJjZDAwO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnllbGxvdy5jYXJkLFxuLnVpLmludmVydGVkLnllbGxvdy5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNmZmUyMWYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnllbGxvdy5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnllbGxvdy5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQueWVsbG93LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ViY2QwMCwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMueWVsbG93LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQueWVsbG93LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC55ZWxsb3cuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnllbGxvdy5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC55ZWxsb3cuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC55ZWxsb3cuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnllbGxvdy5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VhYWUwMDtcbn1cbi51aS5vbGl2ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLm9saXZlLmNhcmQsXG4udWkub2xpdmUuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2I1Y2MxOCwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkub2xpdmUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsub2xpdmUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5vbGl2ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkubGluay5vbGl2ZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjYTdiZDBkLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLm9saXZlLmNhcmQsXG4udWkuYmFzaWMub2xpdmUuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5vbGl2ZS5jYXJkLFxuLnVpLmJhc2ljLm9saXZlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZDllNzc4O1xufVxuLnVpLmJhc2ljLmNhcmRzIGEub2xpdmUuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMub2xpdmUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLm9saXZlLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLm9saXZlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAub2xpdmUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMub2xpdmUuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkMmU3NDU7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5vbGl2ZS5jYXJkLFxuLnVpLmludmVydGVkLm9saXZlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2Q5ZTc3OCwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLm9saXZlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAub2xpdmUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQub2xpdmUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZDJlNzQ1LCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5vbGl2ZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLm9saXZlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAub2xpdmUuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5vbGl2ZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLm9saXZlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5vbGl2ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5vbGl2ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLm9saXZlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQub2xpdmUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLm9saXZlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTdiZDBkO1xufVxuLnVpLmdyZWVuLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuZ3JlZW4uY2FyZCxcbi51aS5ncmVlbi5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjMjFiYTQ1LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5ncmVlbi5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5ncmVlbi5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmdyZWVuLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5saW5rLmdyZWVuLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICMxNmFiMzksIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMuZ3JlZW4uY2FyZCxcbi51aS5iYXNpYy5ncmVlbi5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLmdyZWVuLmNhcmQsXG4udWkuYmFzaWMuZ3JlZW4uY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMyZWNjNDA7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5iYXNpYy5ncmVlbi5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMuZ3JlZW4uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuZ3JlZW4uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5ncmVlbi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5ncmVlbi5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzFlYTkyZTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLmdyZWVuLmNhcmQsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjMmVjYzQwLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuZ3JlZW4uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5ncmVlbi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ncmVlbi5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICMxZWE5MmUsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLmdyZWVuLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuZ3JlZW4uY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5ncmVlbi5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmdyZWVuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuZ3JlZW4uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLmdyZWVuLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmdyZWVuLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuZ3JlZW4uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuZ3JlZW4uY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmFiMzk7XG59XG4udWkudGVhbC5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnRlYWwuY2FyZCxcbi51aS50ZWFsLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICMwMGI1YWQsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS50ZWFsLmNhcmQ6aG92ZXIsXG4udWkudGVhbC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay50ZWFsLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAudGVhbC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnRlYWwuY2FyZDpob3Zlcixcbi51aS5saW5rLnRlYWwuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzAwOWM5NSwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy50ZWFsLmNhcmQsXG4udWkuYmFzaWMudGVhbC5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLnRlYWwuY2FyZCxcbi51aS5iYXNpYy50ZWFsLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjNmRmZmZmO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnRlYWwuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnRlYWwuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMudGVhbC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnRlYWwuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy50ZWFsLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy50ZWFsLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2FmZmZmO1xufVxuLnVpLmludmVydGVkLnRlYWwuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC50ZWFsLmNhcmQsXG4udWkuaW52ZXJ0ZWQudGVhbC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM2ZGZmZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQudGVhbC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnRlYWwuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC50ZWFsLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC50ZWFsLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzNhZmZmZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMudGVhbC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnRlYWwuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC50ZWFsLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQudGVhbC5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnRlYWwuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLnRlYWwuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC50ZWFsLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy50ZWFsLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnRlYWwuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC50ZWFsLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQudGVhbC5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwOWM5NTtcbn1cbi51aS5ibHVlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuYmx1ZS5jYXJkLFxuLnVpLmJsdWUuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzIxODVkMCwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLmJsdWUuY2FyZDpob3Zlcixcbi51aS5ibHVlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmJsdWUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5ibHVlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmx1ZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjMTY3OGMyLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLmJsdWUuY2FyZCxcbi51aS5iYXNpYy5ibHVlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAuYmx1ZS5jYXJkLFxuLnVpLmJhc2ljLmJsdWUuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM1NGM4ZmY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuYmx1ZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMuYmx1ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5ibHVlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAuYmx1ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmJsdWUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmJsdWUuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyMWI4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLmJsdWUuY2FyZCxcbi51aS5pbnZlcnRlZC5ibHVlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzU0YzhmZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ibHVlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmx1ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLmJsdWUuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmJsdWUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjMjFiOGZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5ibHVlLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYmx1ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLmJsdWUuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5ibHVlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmJsdWUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLmJsdWUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuYmx1ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLmJsdWUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5ibHVlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5ibHVlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTY3OGMyO1xufVxuLnVpLnZpb2xldC5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnZpb2xldC5jYXJkLFxuLnVpLnZpb2xldC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjNjQzNWM5LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkudmlvbGV0LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnZpb2xldC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnZpb2xldC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsudmlvbGV0LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM1ODI5YmIsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMudmlvbGV0LmNhcmQsXG4udWkuYmFzaWMudmlvbGV0LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAudmlvbGV0LmNhcmQsXG4udWkuYmFzaWMudmlvbGV0LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjYTI5MWZiO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5iYXNpYy52aW9sZXQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnZpb2xldC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy52aW9sZXQuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC52aW9sZXQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnZpb2xldC5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzc0NWFmZjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC52aW9sZXQuY2FyZCxcbi51aS5pbnZlcnRlZC52aW9sZXQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjYTI5MWZiLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC52aW9sZXQuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC52aW9sZXQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnZpb2xldC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM3NDVhZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnZpb2xldC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnZpb2xldC5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnZpb2xldC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnZpb2xldC5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQudmlvbGV0LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy52aW9sZXQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQudmlvbGV0LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAudmlvbGV0LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC52aW9sZXQuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ODI5YmI7XG59XG4udWkucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkucHVycGxlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNhMzMzYzgsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5wdXJwbGUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucHVycGxlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAucHVycGxlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkubGluay5wdXJwbGUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzk2MjdiYSwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5wdXJwbGUuY2FyZCxcbi51aS5iYXNpYy5wdXJwbGUuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5wdXJwbGUuY2FyZCxcbi51aS5iYXNpYy5wdXJwbGUuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNkYzczZmY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnB1cnBsZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMucHVycGxlLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnB1cnBsZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnB1cnBsZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucHVycGxlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2Y0MGZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnB1cnBsZS5jYXJkLFxuLnVpLmludmVydGVkLnB1cnBsZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNkYzczZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnB1cnBsZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnB1cnBsZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQucHVycGxlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2NmNDBmZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMucHVycGxlLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucHVycGxlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5wdXJwbGUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnB1cnBsZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5wdXJwbGUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5wdXJwbGUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnB1cnBsZS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzk2MjdiYTtcbn1cbi51aS5waW5rLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucGluay5jYXJkLFxuLnVpLnBpbmsuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2UwMzk5NywgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLnBpbmsuY2FyZDpob3Zlcixcbi51aS5waW5rLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnBpbmsuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5waW5rLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkucGluay5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucGluay5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjZTYxYThkLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLnBpbmsuY2FyZCxcbi51aS5iYXNpYy5waW5rLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAucGluay5jYXJkLFxuLnVpLmJhc2ljLnBpbmsuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZjhlZGY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5waW5rLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5waW5rLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMucGluay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMucGluay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5waW5rLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAucGluay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnBpbmsuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnBpbmsuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZjViZDE7XG59XG4udWkuaW52ZXJ0ZWQucGluay5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnBpbmsuY2FyZCxcbi51aS5pbnZlcnRlZC5waW5rLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ZmOGVkZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5waW5rLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQucGluay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5waW5rLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAucGluay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnBpbmsuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnBpbmsuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZmY1YmQxLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5waW5rLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucGluay5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnBpbmsuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5waW5rLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMucGluay5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEucGluay5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLnBpbmsuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnBpbmsuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQucGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLnBpbmsuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5waW5rLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5waW5rLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTYxYThkO1xufVxuLnVpLmJyb3duLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuYnJvd24uY2FyZCxcbi51aS5icm93bi5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjYTU2NzNmLCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEuYnJvd24uY2FyZDpob3Zlcixcbi51aS5icm93bi5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5icm93bi5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJyb3duLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYnJvd24uY2FyZDpob3Zlcixcbi51aS5saW5rLmJyb3duLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM5NzViMzMsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMuYnJvd24uY2FyZCxcbi51aS5iYXNpYy5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuYmFzaWMuYnJvd24uY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNkNjdjMWM7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMuYnJvd24uY2FyZDpob3Zlcixcbi51aS5iYXNpYy5icm93bi5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMuYnJvd24uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuYnJvd24uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5icm93bi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5icm93bi5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2IwNjIwZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuaW52ZXJ0ZWQuYnJvd24uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZDY3YzFjLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuYnJvd24uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5icm93bi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5icm93bi5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNiMDYyMGYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLmJyb3duLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnJvd24uY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5icm93bi5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmJyb3duLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMuYnJvd24uY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnJvd24uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLmJyb3duLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmJyb3duLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuYnJvd24uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuYnJvd24uY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NzViMzM7XG59XG4udWkuZ3JleS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmdyZXkuY2FyZCxcbi51aS5ncmV5LmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM3Njc2NzYsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5ncmV5LmNhcmQ6aG92ZXIsXG4udWkuZ3JleS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5ncmV5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAuZ3JleS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmdyZXkuY2FyZDpob3Zlcixcbi51aS5saW5rLmdyZXkuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzgzODM4MywgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5ncmV5LmNhcmQsXG4udWkuYmFzaWMuZ3JleS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLmdyZXkuY2FyZCxcbi51aS5iYXNpYy5ncmV5LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmdyZXkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLmdyZXkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuZ3JleS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLmdyZXkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5ncmV5LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5ncmV5LmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYzJjNGM1O1xufVxuLnVpLmludmVydGVkLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuaW52ZXJ0ZWQuZ3JleS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNkY2RkZGUsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuZ3JleS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmdyZXkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5ncmV5LmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ncmV5LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2MyYzRjNSwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMuZ3JleS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuZ3JleS5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLmdyZXkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLmdyZXkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5ncmV5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5ncmV5LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmdyZXkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5ncmV5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuZ3JleS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzgzODM4Mztcbn1cbi51aS5ibGFjay5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJsYWNrLmNhcmQsXG4udWkuYmxhY2suY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzFiMWMxZCwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkuYmxhY2suY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmxhY2suY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5ibGFjay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkubGluay5ibGFjay5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjMjcyOTJhLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLmJsYWNrLmNhcmQsXG4udWkuYmFzaWMuYmxhY2suY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5ibGFjay5jYXJkLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLmJsYWNrLmNhcmQgLmhlYWRlcixcbi51aS5iYXNpYy5ibGFjay5jYXJkcyA+IC5jYXJkIC5oZWFkZXIsXG4udWkuYmFzaWMuY2FyZHMgPiAuYmxhY2suY2FyZCAuaGVhZGVyLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmQgLmhlYWRlcixcbi51aS5jYXJkcyA+IC5iYXNpYy5ibGFjay5jYXJkIC5jb250ZW50LFxuLnVpLmJhc2ljLmJsYWNrLmNhcmRzID4gLmNhcmQgLmNvbnRlbnQsXG4udWkuYmFzaWMuY2FyZHMgPiAuYmxhY2suY2FyZCAuY29udGVudCxcbi51aS5iYXNpYy5ibGFjay5jYXJkIC5jb250ZW50LFxuLnVpLmNhcmRzID4gLmJhc2ljLmJsYWNrLmNhcmQgLm1ldGEsXG4udWkuYmFzaWMuYmxhY2suY2FyZHMgPiAuY2FyZCAubWV0YSxcbi51aS5iYXNpYy5jYXJkcyA+IC5ibGFjay5jYXJkIC5tZXRhLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmQgLm1ldGEsXG4udWkuY2FyZHMgPiAuYmFzaWMuYmxhY2suY2FyZCAuZGVzY3JpcHRpb24sXG4udWkuYmFzaWMuYmxhY2suY2FyZHMgPiAuY2FyZCAuZGVzY3JpcHRpb24sXG4udWkuYmFzaWMuY2FyZHMgPiAuYmxhY2suY2FyZCAuZGVzY3JpcHRpb24sXG4udWkuYmFzaWMuYmxhY2suY2FyZCAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5ibGFjay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5ibGFjay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLmJsYWNrLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuYmxhY2suY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmJsYWNrLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmxhY2suY2FyZCxcbi51aS5pbnZlcnRlZC5ibGFjay5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM1NDU0NTQsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmxhY2suY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ibGFjay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJsYWNrLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQuYmxhY2suY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmJsYWNrLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzAwMDAwMCwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMuYmxhY2suY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5ibGFjay5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLmJsYWNrLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYmxhY2suY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEuYmxhY2suY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5ibGFjay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMuYmxhY2suY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuYmxhY2suY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5ibGFjay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5ibGFjay5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzI3MjkyYTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2FyZCBDb3VudFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm9uZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWkub25lLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d28uY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xufVxuLnVpLnR3by5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG4udWkudGhyZWUuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xufVxuLnVpLnRocmVlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi51aS5mb3VyLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cbi51aS5mb3VyLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjVlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC43NWVtO1xufVxuLnVpLmZpdmUuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xufVxuLnVpLmZpdmUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuNWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG59XG4udWkuc2l4LmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cbi51aS5zaXguY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjY2NjY2NCUgLSAxLjVlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC43NWVtO1xufVxuLnVpLnNldmVuLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4udWkuc2V2ZW4uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTcxNDI4NSUgLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWkuZWlnaHQuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cbi51aS5laWdodC5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi51aS5uaW5lLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4udWkubmluZS5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoMTEuMTExMTExMTExMTExMTElIC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICBmb250LXNpemU6IDEwcHg7XG59XG4udWkudGVuLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4udWkudGVuLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygxMCUgLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRG91YmxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5zZXZlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5zZXZlbi5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMzMzMzJSAtIDJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMzMzMzJSAtIDJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkudGVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbn1cbi8qIFRhYmxldCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuNWVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG4gIH1cbiAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS41ZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gIH1cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS41ZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RhY2thYmxlLmNhcmRzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuY2FyZHMgLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmNhcmRzID4gLmNhcmQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxZW0gMWVtO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMmVtKSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkuY2FyZCxcbi51aS5taW5pLmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuY2FyZCxcbi51aS50aW55LmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmNhcmQsXG4udWkuc21hbGwuY2FyZHMgLmNhcmQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuY2FyZCxcbi51aS5sYXJnZS5jYXJkcyAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuY2FyZCxcbi51aS5iaWcuY2FyZHMgLmNhcmQge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5jYXJkLFxuLnVpLmh1Z2UuY2FyZHMgLmNhcmQge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5jYXJkLFxuLnVpLm1hc3NpdmUuY2FyZHMgLmNhcmQge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAwIDAgMXB4ICM1NTU7XG59XG4vKiBDb250ZW50ICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LFxuLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLyogSGVhZGVyICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcixcbi51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcixcbi51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIERlc2NyaXB0aW9uICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uLFxuLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKiBNZXRhICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCAubWV0YSxcbi51aS5pbnZlcnRlZC5jYXJkIC5tZXRhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbi51aS5pbnZlcnRlZC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIEV4dHJhICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSxcbi51aS5pbnZlcnRlZC5jYXJkID4gLmV4dHJhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSksXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBMaW5rIGNhcmQocykgKi9cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS5pbnZlcnRlZC51aS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmxpbmsuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4vKiBMb2FkaW5nICovXG4udWkuaW52ZXJ0ZWQubG9hZGluZy5jYXJkIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQubG9hZGluZy5jYXJkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDb21tZW50XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29tbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29tbWVudCAqL1xuLyogTmVzdGVkIENvbW1lbnQgKi9cbi8qIEF2YXRhciAqL1xuLyogQ29udGVudCAqL1xuLyogQXV0aG9yICovXG4vKiBNZXRhZGF0YSAqL1xuLyogVGV4dCAqL1xuLyogQWN0aW9ucyAqL1xuLyogUmVwbHkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaHJlYWRlZCAqL1xuLyogTWluaW1hbCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb21tZW50c1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMge1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIG1heC13aWR0aDogNjUwcHg7XG59XG4udWkuY29tbWVudHM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmNvbW1lbnRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMC41ZW0gMCAwO1xuICBwYWRkaW5nOiAwLjVlbSAwIDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBOZXN0ZWQgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiAwIDAgMC41ZW0gMC41ZW07XG4gIHBhZGRpbmc6IDFlbSAwIDFlbSAxZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuY29tbWVudHM6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEF2YXRhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdmF0YXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAuMmVtIDAgMDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCBpbWcuYXZhdGFyLFxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdmF0YXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogSWYgdGhlcmUgaXMgYW4gYXZhdGFyIG1vdmUgY29udGVudCBvdmVyICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuYXZhdGFyIH4gLmNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMy41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQXV0aG9yXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmF1dGhvciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgYS5hdXRob3Ige1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgYS5hdXRob3I6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBNZXRhZGF0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1lbnQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLnRleHQge1xuICBtYXJnaW46IDAuMjVlbSAwIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBVc2VyIEFjdGlvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwLjc1ZW0gMCAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGE6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhLmFjdGl2ZSxcbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUmVwbHkgRm9ybVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzID4gLnJlcGx5LmZvcm0ge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLnJlcGx5LmZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLnVpLmNvbW1lbnRzIC5yZXBseS5mb3JtIHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGhlaWdodDogMTJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50cyxcbi51aS5jb21tZW50cyAuY29sbGFwc2VkLmNvbW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBUaHJlYWRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRocmVhZGVkLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiAtMS41ZW0gMCAtMWVtIDEuMjVlbTtcbiAgcGFkZGluZzogM2VtIDAgMmVtIDIuMjVlbTtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBNaW5pbWFsXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG4udWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCA+IC5jb250ZW50OmhvdmVyID4gLmFjdGlvbnMge1xuICBvcGFjaXR5OiAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuY29tbWVudHMge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuY29tbWVudHMge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuY29tbWVudHMge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuY29tbWVudHMge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLmF1dGhvcixcbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhLFxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yOmhvdmVyLFxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEuYWN0aXZlLFxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50aHJlYWRlZC5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwICM1NTU7XG59XG4udWkuZGlzYWJsZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmRpc2FibGVkLmNvbW1lbnQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRmVlZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGZWVkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGZWVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFdmVudCAqL1xuLyogRXZlbnQgTGFiZWwgKi9cbi8qIEljb24gTGFiZWwgKi9cbi8qIEltYWdlIExhYmVsICovXG4vKiBUZXh0IExhYmVsICovXG4vKiBVaSBsYWJlbCAqL1xuLyogQ29udGVudCB3LyBMYWJlbCAqL1xuLyogQ29udGVudCAqL1xuLyogRGF0ZSAqL1xuLyogU3VtbWFyeSAqL1xuLyogU3VtbWFyeSBJbWFnZSAqL1xuLyogU3VtbWFyeSBEYXRlICovXG4vKiBVc2VyICovXG4vKiBFeHRyYSBTdW1tYXJ5IERhdGEgKi9cbi8qIEV4dHJhIEltYWdlcyAqL1xuLyogRXh0cmEgVGV4dCAqL1xuLyogTWV0YWRhdGEgR3JvdXAgKi9cbi8qIExpa2UgKi9cbi8qIE1ldGFkYXRhIERpdmlkZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb25uZWN0ZWQgKi9cbi8qIERpdmlkZWQgKi9cbi8qIE9yZGVyZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgQWN0aXZpdHkgRmVlZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5mZWVkIHtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cbi51aS5mZWVkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5mZWVkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBFdmVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yMTQyODU3MXJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkuZmVlZCA+IC5ldmVudDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuZmVlZDpub3QoLmNvbm5lY3RlZCkgPiAuZXZlbnQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi51aS5mZWVkID4gLmV2ZW50Omxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi8qIEV2ZW50IExhYmVsICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCAuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1ZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsID4gLnRleHQudWkge1xuICBtYXJnaW4tdG9wOiAwLjY1ZW07XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCA+IC50ZXh0Lm11bHRpbGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCA+IC50ZXh0Lm11bHRpbGluZS51aSB7XG4gIG1hcmdpbi10b3A6IDAuM2VtO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgPiAudWkubGFiZWwge1xuICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgKyAuY29udGVudCB7XG4gIG1hcmdpbjogMC41ZW0gMCAwLjM1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb250ZW50ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4udWkuZmVlZCA+IC5ldmVudDpsYXN0LWNoaWxkID4gLmNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi8qIExpbmsgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZGF0ZSB7XG4gIG1hcmdpbjogLTAuNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3VtbWFyeVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIFN1bW1hcnkgSW1hZ2UgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMGVtO1xuICBtYXJnaW46IC0wLjI1ZW0gMC4yNWVtIDAgMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW5saW5lIERhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEYXRlIGluc2lkZSBTdW1tYXJ5ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5ID4gLmRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5ID4gLmRhdGU6bm90KC5mbG9hdGVkKSB7XG4gIGZsb2F0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBVc2VyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIGltZyB7XG4gIG1hcmdpbjogLTAuMjVlbSAwLjI1ZW0gMCAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEV4dHJhIFN1bW1hcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhIHtcbiAgbWFyZ2luOiAwLjVlbSAwIDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogSW1hZ2VzICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS5pbWFnZXMgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMC4yNWVtIDAgMDtcbiAgd2lkdGg6IDZlbTtcbn1cbi8qIFRleHQgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhLnRleHQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTWV0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbjogMC41ZW0gMCAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAqOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRvcDogMDtcbiAgbGVmdDogLTFlbTtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZSB7XG4gIGNvbG9yOiBcIlwiO1xuICB0cmFuc2l0aW9uOiAwLjJzIGNvbG9yIGVhc2U7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlOmhvdmVyIGkuaWNvbiB7XG4gIGNvbG9yOiAjZmYyNzMzO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAuYWN0aXZlLmxpa2UgaS5pY29uIHtcbiAgY29sb3I6ICNlZjQwNGE7XG59XG4vKiBGaXJzdCBlbGVtZW50ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBBY3Rpb24gKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYSxcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3Zlcixcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3ZlciBpLmljb24sXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gaS5pY29uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS5mZWVkIC5yaWdodC5mbG9hdGVkIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50Om5vdCg6bGFzdC1jaGlsZCk6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29udGVudDogXCJcIjtcbiAgbGVmdDogMS4yZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyLjFlbTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjVlbSk7XG59XG4udWkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuaW52ZXJ0ZWQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuZGl2aWRlZC5mZWVkID4gLmV2ZW50Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5mZWVkID4gLmV2ZW50IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWxbZGF0YS10ZXh0XTo6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWxbZGF0YS10ZXh0XTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYmFja2dyb3VuZDogI2JiYmJiYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZy10b3A6IDAuNmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4udWkub3JkZXJlZC5mZWVkIHtcbiAgY291bnRlci1yZXNldDogb3JkZXJlZDtcbn1cbi51aS5vcmRlcmVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkO1xuICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWQpO1xufVxuLnVpLm9yZGVyZWQuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuZmVlZCA+IC5ldmVudCA+IC5iYXNpYy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYmJiYmJiO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkub3JkZXJlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlIHtcbiAgdG9wOiAyLjdlbTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVlbSk7XG59XG4vKiB3b3JrYXJvdW5kIHVudGlsIGFsbCBicm93c2VycyBzdXBwb3J0IDpoYXMoKSAqL1xuLnVpLmNvbm5lY3RlZC5sYWJlbGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5sYWJlbGVkLmV2ZW50OjpiZWZvcmUge1xuICB0b3A6IDQuODVlbTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0LjY0OTk5OTk5OTk5OTk5OTVlbSk7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50Omhhcyg+IC5sYWJlbFtkYXRhLXRleHRdID4gKik6OmJlZm9yZSxcbiAgLnVpLm9yZGVyZWQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6aGFzKD4gLmxhYmVsID4gKik6OmJlZm9yZSB7XG4gICAgdG9wOiA0Ljg1ZW07XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0LjY0OTk5OTk5OTk5OTk5OTVlbSk7XG4gIH1cbn1cbi51aS5mZWVkIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmZlZWQge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5mZWVkIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5mZWVkIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmZlZWQge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50IHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCAudGV4dDpub3QoLnVpKSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZGF0ZSxcbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2Uge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSxcbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAuYWN0aXZlLmxpa2UgaS5pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi8qIEFjdGlvbiAqL1xuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhLFxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIgaS5pY29uLFxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IGkuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnByaW1hcnkubGFiZWw6OmJlZm9yZSxcbi51aS5wcmltYXJ5LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkucHJpbWFyeS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLnByaW1hcnkuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQucHJpbWFyeS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucHJpbWFyeS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnByaW1hcnkuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5wcmltYXJ5LmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTRjOGZmO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5zZWNvbmRhcnkubGFiZWw6OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS5zZWNvbmRhcnkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5zZWNvbmRhcnkuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5zZWNvbmRhcnkuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnNlY29uZGFyeS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnNlY29uZGFyeS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnNlY29uZGFyeS5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucmVkLmxhYmVsOjpiZWZvcmUsXG4udWkucmVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG59XG4udWkucmVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAucmVkLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQucmVkLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmZjY5NWU7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5yZWQuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5yZWQuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5yZWQubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5yZWQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmNjk1ZTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnJlZC5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLm9yYW5nZS5sYWJlbDo6YmVmb3JlLFxuLnVpLm9yYW5nZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xufVxuLnVpLm9yYW5nZS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLm9yYW5nZS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLm9yYW5nZS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAub3JhbmdlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkub3JhbmdlLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQub3JhbmdlLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZjg1MWI7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC55ZWxsb3cubGFiZWw6OmJlZm9yZSxcbi51aS55ZWxsb3cuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS55ZWxsb3cuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC55ZWxsb3cuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC55ZWxsb3cuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZTIxZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnllbGxvdy5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnllbGxvdy5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnllbGxvdy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnllbGxvdy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZlMjFmO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAub2xpdmUubGFiZWw6OmJlZm9yZSxcbi51aS5vbGl2ZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xufVxuLnVpLm9saXZlLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAub2xpdmUuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLm9saXZlLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkOWU3Nzg7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5vbGl2ZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLm9saXZlLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQub2xpdmUubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZDllNzc4O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQub2xpdmUuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmdyZWVuLmxhYmVsOjpiZWZvcmUsXG4udWkuZ3JlZW4uZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbn1cbi51aS5ncmVlbi5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmdyZWVuLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5ncmVlbi5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuZ3JlZW4uYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5ncmVlbi5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmdyZWVuLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzJlY2M0MDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmdyZWVuLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC50ZWFsLmxhYmVsOjpiZWZvcmUsXG4udWkudGVhbC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xufVxuLnVpLnRlYWwuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC50ZWFsLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLnRlYWwuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzZkZmZmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnRlYWwuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS50ZWFsLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQudGVhbC5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnRlYWwuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZkZmZmZjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnRlYWwuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYmx1ZS5sYWJlbDo6YmVmb3JlLFxuLnVpLmJsdWUuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbn1cbi51aS5ibHVlLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuYmx1ZS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLmJsdWUuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5ibHVlLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM1NGM4ZmY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5ibHVlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuYmx1ZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmJsdWUubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibHVlLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1NGM4ZmY7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5ibHVlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnZpb2xldC5sYWJlbDo6YmVmb3JlLFxuLnVpLnZpb2xldC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xufVxuLnVpLnZpb2xldC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLnZpb2xldC5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLnZpb2xldC5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAudmlvbGV0LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkudmlvbGV0LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQudmlvbGV0LmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhMjkxZmI7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC52aW9sZXQuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5wdXJwbGUubGFiZWw6OmJlZm9yZSxcbi51aS5wdXJwbGUuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS5wdXJwbGUuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5wdXJwbGUuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5wdXJwbGUuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2RjNzNmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnB1cnBsZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnB1cnBsZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnB1cnBsZS5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnB1cnBsZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGM3M2ZmO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucGluay5sYWJlbDo6YmVmb3JlLFxuLnVpLnBpbmsuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5Nztcbn1cbi51aS5waW5rLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAucGluay5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLmludmVydGVkLnBpbmsuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5waW5rLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmZjhlZGY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5waW5rLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkucGluay5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnBpbmsubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5waW5rLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZjhlZGY7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5waW5rLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJyb3duLmxhYmVsOjpiZWZvcmUsXG4udWkuYnJvd24uZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS5icm93bi5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmJyb3duLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5icm93bi5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYnJvd24uYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5icm93bi5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmJyb3duLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2Q2N2MxYztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmJyb3duLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5ncmV5LmxhYmVsOjpiZWZvcmUsXG4udWkuZ3JleS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xufVxuLnVpLmdyZXkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5ncmV5LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLmdyZXkuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2RjZGRkZTtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmdyZXkuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5ncmV5LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuZ3JleS5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZXkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2RjZGRkZTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmdyZXkuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYmxhY2subGFiZWw6OmJlZm9yZSxcbi51aS5ibGFjay5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmJsYWNrLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuYmxhY2suZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLmJsYWNrLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5ibGFjay5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmJsYWNrLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuYmxhY2subGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibGFjay5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuYmxhY2suYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLnVpLmRpc2FibGVkLmZlZWQsXG4udWkuZmVlZCAuZGlzYWJsZWQuZXZlbnQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSXRlbVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJdGVtXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdyb3VwICovXG4vKiBJdGVtICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEltYWdlICovXG4vKiBDb250ZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIE1ldGFkYXRhICovXG4vKiBJY29ucyAqL1xuLyogQWN0aW9ucyAqL1xuLyogTGlua3MgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBDb250ZW50IEltYWdlICovXG4vKiBBdmF0YXIgSW1hZ2UgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogQWRkaXRpb25hbCBDb250ZW50ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUmVsYXhlZCAqL1xuLyogRGl2aWRlZCAqL1xuLyogVW5zdGFja2FibGUgKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZTtcbiAgei1pbmRleDogXCJcIjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zIHtcbiAgbWFyZ2luOiAxLjVlbSAwO1xufVxuLnVpLml0ZW1zOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnVpLml0ZW1zOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEltYWdlc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogXCJcIjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCA+IGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMSAxIGF1dG87XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAtMC4yMTQyNWVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIERlZmF1bHQgSGVhZGVyIFNpemUgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnVpLml0ZW1zID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudCBJbWFnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gLmNvbnRlbnQgaW1nIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB3aWR0aDogXCJcIjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIGltZy5hdmF0YXIsXG4udWkuaXRlbXMgPiAuaXRlbSAuYXZhdGFyIGltZyB7XG4gIHdpZHRoOiBcIlwiO1xuICBoZWlnaHQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGVzY3JpcHRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMCAwIDAuNWVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNZXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSB7XG4gIG1hcmdpbjogMC41ZW0gMCAwLjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSAqIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHZW5lcmljICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICBjb2xvcjogXCJcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IFwiXCI7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBNZXRhICovXG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS1TdGFyLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2ZmYjcwYTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5mYXZvcml0ZS5pY29uIHtcbiAgY29sb3I6ICNmZmU2MjM7XG59XG4vKiAtLS0tLUxpa2UtLS0tLSAqL1xuLyogSWNvbiAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjc1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2ZmMjczMztcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICBjb2xvcjogI2ZmMjczMztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEV4dHJhIENvbnRlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiAqIHtcbiAgbWFyZ2luOiAwLjI1cmVtIDAuNXJlbSAwLjI1cmVtIDA7XG59XG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIG1hcmdpbjogMC4yNXJlbSAwIDAuMjVyZW0gMC41cmVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBSZXNwb25zaXZlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRGVmYXVsdCBJbWFnZSBXaWR0aCAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICB3aWR0aDogMTc1cHg7XG59XG4vKiBUYWJsZXQgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS5pdGVtcyA+IC5pdGVtIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm5vdCgudWkpIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAwIDAgMWVtO1xuICB9XG59XG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDJlbSAwO1xuICB9XG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0gPiAuaW1hZ2UsXG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS41ZW0gMCAwO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uY29udGVudCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSZWxheGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmVsYXhlZC5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAxLjVlbSAwO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAyZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxZW0gMDtcbn1cbi51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBSZWxheGVkIERpdmlkZWQgKi9cbi51aS5yZWxheGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMS41ZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zIGEuaXRlbTpob3Zlcixcbi51aS5saW5rLml0ZW1zID4gLml0ZW06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuaXRlbXMgYS5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubWluaS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkudGlueS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkuc21hbGwuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmh1Z2UuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVW5zdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS51bnN0YWNrYWJsZS5pdGVtcyA+IC5pdGVtID4gLmltYWdlLFxuICAudWkudW5zdGFja2FibGUuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSA+IGltZyB7XG4gICAgd2lkdGg6IDEyNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLm1ldGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICM1N2E0ZWY7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogIzQxODNjNDtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZjNjNkO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmZhdm9yaXRlLmljb24ge1xuICBjb2xvcjogI2ZmZWM1Njtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmY1YTYzO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gIGNvbG9yOiAjZmY1YTYzO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyBhLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlcixcbi51aS5pbnZlcnRlZC5saW5rLml0ZW1zID4gLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kaXNhYmxlZC5pdGVtcyxcbi51aS5pdGVtcyA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFN0YXRpc3RpY1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGlzdGljXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdyb3VwICovXG4vKiBHcm91cCBFbGVtZW50ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFZhbHVlICovXG4vKiBMYWJlbCAqL1xuLyogVGV4dCAqL1xuLyogTGFiZWwgSW1hZ2UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZsb2F0ZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBJdGVtIFdpZHRoICovXG4vKiBTdGFja2FibGUgKi9cbi8qIFNpemUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YXRpc3RpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFN0YW5kYWxvbmUgKi9cbi51aS5zdGF0aXN0aWMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnVpLnN0YXRpc3RpYyArIC51aS5zdGF0aXN0aWMge1xuICBtYXJnaW46IDAgMCAwIDEuNWVtO1xufVxuLnVpLnN0YXRpc3RpYzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuc3RhdGlzdGljOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyb3VwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR3JvdXBlZCAqL1xuLnVpLnN0YXRpc3RpY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnVpLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMS41ZW0gMWVtO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4udWkuc3RhdGlzdGljcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMWVtIC0xLjVlbSAtMWVtO1xufVxuLyogQ2xlYXJpbmcgKi9cbi51aS5zdGF0aXN0aWNzOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLnN0YXRpc3RpY3M6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBjb2xvcjogIzFiMWMxZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogVG9wIExhYmVsICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsIH4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBCb3R0b20gTGFiZWwgKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgfiAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgSWNvbiBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSA+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgVGV4dCBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUgKyAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUgKyAubGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgSW1hZ2UgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIGltZyB7XG4gIG1heC1oZWlnaHQ6IDNyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvdW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50ZW4uc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkudGVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTAlO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkubmluZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS5uaW5lLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTEuMTExMTExMTElO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkuZWlnaHQuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkuZWlnaHQuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMi41JTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLnNldmVuLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLnNldmVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTQuMjg1NzE0MjklO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkuc2l4LnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLnNpeC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmZpdmUuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkuZml2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDIwJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmZvdXIuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkuZm91ci5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDI1JTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLnRocmVlLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLnRocmVlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMzMuMzMzMzMzMzMlO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkudHdvLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLnR3by5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLm9uZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS5vbmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4udWkuZmx1aWQuc3RhdGlzdGljIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbjogMWVtIDA7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24sXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24ge1xuICB3aWR0aDogMS4xOGVtO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAwIDAuNzVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnN0YXRpc3RpYyAudmFsdWUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnByaW1hcnkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnByaW1hcnkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucHJpbWFyeS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS5zZWNvbmRhcnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnNlY29uZGFyeS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc2Vjb25kYXJ5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuc2Vjb25kYXJ5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucmVkLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLm9yYW5nZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLm9yYW5nZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbi51aS55ZWxsb3cuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQub2xpdmUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmdyZWVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmdyZWVuLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbi51aS50ZWFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ibHVlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5ibHVlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnZpb2xldC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnZpb2xldC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbi51aS5wdXJwbGUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNkYzczZmY7XG59XG4udWkucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5waW5rLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5waW5rLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmJyb3duLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbi51aS5ncmV5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLmdyZXkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG4udWkuYmxhY2suc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmJsYWNrLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ibGFjay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYmxhY2suc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLmJsYWNrLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zdGF0aXN0aWMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDJlbSAxZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLnN0YXRpc3RpYyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMWVtIDJlbTtcbn1cbi51aS5mbG9hdGVkLnN0YXRpc3RpYzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RhY2thYmxlLnN0YXRpc3RpY3Mge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVkaXVtICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLnVpLm1pbmkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubWluaS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLnVpLm1pbmkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkubWluaS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS50aW55LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50aW55LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi51aS50aW55Lmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnRpbnkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG59XG4udWkudGlueS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS50aW55LnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnNtYWxsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zbWFsbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDNyZW07XG59XG4udWkuc21hbGwuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc21hbGwuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG59XG4udWkuc21hbGwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc21hbGwuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubGFyZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmxhcmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbn1cbi51aS5sYXJnZS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5sYXJnZS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbn1cbi51aS5sYXJnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5sYXJnZS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuLnVpLmJpZy5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmlnLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNS41cmVtO1xufVxuLnVpLmJpZy5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5iaWcuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDQuNXJlbTtcbn1cbi51aS5iaWcuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuYmlnLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG59XG4udWkuaHVnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaHVnZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDZyZW07XG59XG4udWkuaHVnZS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5odWdlLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA1cmVtO1xufVxuLnVpLmh1Z2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuaHVnZS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuLnVpLm1hc3NpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLm1hc3NpdmUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA3cmVtO1xufVxuLnVpLm1hc3NpdmUuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubWFzc2l2ZS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbn1cbi51aS5tYXNzaXZlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLm1hc3NpdmUuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDNyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIE1vZHVsZXMgKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEFjY29yZGlvblxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQWNjb3JkaW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGl0bGUgKi9cbi8qIEljb24gKi9cbi8qIENoaWxkIEFjY29yZGlvbiAqL1xuLyogQ29udGVudCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdHlsZWQgKi9cbi8qIENvbnRlbnQgKi9cbi8qIENoaWxkIENvbnRlbnQgKi9cbi8qIFN0eWxlZCBUaXRsZSAqL1xuLyogU3R5bGVkIFRpdGxlIFN0YXRlcyAqL1xuLyogU3R5bGVkIENoaWxkIFRpdGxlIFN0YXRlcyAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIENvbXBhY3QgKi9cbi8qIFZlcnkgQ29tcGFjdCAqL1xuLyogU3R5bGVkIENvbXBhY3QgKi9cbi8qIFN0eWxlZCBWZXJ5IENvbXBhY3QgKi9cbi8qIEJhc2ljIFN0eWxlZCAqL1xuLyogVHJlZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEFjY29yZGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5hY2NvcmRpb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBtYXJnaW46IDFlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG59XG4vKiBUaXRsZSAqL1xuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtID4gLnRpdGxlLFxuLnVpLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC41ZW0gMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4vKiBEZWZhdWx0IFN0eWxpbmcgKi9cbi51aS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC50aXRsZSB+IC5jb250ZW50LFxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gIG1hcmdpbjogXCJcIjtcbiAgcGFkZGluZzogMC41ZW0gMCAxZW07XG59XG4udWkuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4vKiBBcnJvdyAqL1xuLnVpLmFjY29yZGlvbiAudWkuaGVhZGVyID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uLnJpZ2h0LFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbi5yaWdodCxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVudSAqL1xuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3R5bGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3R5bGVkLmFjY29yZGlvbiB7XG4gIHdpZHRoOiA2MDBweDtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpmaXJzdC1jaGlsZCxcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogQ29udGVudCAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAuY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41ZW0gMWVtIDEuNWVtO1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC5jb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjVlbSAxZW0gMS41ZW07XG59XG4vKiBIb3ZlciAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogQWN0aXZlICovXG4udWkuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgU3R5bGluZyAqL1xuLnVpLmNvbXBhY3QuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSA+IC50aXRsZSxcbi51aS5jb21wYWN0LmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIHBhZGRpbmc6IDAuMjVlbSAwO1xufVxuLnVpLmNvbXBhY3QuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudCxcbi51aS5jb21wYWN0LmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDAuMjVlbSAwIDAuNWVtO1xufVxuLyogU3R5bGVkICovXG4udWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgcGFkZGluZzogMC4zNzVlbSAwLjVlbTtcbn1cbi51aS5jb21wYWN0LnN0eWxlZC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQsXG4udWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW0gMC43NWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ5IENvbXBhY3RcbiAgLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgPiAudGl0bGUsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIHBhZGRpbmc6IDAuMTI1ZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgcGFkZGluZzogMC4xMjVlbSAwIDAuMjVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgcGFkZGluZzogMC4xODc1ZW0gMC4yNWVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5zdHlsZWQuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjEyNWVtIDAuMjVlbSAwLjM3NWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBOb3QgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hY2NvcmRpb246bm90KGRldGFpbHMpIC50aXRsZSB+IC5jb250ZW50Om5vdCguYWN0aXZlKSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbjpub3QoZGV0YWlscykgLnRpdGxlIH4gLmNvbnRlbnQ6bm90KC5hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5hY2NvcmRpb24sXG4udWkuZmx1aWQuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmFjY29yZGlvbi5tZW51IC5pdGVtID4gLnRpdGxlLFxuLnVpLmludmVydGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbixcbi51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi8qIEhvdmVyICovXG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogQWN0aXZlICovXG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24sXG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3Zlcixcbi51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUsXG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3Zlcixcbi51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSxcbi51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudHJlZS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC50aXRsZSB+IC5jb250ZW50LFxuLnVpLnRyZWUuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbn1cbi51aS50cmVlLmFjY29yZGlvbiA+IC5jb250ZW50LFxuLnVpLnRyZWUuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAuY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjdlbTtcbn1cbi51aS50cmVlLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEFjY29yZGlvbjtcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JrOVVWRThBQUFSRUFBc0FBQUFBQmtBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUM3QUFBQVFvQUFBRS9qL2Z4d1VaR1ZFMEFBQVFVQUFBQUhBQUFBQnlOcXZ4UVIwUkZSZ0FBQS9nQUFBQWNBQUFBSUFBbkFCaFBVeTh5QUFBQllBQUFBRUlBQUFCZ1RhZFc1bU50WVhBQUFBS01BQUFBVVFBQUFXQUZadUtEYUdWaFpBQUFBUWdBQUFBeUFBQUFOZzh6VDh0b2FHVmhBQUFCUEFBQUFCb0FBQUFrQXBrQTVtaHRkSGdBQUFRd0FBQUFFd0FBQUJZQnR3QVNiV0Y0Y0FBQUFWZ0FBQUFHQUFBQUJnQUdVQUJ1WVcxbEFBQUJwQUFBQU9ZQUFBR3EvSEFoV1hCdmMzUUFBQUxnQUFBQURBQUFBQ0FBQXdBQWVKeGpZR1JnWUFEaThLV1Jzdkg4Tmw4WnVKa1lRT0Q4MzhYdlFQVDloR3hOSU9YSnNKMHhEMGh6TUlDbEFSenNDY29BQUhpY1kyQmtZR0I4OFA4QmtHUUFnKzB3Qmh5d0FnQmdqZ09BQUFBQUFGQUFBQVlBQUhpY1kyQm1PTTg0Z1lHVmdZSFJoekdOZ1lIQkhVcC9aWkJrYUdGQUJZd0NTSnlBTk5jVUJnY0doZyszR0IvOGZ3Q1VmTUNnQUZJRFY2QUFoSXdBUlZjTUp3QUFlSngxanJGT3d6QVVSVS9TTktnRklWZ1E2dVNSS1dvbFpqYVFPblFCcVFOYjJscFJwTXFXM0hUb3doZXc4VTlJL0JVMzdXT2p0bXlmZC8zdXRZRWJ2c240RzdseFJzbXRjYzRGRDhZRDZVL0doZmpOZU1nbHlialUvRFFlTStGSHJxd1kyUXNuenJnU25Uam5tbnZqZ2ZTcGNTRitOaDV5eDd0eEtmM0RlTXdqWDMxc29xYWpKZENvcUxzMjZIekZxOXl6MVdWUzZadjl0azVubXY4VmwwcEk3Q1JIWFRobVZQb2ZTNTkyYlF4dVZrM1BHRitPaGs2V1JoSGhHTk8zZVRiU1ZoeTB6MW1yYTZIVjkxWXl4ZEM1eGdldkZMOXhxNE9icitNaXhsRHhDL0hUT3JzQUFIaWNZMkJnWUdhQVlCa0dSZ1lRaUFMeUdNRjhGZ1k3SU0zRndNSEFCSVNNREFvZmJ2My8rLzgvV0pYQ2g1dGdOdVAveDJBK1JDOGJVQzBEVUI4cldJZ05pSmtZOEFKbS9OSkRIZ0FBTHFvT3hnQUFBSGljWTJCbXdBc0FBSDBBQkhpY1BZN0JTc05BRUlabmtrMnpsaGcxSktBWXhPckppNlJlcE1kQzhTS2VmQUpQNGtWQnpDdGtOdzdaamVLMWo5QzM4Um42Q081Q0RycHBpZ3dNTThQL2YvOGdNQWFJR0w0K3ZEMDlQd0o2Z0xDd3AyQW5hTTg4ZSs3YlEwYVJUeEU3R2NQUmZmSkw5RDlFSVgyYlcrc0ZPWHp1NVFEN09Td1BjdUE1WGlldzA1TjhDSURETGlTUXVUcUdTVm1VMC9LcUtHK0t4YXh2OCtsbE1VUnZId0JBZ1JKcmZFZUNFYUxuczlIZFJ4ekhQL0ZxYVY0eWFwdFdLMjVTa3daS3U0VmEwclVTV2pZVlZiejdDcW1xaFpCU2lOb2RxR3FrNWwydkZxclcxUEo0dFdiR3FaeFZLYTMxaHRBNmdtTjJhVEJ3Qm9ienVZc1UxWVlrR2hleVpWQnFMaktLeG44Y1NtdnVBQUI0bkdOZ1pHQmc0QUZpQVFZSkJpWWd6UUxFSUpvUmdnRUZiUUJBQUFBQUFRQUFBQURlVE8wNEFBQUFBTS85bys0QUFBQUEzMkJyS1hpY1kyQkFBRVlRc1oxQmlJRUJBQVBwQU1zQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICBmb250LWZhbWlseTogQWNjb3JkaW9uO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUsXG4udWkuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCIgLyogcnRsOiBcIlxcZjBkOVwiICovO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDYWxlbmRhclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ2FsZW5kYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jYWxlbmRhci5wb3B1cCB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi51aS5jYWxlbmRhci5wb3B1cC5pbnZlcnRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzJiMmIyYjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDYWxlbmRhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jYWxlbmRhciAuY2FsZW5kYXI6Zm9jdXMsXG4udWkuY2FsZW5kYXIucG9wdXA6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyaWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2FsZW5kYXIucG9wdXAgLnVpLmdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi51aS5jYWxlbmRhci5wb3B1cCAudWkuZ3JpZCA+IC5jb2x1bW4ge1xuICB3aWR0aDogYXV0bztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gIG1pbi13aWR0aDogMTVlbTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgbWluLXdpZHRoOiAxOGVtO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMjJlbTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUuaG91ciB7XG4gIG1pbi13aWR0aDogMjBlbTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzogMC41ZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoIGkuaWNvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5IHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5kYXkgdHI6bnRoLWNoaWxkKDIpIHRoIHtcbiAgcGFkZGluZy10b3A6IDAuMmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjFlbTtcbiAgcGFkZGluZy1yaWdodDogMC4xZW07XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5saW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAucHJldi5saW5rIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAubmV4dC5saW5rIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cbi51aS51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLmFkamFjZW50Om5vdCguZGlzYWJsZWQpOm5vdCguYWN0aXZlKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZC50b2RheSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZC5yYW5nZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmNhbGVuZGFyOm5vdCguZGlzYWJsZWQpOmZvY3VzIC51aS50YWJsZSB0Ym9keSB0ciB0ZC5mb2N1cyxcbi51aS5jYWxlbmRhcjpub3QoLmRpc2FibGVkKS5wb3B1cC5hY3RpdmUgLnVpLnRhYmxlIHRib2R5IHRyIHRkLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICM4NWI3ZDk7XG59XG4udWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLnRhYmxlLmludmVydGVkIHRyIHRkLnJhbmdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuY2FsZW5kYXI6bm90KC5kaXNhYmxlZCkgLmNhbGVuZGFyOmZvY3VzIC51aS50YWJsZS5pbnZlcnRlZCB0Ym9keSB0ciB0ZC5mb2N1cyxcbi51aS5pbnZlcnRlZC5jYWxlbmRhcjpub3QoLmRpc2FibGVkKS5wb3B1cC5hY3RpdmUgLnVpLnRhYmxlLmludmVydGVkIHRib2R5IHRyIHRkLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICM4NWI3ZDk7XG59XG4udWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyIC5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMyk7XG59XG4udWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLmludmVydGVkLnRhYmxlIHRyIC5hZGphY2VudDpub3QoLmRpc2FibGVkKTpub3QoLmFjdGl2ZSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xufVxuLnVpLnVpLnVpLmNhbGVuZGFyLnBvcHVwID4gLnVpLnVpLmdyaWQge1xuICBtYXJnaW46IC0xcmVtO1xufVxuLnVpLnVpLnVpLmNhbGVuZGFyLnBvcHVwID4gLnVpLnVpLmdyaWQgPiAuY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnVpLnVpLnVpLmNhbGVuZGFyLnBvcHVwID4gLnVpLnVpLmdyaWQgPiAuY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpID4gLnVpLnRhYmxlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkID4gLmNvbHVtbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkID4gLmNvbHVtbjpub3QoOmxhc3QtY2hpbGQpID4gLnVpLnRhYmxlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1pbmkuY2FsZW5kYXIsXG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS5taW5pLmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS5taW5pLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDExLjc4NTcxNDI5ZW07XG59XG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgbWluLXdpZHRoOiAxNC4xNDI4NTcxNGVtO1xufVxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAxNy4yODU3MTQyOWVtO1xufVxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDE1LjcxNDI4NTcxZW07XG59XG4udWkudGlueS5jYWxlbmRhcixcbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCxcbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuLnVpLnRpbnkuY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuLnVpLnRpbnkuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gIG1pbi13aWR0aDogMTIuODU3MTQyODZlbTtcbn1cbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICBtaW4td2lkdGg6IDE1LjQyODU3MTQzZW07XG59XG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUuZGF5LmFuZHdlZWsge1xuICBtaW4td2lkdGg6IDE4Ljg1NzE0Mjg2ZW07XG59XG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUuaG91ciB7XG4gIG1pbi13aWR0aDogMTcuMTQyODU3MTRlbTtcbn1cbi51aS5zbWFsbC5jYWxlbmRhcixcbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkuc21hbGwuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUubWludXRlIHtcbiAgbWluLXdpZHRoOiAxMy45Mjg1NzE0M2VtO1xufVxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICBtaW4td2lkdGg6IDE2LjcxNDI4NTcxZW07XG59XG4udWkuc21hbGwuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAyMC40Mjg1NzE0M2VtO1xufVxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgbWluLXdpZHRoOiAxOC41NzE0Mjg1N2VtO1xufVxuLnVpLmxhcmdlLmNhbGVuZGFyLFxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCxcbi51aS5sYXJnZS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDE3LjE0Mjg1NzE0ZW07XG59XG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMjAuNTcxNDI4NTdlbTtcbn1cbi51aS5sYXJnZS5jYWxlbmRhciAudWkudGFibGUuZGF5LmFuZHdlZWsge1xuICBtaW4td2lkdGg6IDI1LjE0Mjg1NzE0ZW07XG59XG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDIyLjg1NzE0Mjg2ZW07XG59XG4udWkuYmlnLmNhbGVuZGFyLFxuLnVpLmJpZy5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gIG1pbi13aWR0aDogMTkuMjg1NzE0MjllbTtcbn1cbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMjMuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAyOC4yODU3MTQyOWVtO1xufVxuLnVpLmJpZy5jYWxlbmRhciAudWkudGFibGUuaG91ciB7XG4gIG1pbi13aWR0aDogMjUuNzE0Mjg1NzFlbTtcbn1cbi51aS5odWdlLmNhbGVuZGFyLFxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkuaHVnZS5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkuaHVnZS5jYWxlbmRhciAudWkudGFibGUubWludXRlIHtcbiAgbWluLXdpZHRoOiAyMS40Mjg1NzE0M2VtO1xufVxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMjUuNzE0Mjg1NzFlbTtcbn1cbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMzEuNDI4NTcxNDNlbTtcbn1cbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgbWluLXdpZHRoOiAyOC41NzE0Mjg1N2VtO1xufVxuLnVpLm1hc3NpdmUuY2FsZW5kYXIsXG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS5tYXNzaXZlLmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS5tYXNzaXZlLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDI1LjcxNDI4NTcxZW07XG59XG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgbWluLXdpZHRoOiAzMC44NTcxNDI4NmVtO1xufVxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAzNy43MTQyODU3MWVtO1xufVxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDM0LjI4NTcxNDI5ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQuY2FsZW5kYXIge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLnVpLmRpc2FibGVkLmNhbGVuZGFyID4gLmlucHV0LFxuLnVpLmRpc2FibGVkLmNhbGVuZGFyIC51aS50YWJsZSB0ciAubGluayB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENoZWNrYm94XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ2hlY2tib3hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMYWJlbCAqL1xuLyogMjZweCBAIDE0L2VtICovXG4vKiBDaGVja2JveCAqL1xuLyogQ2hlY2ttYXJrICovXG4vKiBMYWJlbCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlciAqL1xuLyogUHJlc3NlZCAqL1xuLyogRm9jdXMgKi9cbi8qIEFjdGl2ZSAqL1xuLyogQWN0aXZlIEZvY3VzICovXG4vKiBJbmRldGVybWluYXRlICovXG4vKiBEaXNhYmxlZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJhZGlvICovXG4vKiBVc2VzIHB4IHRvIGF2b2lkIHJvdW5kaW5nIGlzc3VlcyB3aXRoIGNpcmNsZXMgKi9cbi8qIDdweCBhcyB1bml0bGVzcyB2YWx1ZSBmcm9tIHJhZGlvIHNpemUgKi9cbi8qIFNsaWRlciAmIFRvZ2dsZSBIYW5kbGUgKi9cbi8qIFNsaWRlciAqL1xuLyogU2xpZGVyIFN0YXRlcyAqL1xuLyogVG9nZ2xlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52aXNpYmxlICovXG4vKiBJbnZlcnRlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ2hlY2tib3hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1pbi1oZWlnaHQ6IDE3cHg7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgbWluLXdpZHRoOiAxN3B4O1xufVxuLyogSFRNTCBDaGVja2JveCAqL1xuLnVpLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDM7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG59XG4udWkuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmNoZWNrYm94Om5vdCguaW52aXNpYmxlKSBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMS44NTcxNGVtO1xufVxuLnVpLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogMC4yMTQyODU3MXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDaGVja21hcmtcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbn1cbi51aS5yaWdodC5hbGlnbmVkLmNoZWNrYm94IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg1NzE0ZW07XG59XG4udWkucmlnaHQuYWxpZ25lZC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIsXG4udWkucmlnaHQuYWxpZ25lZC5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5zaWRlICovXG4udWkuY2hlY2tib3ggbGFiZWwsXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4vKiBPdXRzaWRlICovXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4udWkuY2hlY2tib3g6bm90KC5pbnZpc2libGUpIGxhYmVsOmhvdmVyLFxuLnVpLmNoZWNrYm94Om5vdCguaW52aXNpYmxlKSArIGxhYmVsOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBEb3duXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbn1cbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuY2hlY2tib3g6bm90KC5pbnZpc2libGUpIGlucHV0OmFjdGl2ZSB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOTZjOGRhO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuY2hlY2tib3g6bm90KC5pbnZpc2libGUpIGlucHV0OmZvY3VzIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEluZGV0ZXJtaW5hdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5pbmRldGVybWluYXRlLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUudG9nZ2xlLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKSB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IDEuMDc1cmVtO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQuaW5kZXRlcm1pbmF0ZS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pIH4gbGFiZWw6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEuMDc1cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgQWN0aXZlIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IGxhYmVsOjpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDo6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUmVhZC1Pbmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmVhZC1vbmx5LmNoZWNrYm94LFxuLnVpLnJlYWQtb25seS5jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5jaGVja2JveCBsYWJlbCxcbi51aS5jaGVja2JveCBpbnB1dFtkaXNhYmxlZF0gfiBsYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5pdGlhbGl6ZWQgY2hlY2tib3ggbW92ZXMgaW5wdXQgYmVsb3cgZWxlbWVudFxuIHRvIHByZXZlbnQgbWFudWFsbHkgdHJpZ2dlcmluZyAqL1xuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiB7XG4gIHotaW5kZXg6IC0xO1xufVxuLyogU2VsZWN0YWJsZSBMYWJlbCAqL1xuLnVpLmNoZWNrYm94IGlucHV0ICsgbGFiZWxbZm9yXSxcbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4gKyBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJhZGlvXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmFkaW8uY2hlY2tib3gge1xuICBtaW4taGVpZ2h0OiAxNXB4O1xufVxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjg1NzE0ZW07XG59XG4vKiBCb3ggKi9cbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwO1xufVxuLyogQnVsbGV0ICovXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNDY2NjY2NjcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogRm9jdXMgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEluZGV0ZXJtaW5hdGUgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTbGlkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zbGlkZXIuY2hlY2tib3gge1xuICBtaW4taGVpZ2h0OiAxLjI1cmVtO1xufVxuLyogSW5wdXQgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG4vKiBMYWJlbCAqL1xuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogNC41cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi8qIExpbmUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDAuMjE0Mjg1NzFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG59XG4vKiBIYW5kbGUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRvcDogLTAuMjVyZW07XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZTtcbn1cbi8qIEZvY3VzICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IDJyZW07XG59XG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5yaWdodC5hbGlnbmVkLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogNC41cmVtO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQuc2xpZGVyLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2U7XG59XG4udWkucmlnaHQuYWxpZ25lZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRvZ2dsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbn1cbi8qIElucHV0ICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG59XG4vKiBMYWJlbCAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjE1ZW07XG59XG4vKiBTd2l0Y2ggKi9cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKiBIYW5kbGUgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgbGVmdCAwLjNzIGVhc2U7XG59XG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IH4gbGFiZWw6OmFmdGVyIHtcbiAgbGVmdDogLTAuMDVyZW07XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLyogRm9jdXMgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyOiBub25lO1xufVxuLyogSG92ZXIgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgbGVmdDogMi4xNXJlbTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1MjQ1MDtcbn1cbi51aS5yaWdodC5hbGlnbmVkLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogNC41cmVtO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0IH4gbGFiZWw6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIuMTVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCByaWdodCAwLjNzIGVhc2U7XG59XG4udWkucmlnaHQuYWxpZ25lZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4wNXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLmZpdHRlZC5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi51aS5maXR0ZWQudG9nZ2xlLmNoZWNrYm94IHtcbiAgd2lkdGg6IDMuNXJlbTtcbn1cbi51aS5maXR0ZWQuc2xpZGVyLmNoZWNrYm94IHtcbiAgd2lkdGg6IDMuNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLmludmVydGVkLmNoZWNrYm94IGxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmNoZWNrYm94ICsgbGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogSG92ZXIgKi9cbi51aS51aS5pbnZlcnRlZC5jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC41KTtcbn1cbi8qIFNsaWRlciBMYWJlbCAqL1xuLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4vKiBTbGlkZXIgTGluZSAqL1xuLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyogU2xpZGVyIEhvdmVyICovXG4udWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4vKiBTbGlkZXIgQWN0aXZlICovXG4udWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qIFNsaWRlciBBY3RpdmUgRm9jdXMgKi9cbi51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLyogVG9nZ2xlIFN3aXRjaCAqL1xuLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogVG9nZ2xlIEhvdmVyICovXG4udWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLyogVG9nZ2xlIEFjdGl2ZSAqL1xuLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLyogVG9nZ2xlIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTUyNDUwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmlzaWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmlzaWJsZS5jaGVja2JveDpub3QoLmNvbXBhY3QpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuaW52aXNpYmxlLmNoZWNrYm94IGlucHV0IHtcbiAgbGVmdDogLTk5OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi51aS5pbnZpc2libGUuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSxcbi51aS5pbnZpc2libGUuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5pbnZpc2libGUuY2hlY2tib3ggbGFiZWwge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlO1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6aG92ZXIpOmZvY3VzICsgbGFiZWw6bm90KC5pbWFnZSkge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldDtcbn1cbi51aS51aS51aS51aS51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSArIGxhYmVsLmltYWdlLFxuLmJhc2ljLnVpLnVpLnVpLnVpLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWwuaW1hZ2Uge1xuICBvcGFjaXR5OiAwLjU7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xufVxuLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6aG92ZXIpOmZvY3VzICsgbGFiZWwuaW1hZ2Uge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpW2Rpc2FibGVkXSArIGxhYmVsLmltYWdlLFxuLmRpc2FibGVkLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWwuaW1hZ2Uge1xuICBvcGFjaXR5OiAwLjI1O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWluaS5jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkuY2hlY2tib3gge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5zbWFsbC5jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLmNoZWNrYm94IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkubGFyZ2UuZm9ybSAuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkubGFyZ2UuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkubGFyZ2UuZm9ybSAuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlLFxuLnVpLmxhcmdlLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xNDI4NTcxNCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG4udWkubGFyZ2UuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSxcbi51aS5sYXJnZS5jaGVja2JveC5yYWRpbyBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjE0Mjg1NzE0KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5sYXJnZS5mb3JtIC5jaGVja2JveC5yYWRpbyBsYWJlbDo6YWZ0ZXIsXG4udWkubGFyZ2UuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjU3MTQyODU3KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgbGVmdDogMC4zMzU3MTQyOWVtO1xufVxuLnVpLmJpZy5jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmJpZy5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjphZnRlcixcbi51aS5iaWcuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkuYmlnLmZvcm0gLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmJlZm9yZSxcbi51aS5iaWcuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjI4NTcxNDI5KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5iaWcuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSxcbi51aS5iaWcuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yODU3MTQyOSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG4udWkuYmlnLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlcixcbi51aS5iaWcuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY0Mjg1NzE0KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgbGVmdDogMC4zNzE0Mjg1N2VtO1xufVxuLnVpLmh1Z2UuY2hlY2tib3gge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5odWdlLmZvcm0gLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLmh1Z2UuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkuaHVnZS5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUsXG4udWkuaHVnZS5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNDI4NTcxNDMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLmh1Z2UuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSxcbi51aS5odWdlLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNDI4NTcxNDMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLmh1Z2UuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyLFxuLnVpLmh1Z2UuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjcxNDI4NTcxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgbGVmdDogMC40MDcxNDI4NmVtO1xufVxuLnVpLm1hc3NpdmUuY2hlY2tib3gge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi51aS5tYXNzaXZlLmZvcm0gLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLm1hc3NpdmUuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkubWFzc2l2ZS5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUsXG4udWkubWFzc2l2ZS5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNzE0Mjg1NzEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLm1hc3NpdmUuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSxcbi51aS5tYXNzaXZlLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNzE0Mjg1NzEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLm1hc3NpdmUuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyLFxuLnVpLm1hc3NpdmUuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1NzE0Mjg2KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgbGVmdDogMC40Nzg1NzE0M2VtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQ2hlY2tib3g7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSZ0FCQUFBQUFBUjhBQTBBQUFBQUJ0d0FBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFFWUFBQUFCb0FBQUFjZ2JDV0owZEVSVVlBQUFSSUFBQUFGd0FBQUJnQUpRQUFUMU12TWdBQUFaZ0FBQUJBQUFBQVlBOFNCRDlqYldGd0FBQUI5QUFBQUZNQUFBRmM3MXpvNldkaGMzQUFBQVJBQUFBQUNBQUFBQWdBQUFBUVoyeDVaZ0FBQWx3QUFBREpBQUFCVkhzaHdHQm9aV0ZrQUFBQk1BQUFBQzRBQUFBMkJqM3RXV2hvWldFQUFBRmdBQUFBSFFBQUFDUUhmUVBJYUcxMGVBQUFBZGdBQUFBWkFBQUFIZzU2QUVWc2IyTmhBQUFDU0FBQUFCSUFBQUFTQVFvQWpHMWhlSEFBQUFHQUFBQUFHQUFBQUNBQUNnQXZibUZ0WlFBQUF5Z0FBQURuQUFBQnA1eE9DNEZ3YjNOMEFBQUVFQUFBQURBQUFBQmFIUnRXVzNpY1kyQmtZR0JnWW1EZ3FiQVZqZWUzK2NyQXpjSUFBaGMzWGlsSHBwbDNNK2NCS1E2UVdnWUdBQUhuQ1ZzQUFIaWNZMkJrWUdBKzhQOEFBd01MQXdndzcyWmdaRUFGN0FCYUpnTk9BQUFBZUp4allHUmdZT0JnMEdVQTBRd01UQXhvQUFBRnRRQTZlSnhqWUdZV1lwekF3TXJBd0RTVDZRd0RBME0vaEdaOHpXRE15TW1BQ2hnRjBBUVlIQmdZWGpBeEgvaC9nTUdCK1FDSXg4Q0lKS3ZBd0FnQUlPY0tXM2ljWTJHQUFNWlFDTTBFeEN3TURLN01xaUFlQUFxWEFNNEFBQUI0bk4yTndRMkFNQXdETDAwcEhZSkg1MkFROW4vdzZCYkZDUzlXd0pGbE8zSVV3SGw1WUFRdUpjdGNPYVZkVTZUR21HV3Q3SXhKdUhYbnZtY3JuTFBSMkdXYjZObkY0cnJ3aFQ1VS9vMEhmNUVKR0FBQUFBQUFBQWdBQ0FBUUFCZ0FTQUJzQUtvQUFIaWNoWTA5Q3NKQUVJVm5kaUcyZ3lRN0lBU0pJYkhReXZ5SWlGaFpwQkU4aU5zSWVpVnZZT0Z4N0ZQYktFNnlVY0hHZ1oyM2p6ZDhEeERlb3dBV0N2NzdEZXowVmQxaEFJQitENzE0Tk1hMHlOZFlack1odW0wQ2ZhV25UNGJwZVNQYUVqT2Q4ZGpJbHRUQk5CbGhTR3pFUzNKcWI1b1c2VU9yRTFXQkw3L0E3M2x4TkJxbks4em5aUmJOV01nSkVUOHFKaGxXRjFIVjN6dlhTY2VCU2lmYXdyVGpUTHJkMHVJM2M0bEZ1NFVjWXZiaDEvS3NJYW9kVWF5eDdLeHIrd2I4WStFRmkrWXNuZ0FBQUhpY2ZjNUJTc05BR01YeGY5cTBhZ1VSRnk1ME0zc2hsT29OaWtJWGRkR0ZhNU4wU0V2TERLUXAyS1VIOEF4dVhYa2t6K0pMK05ZSkpQem1mZk5tQWx6eFMwTDdKSnh6WXg1d3hvTjVxUHpabk1ydjVoR1hmSnJIeXIvTkUrNzRVeXRKTDVSY2R5ZTBIdWl1ZS9OUSthTTVsVi9OSTI3Wm1zZkt2OHdUbnZoaHpnWlB5WTZDeUFmTU43N2NGVkZhYVZCeFpFOU9yYVd2anZ0YzZLbjBqTjQwcURub1Z5SUJ4NHlNcVdKZkg3WXh1RmsyN2EyL2RMVkd4VXBiUW5kWXJyVm5yYXpncE85QzFjaFNiN3MzVXltR3hsVSsrRHB2L05vVko3Y280ekxHa1BFUGowVkFSUUI0bkdOZ1lzQVBPQmdZR0prWW1CaVpHWmdaV1JoWkdkbllTL015RFlBQVNodUNhRmNMQ0I5SXcvaEdBT1BkQ3VNQUFRQUIvLzhBRDNpY1kyQmtZR0RnQVdJQklHWUNZaFlJRFFBQ093QW1BSGljWTJCZ1lHUUFnbnMrYnkxQTlNV05WOHBoTkFCUTV3ZnJBQUE9XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG4vKiBDaGVja21hcmsgKi9cbi51aS5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBmb250LWZhbWlseTogQ2hlY2tib3g7XG59XG4vKiBDaGVja2VkICovXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG59XG4vKiBJbmRldGVybWluYXRlICovXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29udGVudDogXCJcXGU4MDFcIjtcbn1cbi8qIFVURiBSZWZlcmVuY2Vcbi5jaGVjazo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH1cbi5kYXNoOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfVxuLnBsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9XG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRGltbWVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGltbWVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSGlkZGVuIChEZWZhdWx0KSAqL1xuLyogVmlzaWJsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZ2UgRGltbWVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFNpbXBsZSAqL1xuLyogSW50ZW5zaXR5ICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGltbWVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmRpbW1hYmxlOm5vdChib2R5KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS5kaW1tZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAxZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIG9wYWNpdHk6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGxpbmVhcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgei1pbmRleDogMTAwMDtcbn1cbi8qIERpbW1lciBDb250ZW50ICovXG4udWkuZGltbWVyID4gLmNvbnRlbnQge1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMb29zZSBDb3VwbGluZyAqL1xuLnVpLnNlZ21lbnQgPiAudWkuZGltbWVyOm5vdCgucGFnZSkge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLyogU2Nyb2xsYmFycyAqL1xuLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuZGltbWVyOm5vdCguaW52ZXJ0ZWQpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4udWkuZGltbWVyOm5vdCguaW52ZXJ0ZWQpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xufVxuLnVpLmRpbW1lcjpub3QoLmludmVydGVkKSB7XG4gIC8qIElFMTEgKi9cbiAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci10cmFjay1jb2xvcjogIzMyMzIzMjtcbiAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjMzIzMjMyO1xufVxuQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgLnVpLmRpbW1lcjpub3QoLmludmVydGVkKSB7XG4gICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgIHNjcm9sbGJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBbmltYXRpbmcgKi9cbi5hbmltYXRpbmcuZGltbWFibGU6bm90KGJvZHkpLFxuLmRpbW1lZC5kaW1tYWJsZTpub3QoYm9keSkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogQW5pbWF0aW5nIC8gQWN0aXZlIC8gVmlzaWJsZSAqL1xuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5hbmltYXRpbmcuZGltbWVyLFxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmRpbW1lcixcbi51aS5hY3RpdmUuZGltbWVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuZGltbWVyIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGVnYWN5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5sZWdhY3kuZGltbWVyLFxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmxlZ2FjeS5kaW1tZXIsXG4udWkuYWN0aXZlLmxlZ2FjeS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFsaWdubWVudFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmRpbW1lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5kaW1tZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBQYWdlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGFnZS5kaW1tZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRyYW5zZm9ybS1zdHlsZTogXCJcIjtcbiAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi51aS5wYWdlLmRpbW1lci5tb2RhbHMge1xuICAtbW96LXBlcnNwZWN0aXZlOiBub25lO1xufVxuYm9keS5hbmltYXRpbmcuaW4uZGltbWFibGUsXG5ib2R5LmRpbW1lZC5kaW1tYWJsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5ib2R5LmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJsdXJyaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5Ac3VwcG9ydHMgKG5vdCAoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmUpKSBhbmQgKG5vdCAoYmFja2Ryb3AtZmlsdGVyOiBub25lKSkge1xuICAuYmx1cnJpbmcuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpIHtcbiAgICBmaWx0ZXI6IGluaXRpYWw7XG4gICAgdHJhbnNpdGlvbjogODAwbXMgZmlsdGVyIGVhc2U7XG4gIH1cbiAgLmJsdXJyaW5nLmRpbW1lZC5kaW1tYWJsZSA+IDpub3QoLmRpbW1lcik6bm90KC5wb3B1cCkge1xuICAgIGZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xuICB9XG59XG4vKiBEaW1tZXIgQ29sb3IgKi9cbi5ibHVycmluZy5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCkgZ3JheXNjYWxlKDAuNyk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xufVxuLmJsdXJyaW5nLmRpbW1hYmxlID4gLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaW1tZXIgPiAudG9wLmFsaWduZWQuY29udGVudCA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmRpbW1lciA+IC5ib3R0b20uYWxpZ25lZC5jb250ZW50ID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaGFkZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi5tZWRpdW0ubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG59XG4ubGlnaHQubGlnaHQubGlnaHQubGlnaHQubGlnaHQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cbi52ZXJ5LnZlcnkudmVyeS52ZXJ5LmxpZ2h0LmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLmNvbnRlbnQsXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLmNvbnRlbnQgPiAqIHtcbiAgY29sb3I6ICMwMDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWQgU2hhZGVzXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLm1lZGl1bS5tZWRpdW0ubWVkaXVtLm1lZGl1bS5tZWRpdW0uaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcbn1cbi5saWdodC5saWdodC5saWdodC5saWdodC5saWdodC5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpO1xufVxuLnZlcnkudmVyeS52ZXJ5LnZlcnkubGlnaHQuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTaW1wbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuLnVpLnNpbXBsZS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTEwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmRpbW1lciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB6LWluZGV4OiAxO1xufVxuLnVpLnNpbXBsZS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5zaW1wbGUuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQYXJ0aWFsbHlcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwidG9wIGRpbW1lclwiXSxcbi51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdLFxuLnVpW2NsYXNzKj1cImJvdHRvbSBkaW1tZXJcIl0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGRpbW1lclwiXSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0ge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnVpLnNlZ21lbnQgPiAudWkudWlbY2xhc3MqPVwidG9wIGRpbW1lclwiXSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnNlZ21lbnQgPiAudWkudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuc2VnbWVudCA+IC51aS51aVtjbGFzcyo9XCJib3R0b20gZGltbWVyXCJdIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBDZW50ZXI7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQ2VudGVyO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBDZW50ZXI7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25DZW50ZXI7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS5ib3VuY2UudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VDZW50ZXI7XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwQ2VudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25DZW50ZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQ2VudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQ2VudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUNlbnRlciB7XG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNTAlIC0gMzBweCkpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTUwJSAtIDE1cHgpKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRHJvcGRvd25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEcm9wZG93blxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uICovXG4vKiBDdXJyZW50IFRleHQgKi9cbi8qIE1lbnUgKi9cbi8qIFRleHQgKi9cbi8qIE1lbnUgSXRlbSAqL1xuLyogVmVydGljYWwgSXRlbSAqL1xuLyogU3ViIE1lbnUgKi9cbi8qIE1lbnUgSGVhZGVyICovXG4vKiBNZW51IERpdmlkZXIgKi9cbi8qIE1lbnUgSW5wdXQgKi9cbi8qIE1lbnUgSW1hZ2UgKi9cbi8qIEl0ZW0gU3ViLUVsZW1lbnQgKi9cbi8qIFN1Yi1NZW51IERyb3Bkb3duIEljb24gKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBNZXNzYWdlICovXG4vKiBGbG9hdGVkIENvbnRlbnQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS1cbiAgIFNlbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0gKi9cbi8qIDxzZWxlY3Q+ICovXG4vKiBSZXNwb25zaXZlICovXG4vKiBEZXJpdmVkICovXG4vKiAxcHggLyBlbSBzaXplICovXG4vKiBIb3ZlciAqL1xuLyogRm9jdXMgKi9cbi8qIFZpc2libGUgKi9cbi8qIFZpc2libGUgSG92ZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNlYXJjaFxuLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi8qIElubGluZSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBNdWx0aXBsZVxuLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNwbGl0IEFjdHVhbCBQYWRkaW5nIEJldHdlZW4gQ2hpbGQgYW5kIFBhcmVudCAoYWxsb3dzIGZvciBsYWJlbCBzcGFjaW5nKSAqL1xuLyogQ2hpbGQgRWxlbWVudHMgKi9cbi8qIERyb3Bkb3duIEljb24gKi9cbi8qIFNlbGVjdGlvbiBMYWJlbCAqL1xuLyogTG9naWMgYWRvcHRlZCBmcm9tIGxhYmVsLmxlc3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBZGRpdGlvbiAqL1xuLyogSG92ZXJlZCAqL1xuLyogRGVmYXVsdCBUZXh0ICovXG4vKiBMb2FkaW5nICovXG4vKiBBY3RpdmUgTWVudSBJdGVtICovXG4vKiBTZWxlY3RlZCAqL1xuLyogQ2xlYXJhYmxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAwIC8gZW0gc2l6ZSAqL1xuLyogVXB3YXJkICovXG4vKiBGbHlvdXQgRGlyZWN0aW9uICovXG4vKiBMZWZ0ICovXG4vKiBTaW1wbGUgKi9cbi8qIEZsb2F0aW5nICovXG4vKiBQb2ludGluZyAqL1xuLyogUG9pbnRpbmcgVXB3YXJkICovXG4vKiBTY3JvbGxoaW50ICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdlbmVyYWwgcnVsZXMgYW5kIGJhc2ljIGRyb3Bkb3ducyAqL1xuLyogU2VsZWN0aW9uICovXG4vKiBNdWx0aXBsZSAqL1xuLyogU2Nyb2xsaGludCAqL1xuLyogUmVzaXphYmxlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRHJvcGRvd25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZHJvcGRvd24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdG9wOiAxMDAlO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHotaW5kZXg6IDExO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gKiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICBIaWRkZW4gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duID4gaW5wdXQ6bm90KC5zZWFyY2gpOmZpcnN0LWNoaWxkLFxuLnVpLmRyb3Bkb3duID4gc2VsZWN0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiBEcm9wZG93biBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93bjpub3QoLmxhYmVsZWQpID4gLmRyb3Bkb3duLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwIDAgMWVtO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24gKyAudGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFRleHRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duID4gLnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIE1lbnUgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDIuNTcxNDI4NTdyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMS4xNDI4NTcxNHJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgRmxvYXRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFlbSAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtICFpbXBvcnRhbnQ7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBpLmljb24uZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IC5mbGFnLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaW1hZ2UuZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IGltZy5mbG9hdGVkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgTWVudSBEaXZpZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIge1xuICBtYXJnaW46IDFyZW0gMCAwLjc1cmVtO1xuICBwYWRkaW5nOiAwIDEuMTQyODU3MTRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAuNWVtIDA7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaG9yaXpvbnRhbC5kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS51aS51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDEuMTQyODU3MTRyZW0gMC43ODU3MTQyOXJlbTtcbiAgbWluLXdpZHRoOiAxMHJlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIgKyAuaW5wdXQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIGlucHV0IHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIC5idXR0b24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIC5sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgSXRlbSBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZGVzY3JpcHRpb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5kZXNjcmlwdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCA+IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtLnZlcnRpY2FsID4gLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBTdWIgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAgLTAuNWVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogMjEgIWltcG9ydGFudDtcbn1cbi8qIEhpZGUgQXJyb3cgKi9cbi51aS5kcm9wZG93biAubWVudSAubWVudTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFN1YiBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29ucyAvIEZsYWdzIC8gTGFiZWxzIC8gSW1hZ2UgKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29ucyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29ucyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29ucyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29ucyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc4NTcxNDI5cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSW1hZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZTpub3QoLmljb24pLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gIG1heC1oZWlnaHQ6IDJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlbW92ZSBNZW51IEl0ZW0gRGl2aWRlciAqL1xuLnVpLmRyb3Bkb3duIC51aS5tZW51ID4gLml0ZW06OmJlZm9yZSxcbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogUHJldmVudCBNZW51IEl0ZW0gQm9yZGVyICovXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4vKiBBdXRvbWF0aWNhbGx5IGZsb2F0IGRyb3Bkb3duIG1lbnUgcmlnaHQgb24gbGFzdCBtZW51IGl0ZW0gKi9cbi51aS5tZW51IC5yaWdodC5tZW51IC5kcm9wZG93bjpsYXN0LWNoaWxkID4gLm1lbnU6bm90KC5sZWZ0KSxcbi51aS5tZW51IC5yaWdodC5kcm9wZG93bi5pdGVtID4gLm1lbnU6bm90KC5sZWZ0KSxcbi51aS5idXR0b25zID4gLnVpLmRyb3Bkb3duOmxhc3QtY2hpbGQgPiAubWVudTpub3QoLmxlZnQpIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIExhYmVsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEcm9wZG93biBNZW51ICovXG4udWkubGFiZWwuZHJvcGRvd24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQnV0dG9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBObyBNYXJnaW4gT24gSWNvbiBCdXR0b24gKi9cbi51aS5kcm9wZG93bi5pY29uLmJ1dHRvbiA+IC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLmRyb3Bkb3duLmJ1dHRvbiAubWVudSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi51aS5kcm9wZG93bi5idXR0b246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykuYWN0aXZlIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5kcm9wZG93bi5idXR0b246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykgPiAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnNlbGVjdC51aS5kcm9wZG93biB7XG4gIGhlaWdodDogMzhweDtcbiAgcGFkZGluZzogMC41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTZWxlY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpc3BsYXlzIGxpa2UgYSBzZWxlY3QgYm94ICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlWigwKTtcbiAgbWluLXdpZHRoOiAxNGVtO1xuICBtaW4taGVpZ2h0OiAyLjcxNDI4NTcxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDMuMmVtIDAuNzg1NzE0MjllbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgd2lkdGggMC4xcyBlYXNlO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi52aXNpYmxlLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5hY3RpdmUge1xuICB6LWluZGV4OiAxMDtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuc2VhcmNoLmljb24sXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRlbGV0ZS5pY29uLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHRvcDogMC43ODU3MTQyOWVtO1xuICByaWdodDogMWVtO1xuICB6LWluZGV4OiAzO1xuICBtYXJnaW46IC0wLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmc6IDAuOTE2NjY2NjdlbTtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi8qIENvbXBhY3QgKi9cbi51aS5jb21wYWN0LnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi51aS5jb21wYWN0LnNlbGVjdGlvbi5kcm9wZG93biA+IC5tZW51IHtcbiAgd2lkdGg6IGF1dG87XG59XG4udWkuY29tcGFjdC5zZWxlY3Rpb24uZHJvcGRvd24gPiAubWVudTpub3QoLm11bHRpbGluZSkge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG4vKiBTZWxlY3Rpb24gTWVudSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDAgLTFweDtcbiAgbWluLXdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpID4gLm1lbnUge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTo6YWZ0ZXIsXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTWVzc2FnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLnNob3J0IC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA2LjAxMDcxNDI5cmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNC4wMDcxNDI4NnJlbTtcbiAgfVxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogOC4wMTQyODU3MXJlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLmxvbmcgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE2LjAyODU3MTQzcmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBsb25nXCJdIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyNC4wNDI4NTcxNHJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLnNob3J0IC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA4LjAxNDI4NTcxcmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNS4zNDI4NTcxNHJlbTtcbiAgfVxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTAuNjg1NzE0MjlyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyMS4zNzE0Mjg1N3JlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMzIuMDU3MTQyODZyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTIuMDIxNDI4NTdyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA4LjAxNDI4NTcxcmVtO1xuICB9XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd246bm90KC51bmxpbWl0ZWQpIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMjg1NzE0M3JlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLmxvbmcgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDMyLjA1NzE0Mjg2cmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBsb25nXCJdIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA0OC4wODU3MTQyOXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTYuMDI4NTcxNDNyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxMC42ODU3MTQyOXJlbTtcbiAgfVxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjEuMzcxNDI4NTdyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA0Mi43NDI4NTcxNHJlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNjQuMTE0Mjg1NzFyZW07XG4gIH1cbn1cbi8qIE1lbnUgSXRlbSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmYWZhZmE7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMS4xNDI4NTcxNHJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4udWkuc2VsZWN0aW9uLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuc2VsZWN0aW9uLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogVXNlciBJdGVtICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLmhpZGRlbi5hZGRpdGlvbi5pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFVzZXIgYWRkaXRpb24gaXRlbSAqL1xuLnVpLmRyb3Bkb3duID4gLm1lbnUgPiAuc3R1Y2suYWRkaXRpb24uaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTQ7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnNlbGVjdGlvbi5zaW1wbGUuZHJvcGRvd246aG92ZXIsXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzk2YzhkYTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24gLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBGb2N1cyAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzk2YzhkYTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLmludmVydGVkKTpoYXMoPiBpbnB1dDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogIzk2YzhkYTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd246bm90KC5pbnZlcnRlZCk6aGFzKD4gaW5wdXQ6Zm9jdXMpID4gaS5pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4udWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzID4gaS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIFZpc2libGUgKi9cbi51aS5zZWxlY3Rpb24udmlzaWJsZS5kcm9wZG93biA+IC50ZXh0Om5vdCguZGVmYXVsdCkge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogVmlzaWJsZSBIb3ZlciAqL1xuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogIzk2YzhkYTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4udWkudmlzaWJsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIG9wYWNpdHk6IFwiXCI7XG4gIHotaW5kZXg6IDM7XG59XG4vKiBDb25uZWN0aW5nIEJvcmRlciAqL1xuLnVpLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBFbXB0eSBDb25uZWN0aW5nIEJvcmRlciAqL1xuLnVpLmFjdGl2ZS5lbXB0eS5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIENTUyBzcGVjaWZpYyB0byBpT1MgZGV2aWNlcyBvciBmaXJlZm94IG1vYmlsZSBvbmx5ICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgb3IgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICBAbWVkaWEgKC1tb3otdG91Y2gtZW5hYmxlZCksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWkuZHJvcGRvd24gLnNjcm9sbGhpbnQubWVudTpub3QoLmhpZGRlbik6OmJlZm9yZSB7XG4gICAgICBhbmltYXRpb246IHNjcm9sbGhpbnQgMnMgZWFzZSAyO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcmlnaHQ6IDAuMjVlbTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yaWdodDogMC4yNWVtIHNvbGlkO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC43NSksIHJnYmEoMCwgMCwgMCwgMCkpIDEgMTAwJTtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5zY3JvbGxoaW50Lm1lbnU6bm90KC5oaWRkZW4pOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSAxIDEwMCU7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2Nyb2xsaGludCB7XG4gICAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNlYXJjaGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi51aS5zZWFyY2guZHJvcGRvd24ge1xuICBtaW4td2lkdGg6IFwiXCI7XG59XG4vKiBTZWFyY2ggRHJvcGRvd24gKi9cbi51aS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogdGV4dDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHBhZGRpbmc6IGluaGVyaXQ7XG59XG4vKiBUZXh0IExheWVyaW5nICovXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xufVxuLnVpLnNlYXJjaC5kcm9wZG93biA+IC50ZXh0IHtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDFweDtcbiAgei1pbmRleDogYXV0bztcbn1cbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDMuMmVtIDAuNjc4NTcxNDNlbSAxZW07XG59XG4vKiBVc2VkIHRvIHNpemUgbXVsdGkgc2VsZWN0IGlucHV0IHRvIGNoYXJhY3RlciB3aWR0aCAqL1xuLnVpLnNlYXJjaC5zZWxlY3Rpb24uZHJvcGRvd24gPiBzcGFuLnNpemVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDMuMmVtIDAuNjc4NTcxNDNlbSAxZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG4vKiBBY3RpdmUvVmlzaWJsZSBTZWFyY2ggKi9cbi51aS5zZWFyY2guZHJvcGRvd24uYWN0aXZlID4gaW5wdXQuc2VhcmNoLFxuLnVpLnNlYXJjaC5kcm9wZG93bi52aXNpYmxlID4gaW5wdXQuc2VhcmNoIHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLnVpLnNlYXJjaC5kcm9wZG93bi5hY3RpdmUgPiAudGV4dCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IC50ZXh0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiBGaWx0ZXJlZCBUZXh0ICovXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCBpLmljb24sXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuZmxhZyB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpO1xufVxuLnVpLnNlYXJjaC5kcm9wZG93bi5idXR0b24gPiBzcGFuLnNpemVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFNlYXJjaCBNZW51ICovXG4udWkuc2VhcmNoLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc2VhcmNoLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogOC4wMTQyODU3MXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2VhcmNoLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTAuNjg1NzE0MjlyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE2LjAyODU3MTQzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2VhcmNoLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjEuMzcxNDI4NTdyZW07XG4gIH1cbn1cbi8qIENsZWFyYWJsZSBTZWxlY3Rpb24gKi9cbi51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbjogLTAuNzg1NzE0MjllbTtcbiAgcGFkZGluZzogMC45MTY2NjY2N2VtO1xuICByaWdodDogMmVtO1xuICB0b3A6IDAuNzg1NzE0MjllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjU7XG4gIHotaW5kZXg6IDM7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uIHtcbiAgcmlnaHQ6IDNlbTtcbn1cbi51aS5pbmxpbmUuZHJvcGRvd24gPiAucmVtb3ZlLmljb24ge1xuICByaWdodDogMi4yZW07XG59XG4udWkuY2xlYXJhYmxlLmRyb3Bkb3duIC50ZXh0Om5vdCguZGVmYXVsdCksXG4udWkuY2xlYXJhYmxlLmRyb3Bkb3duOm5vdCguc2VhcmNoKSA+IC51aS5sYWJlbDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuLnVpLmRyb3Bkb3duIHNlbGVjdC5ub3NlbGVjdGlvbiB+IC5yZW1vdmUuaWNvbixcbi51aS5kcm9wZG93biBpbnB1dFt2YWx1ZT1cIlwiXSB+IC5yZW1vdmUuaWNvbixcbi51aS5kcm9wZG93biBpbnB1dDpub3QoW3ZhbHVlXSk6bm90KC5zZWFyY2gpIH4gLnJlbW92ZS5pY29uLFxuLnVpLmRyb3Bkb3duLmxvYWRpbmcgPiAucmVtb3ZlLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKSA+IC5yZW1vdmUuaWNvbiB+IC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuLnVpLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKTpub3QoLm11bHRpcGxlKSA+IC5yZW1vdmUuaWNvbiB7XG4gIG1hcmdpbi10b3A6IC0xLjM1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBNdWx0aXBsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTXVsdGlwbGUgU2VsZWN0aW9uICovXG4udWkudWkubXVsdGlwbGUuZHJvcGRvd24ge1xuICBwYWRkaW5nOiAwLjIyNjE5MDQ4ZW0gMy4yZW0gMC4yMjYxOTA0OGVtIDAuMzU3MTQyODZlbTtcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93biAubWVudSB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi8qIFNlbGVjdGlvbiBMYWJlbCAqL1xuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC4zNTcxNDI4NmVtIDAuNzg1NzE0MjllbTtcbiAgbWFyZ2luOiAwLjE0Mjg1NzE0cmVtIDAuMjg1NzE0MjlyZW0gMC4xNDI4NTcxNHJlbSAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbjogXCJcIjtcbiAgcGFkZGluZzogXCJcIjtcbn1cbi8qIFRleHQgKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwIDAuNDUyMzgwOTVlbSAwLjY0Mjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAudGV4dC5kZWZhdWx0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiBpbnB1dC5zZWFyY2gge1xuICBtYXJnaW4tbGVmdDogMC4xNDI4NTcxNGVtICFpbXBvcnRhbnQ7XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiAudGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWw6bm90KC5pbWFnZSkgPiBpbWc6bm90KC5jZW50ZXJlZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNzg1NzE0MjlyZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWw6bm90KC5pbWFnZSkgPiBpbWcudWk6bm90KC5hdmF0YXIpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zOTI4NTcxNHJlbTtcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5pbWFnZS5sYWJlbCBpbWcge1xuICBtYXJnaW46IC0wLjM1NzE0Mjg2ZW0gMC43ODU3MTQyOWVtIC0wLjM1NzE0Mjg2ZW0gLTAuNzg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjcxNDI4NTcxZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd246bm90KC5zZWxlY3Rpb24pOm5vdCgubGFiZWxlZCkgPiAuZHJvcGRvd24uaWNvbiB7XG4gIHJpZ2h0OiAtMS41ZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd246bm90KC5zZWxlY3Rpb24pOm5vdCgubGFiZWxlZCkgPiAucmVtb3ZlLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVlbTtcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93bjpub3QoLnNlbGVjdGlvbik6bm90KC5sYWJlbGVkKTpub3QoLnNlYXJjaCkgPiAucmVtb3ZlLmljb24gfiAudGV4dC5kZWZhdWx0LFxuLnVpLm11bHRpcGxlLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKTpub3QoLmxhYmVsZWQpID4gLnRleHQuZGVmYXVsdDpmaXJzdC1jaGlsZCB7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNdWx0aXBsZSBTZWFyY2hcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE11bHRpcGxlIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24sXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuLyogUHJvbXB0IFRleHQgKi9cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiAudGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IGluaGVyaXQ7XG4gIG1hcmdpbjogMC40NTIzODA5NWVtIDAgMC40NTIzODA5NWVtIDAuNjQyODU3MTRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbn1cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiAudGV4dC5kZWZhdWx0IHtcbiAgei1pbmRleDogLTE7XG59XG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogU2VhcmNoICovXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwIDAuNDUyMzgwOTVlbSAwLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAyLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbn1cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24uYnV0dG9uIHtcbiAgbWluLXdpZHRoOiAxNGVtO1xufVxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IHNwYW4uc2l6ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93bjpub3QoLnNlbGVjdGlvbikgPiAucmVtb3ZlLmljb24gKyBpbnB1dC5zZWFyY2gsXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKSA+IGlucHV0LnNlYXJjaDpmaXJzdC1jaGlsZCB7XG4gIG1pbi13aWR0aDogNS4wNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIElubGluZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlubGluZS5kcm9wZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi51aS5pbmxpbmUuZHJvcGRvd24gLmRyb3Bkb3duLmljb24ge1xuICBtYXJnaW46IDAgMC4yMTQyODU3MWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuaW5saW5lLmRyb3Bkb3duID4gLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS5pbmxpbmUuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1lbnUgSXRlbSBBY3RpdmUgKi9cbi51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB6LWluZGV4OiAxMjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNZW51IEl0ZW0gSG92ZXIgKi9cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIHotaW5kZXg6IDEzO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRGVmYXVsdCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd246bm90KC5idXR0b24pID4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4udWkuZHJvcGRvd246bm90KC5idXR0b24pID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuLnVpLmRlZmF1bHQuZHJvcGRvd246bm90KC5idXR0b24pID4gaW5wdXQ6Zm9jdXMgfiAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb24ge1xuICBoZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xufVxuLnVpLmxvYWRpbmcuc2VsZWN0aW9uLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgcGFkZGluZzogMS41ZW0gMS4yODU3MTQyOWVtICFpbXBvcnRhbnQ7XG59XG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwIDAgLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qIENvdXBsaW5nICovXG4udWkubG9hZGluZy5kcm9wZG93bi5idXR0b24gPiBpLmljb246OmJlZm9yZSxcbi51aS5sb2FkaW5nLmRyb3Bkb3duLmJ1dHRvbiA+IGkuaWNvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiAudGV4dCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4vKiBVc2VkIFRvIENoZWNrIFBvc2l0aW9uICovXG4udWkuZHJvcGRvd24gLmxvYWRpbmcubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xufVxuLnVpLmRyb3Bkb3duID4gLmxvYWRpbmcubWVudSB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biA+IC5tZW51IC5sb2FkaW5nLm1lbnUge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEtleWJvYXJkIFNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VsZWN0ZWQgSXRlbSAqL1xuLnVpLmRyb3Bkb3duLnNlbGVjdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNlYXJjaCBGaWx0ZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRmlsdGVyZWQgSXRlbSAqL1xuLnVpLmRyb3Bkb3duID4gLmZpbHRlcmVkLnRleHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuZHJvcGRvd24gLmZpbHRlcmVkLml0ZW0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duLmVycm9yLFxuLnVpLmRyb3Bkb3duLmVycm9yID4gLnRleHQsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAuZGVmYXVsdC50ZXh0IHtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLmVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbn1cbi51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZXJyb3IuZHJvcGRvd24gPiAubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG59XG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSxcbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51IC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUgPiAuaXRlbSB7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLyogSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmU3ZTc7XG59XG4vKiBJdGVtIEFjdGl2ZSAqL1xuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkY2ZjZjtcbn1cbi51aS5kcm9wZG93bi5pbmZvLFxuLnVpLmRyb3Bkb3duLmluZm8gPiAudGV4dCxcbi51aS5kcm9wZG93bi5pbmZvID4gLmRlZmF1bHQudGV4dCB7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5pbmZvIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5pbmZvOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5pbmZvLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLmRyb3Bkb3duLmluZm8gPiAubWVudSxcbi51aS5kcm9wZG93bi5pbmZvID4gLm1lbnUgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGU7XG59XG4udWkuZHJvcGRvd24uaW5mbyA+IC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbi8qIEl0ZW0gSG92ZXIgKi9cbi51aS5kcm9wZG93bi5pbmZvID4gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWYyZmI7XG59XG4vKiBJdGVtIEFjdGl2ZSAqL1xuLnVpLmRyb3Bkb3duLmluZm8gPiAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VmMWZkO1xufVxuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MsXG4udWkuZHJvcGRvd24uc3VjY2VzcyA+IC50ZXh0LFxuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAuZGVmYXVsdC50ZXh0IHtcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZmNmZmY1O1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLnN1Y2Nlc3M6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkubXVsdGlwbGUuc2VsZWN0aW9uLnN1Y2Nlc3MuZHJvcGRvd24gPiAubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkuZHJvcGRvd24uc3VjY2VzcyA+IC5tZW51LFxuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5Mztcbn1cbi51aS5kcm9wZG93bi5zdWNjZXNzID4gLm1lbnUgPiAuaXRlbSB7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLyogSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZmJlOTtcbn1cbi8qIEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24uc3VjY2VzcyA+IC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWZkY2U7XG59XG4udWkuZHJvcGRvd24ud2FybmluZyxcbi51aS5kcm9wZG93bi53YXJuaW5nID4gLnRleHQsXG4udWkuZHJvcGRvd24ud2FybmluZyA+IC5kZWZhdWx0LnRleHQge1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24ud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZhZjM7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5Yjtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24ud2FybmluZzpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5Yjtcbn1cbi51aS5tdWx0aXBsZS5zZWxlY3Rpb24ud2FybmluZy5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5Yjtcbn1cbi51aS5kcm9wZG93bi53YXJuaW5nID4gLm1lbnUsXG4udWkuZHJvcGRvd24ud2FybmluZyA+IC5tZW51IC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjYzliYTliO1xufVxuLnVpLmRyb3Bkb3duLndhcm5pbmcgPiAubWVudSA+IC5pdGVtIHtcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4vKiBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24ud2FybmluZyA+IC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmU5O1xufVxuLyogSXRlbSBBY3RpdmUgKi9cbi51aS5kcm9wZG93bi53YXJuaW5nID4gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRjZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDbGVhclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbixcbi51aS5kcm9wZG93biA+IC5jbGVhci5kcm9wZG93bi5pY29uIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbjpob3Zlcixcbi51aS5kcm9wZG93biA+IC5jbGVhci5kcm9wZG93bi5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuZHJvcGRvd24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUmVhZC1Pbmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJlYWQtb25seS5kcm9wZG93biB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWkuZGlzYWJsZWQuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4udWkucmVhZC1vbmx5LmRyb3Bkb3duID4gLnJlbW92ZS5pY29uLFxuLnVpLmRpc2FibGVkLmRyb3Bkb3duID4gLmxhYmVsID4gLmRlbGV0ZS5pY29uLFxuLnVpLnJlYWQtb25seS5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRmx5b3V0IERpcmVjdGlvbiAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IHtcbiAgbGVmdDogMDtcbn1cbi8qIERlZmF1bHQgU2lkZSAoUmlnaHQpICovXG4udWkuZHJvcGRvd24gLnJpZ2h0Lm1lbnUgPiAubWVudSxcbi51aS5kcm9wZG93biAubWVudSAucmlnaHQubWVudSB7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogTGVmdHdhcmQgT3BlbmluZyBNZW51ICovXG4udWkuZHJvcGRvd24gPiAubGVmdC5tZW51IHtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSAubWVudSxcbi51aS5kcm9wZG93biAubWVudSAubGVmdC5tZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAtMC41ZW0gMCAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMGVtIDAgMCAwO1xufVxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb24sXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwZW0gMCAwIDA7XG59XG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbiArIC50ZXh0LFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24gKyAudGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBVcHdhcmRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVwd2FyZCBNYWluIE1lbnUgKi9cbi51aS51cHdhcmQuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi8qIFVwd2FyZCBTdWIgTWVudSAqL1xuLnVpLmRyb3Bkb3duIC51cHdhcmQubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIEFjdGl2ZSBVcHdhcmQgKi9cbi51aS5zaW1wbGUudXB3YXJkLmFjdGl2ZS5kcm9wZG93bixcbi51aS5zaW1wbGUudXB3YXJkLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIEJ1dHRvbiAqL1xuLnVpLnVwd2FyZC5kcm9wZG93bi5idXR0b246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykuYWN0aXZlIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS51cHdhcmQuZHJvcGRvd24uYnV0dG9uOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpID4gLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLyogU2VsZWN0aW9uICovXG4udWkudWkudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKSA+IC5tZW51IHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3gtc2hhZG93OiAwIC0ycHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4vKiBBY3RpdmUgVXB3YXJkICovXG4udWkuYWN0aXZlLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKiBWaXNpYmxlIFVwd2FyZCAqL1xuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZTpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIFZpc2libGUgSG92ZXIgVXB3YXJkICovXG4udWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51aS51cHdhcmQuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93bjpob3Zlcjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKSAubWVudSB7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VsZWN0aW9uIE1lbnUgKi9cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS51aS51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW0sXG4udWkudWkudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmRyb3Bkb3duID4gLmFuaW1hdGluZy5tZW51IC5zY3JvbGxpbmcubWVudSxcbi51aS5kcm9wZG93biA+IC52aXNpYmxlLm1lbnUgLnNjcm9sbGluZy5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBTY3JvbGxiYXIgaW4gSUUgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDE3cHgpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEwLjI4NTcxNDI5cmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5yZXNpemFibGUubWVudSB7XG4gICAgaGVpZ2h0OiAxMC4yODU3MTQyOXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxNS40Mjg1NzE0M3JlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgIGhlaWdodDogMTUuNDI4NTcxNDNyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjAuNTcxNDI4NTdyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5yZXNpemFibGUuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICBoZWlnaHQ6IDIwLjU3MTQyODU3cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyMC41NzE0Mjg1N3JlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgIGhlaWdodDogMjAuNTcxNDI4NTdyZW07XG4gIH1cbn1cbi51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExhYmVsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlZ3VsYXIgTGFiZWwgb24gTGVmdCAqL1xuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgLmRyb3Bkb3duIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogUmVndWxhciBMYWJlbCBvbiBSaWdodCAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiAuZHJvcGRvd246bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gLmRyb3Bkb3duICsgLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb2x1bW5hclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbHVtbi5kcm9wZG93biA+IC5tZW51IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnVpLmRyb3Bkb3duW2NsYXNzKj1cInR3byBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS5kcm9wZG93bltjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgd2lkdGg6IDMzJTtcbn1cbi51aS5kcm9wZG93bltjbGFzcyo9XCJmb3VyIGNvbHVtblwiXSA+IC5tZW51ID4gLml0ZW0ge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLmRyb3Bkb3duW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdID4gLm1lbnUgPiAuaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2ltcGxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNwbGF5cyB3aXRob3V0IGphdmFzY3JpcHQgKi9cbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6OmJlZm9yZSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qIElFIGhhY2sgdG8gbWFrZSBkcm9wZG93biBpY29ucyBhcHBlYXIgaW5saW5lICovXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAtOTk5OXB4O1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnVpLnNpbXBsZS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cbi51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duIC51cHdhcmQubWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtO1xufVxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLnVpLnNpbXBsZS5kcm9wZG93bi5pdGVtIC51cHdhcmQubWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDIuOGVtO1xufVxuLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24sXG4udWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5tZW51LFxuLnVpLnNpbXBsZS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnNpbXBsZS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duID4gLm1lbnUsXG4udWkuc2ltcGxlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciA+IC5tZW51LFxuLnVpLnNpbXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5tZW51LFxuLnVpLnNpbXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLmxlZnQubWVudSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIgPiAubGVmdC5tZW51LFxuLnJpZ2h0Lm1lbnUgLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLm1lbnU6bm90KC5yaWdodCksXG4ucmlnaHQubWVudSAudWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudTpub3QoLnJpZ2h0KSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xufVxuLnVpLnNpbXBsZS5kaXNhYmxlZC5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiBWaXNpYmxlICovXG4udWkuc2ltcGxlLnZpc2libGUuZHJvcGRvd24gPiAubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogU2Nyb2xsaW5nICovXG4udWkuc2ltcGxlLnNjcm9sbGluZy5hY3RpdmUuZHJvcGRvd24gPiAubWVudSxcbi51aS5zaW1wbGUuc2Nyb2xsaW5nLmRyb3Bkb3duOmhvdmVyID4gLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQuZHJvcGRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnVpLmZsdWlkLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbG9hdGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsb2F0aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpOm5vdCgudXB3YXJkKS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4udWkudXB3YXJkLmZsb2F0aW5nLmRyb3Bkb3duOm5vdCguc2ltcGxlKSA+IC5tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUG9pbnRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjc4NTcxNDI5cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6bm90KC5oaWRkZW4pOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAwLjVlbTtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB6LWluZGV4OiAyO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5wb2ludGluZy5kcm9wZG93bjpub3QoLnVwd2FyZCkgLm1lbnU6aGFzKDpmaXJzdC1jaGlsZDpob3Zlcik6OmFmdGVyLFxuICAudWkudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyg6bGFzdC1jaGlsZDpob3Zlcik6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICB9XG4gIC51aS5wb2ludGluZy5kcm9wZG93bjpub3QoLnVwd2FyZCkgLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gIC51aS51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgfVxufVxuLnVpLnNlbGVjdGlvbi5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgIzk2YzhkYTtcbn1cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51Om5vdCguaGlkZGVuKTo6YWZ0ZXIge1xuICB0b3A6IC0wLjI1ZW07XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMCAtMC4yNWVtO1xufVxuLyogVG9wIExlZnQgUG9pbnRpbmcgKi9cbi51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwIDA7XG59XG4udWkudG9wLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAxZW0gMCAwO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi8qIFRvcCBSaWdodCBQb2ludGluZyAqL1xuLnVpLnRvcC5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwIDA7XG59XG4udWkudG9wLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTo6YWZ0ZXIsXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4vKiBMZWZ0IFBvaW50aW5nICovXG4udWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG59XG4udWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIHRvcDogMWVtO1xuICBsZWZ0OiAtMC4yNWVtO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4udWkubGVmdDpub3QoLnRvcCk6bm90KC5ib3R0b20pLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudSB7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDFlbSAwIDA7XG59XG4udWkubGVmdDpub3QoLnRvcCk6bm90KC5ib3R0b20pLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTo6YWZ0ZXIge1xuICB0b3A6IDFlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0wLjI1ZW07XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cbi8qIFJpZ2h0IFBvaW50aW5nICovXG4udWkucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAxZW0gMCAwO1xufVxuLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4yNWVtO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG4vKiBCb3R0b20gUG9pbnRpbmcgKi9cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAtMC4yNWVtO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbn1cbi8qIFJldmVyc2UgU3ViLU1lbnUgRGlyZWN0aW9uICovXG4udWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUgLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBCb3R0b20gTGVmdCAqL1xuLnVpLmJvdHRvbS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cbi51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIGxlZnQ6IDFlbTtcbiAgcmlnaHQ6IGF1dG87XG59XG4vKiBCb3R0b20gUmlnaHQgKi9cbi51aS5ib3R0b20ucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxZW07XG59XG4vKiBVcHdhcmQgcG9pbnRpbmcgKi9cbi51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUsXG4udWkudG9wLnBvaW50aW5nLnVwd2FyZC5kcm9wZG93biAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMC43ODU3MTQyOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyLFxuLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IC0wLjI1ZW0gMCAwO1xufVxuLnVpLnNlbGVjdGlvbi5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwIDAgIzk2YzhkYTtcbn1cbi8qIFJpZ2h0IFBvaW50aW5nIFVwd2FyZCAqL1xuLnVpLnJpZ2h0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMWVtIDAgMDtcbn1cbi51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudTo6YWZ0ZXIge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBMZWZ0IFBvaW50aW5nIFVwd2FyZCAqL1xuLnVpLmxlZnQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuLnVpLmxlZnQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuZmxvYXRpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06bGFzdC1jaGlsZCxcbi51aS5wb2ludGluZy5kcm9wZG93biAubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS51aS5taW5pLmRyb3Bkb3duLFxuLnVpLnVpLm1pbmkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS51aS50aW55LmRyb3Bkb3duLFxuLnVpLnVpLnRpbnkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS51aS5zbWFsbC5kcm9wZG93bixcbi51aS51aS5zbWFsbC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnVpLmxhcmdlLmRyb3Bkb3duLFxuLnVpLnVpLmxhcmdlLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkudWkuYmlnLmRyb3Bkb3duLFxuLnVpLnVpLmJpZy5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLnVpLmh1Z2UuZHJvcGRvd24sXG4udWkudWkuaHVnZS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLnVpLm1hc3NpdmUuZHJvcGRvd24sXG4udWkudWkubWFzc2l2ZS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdlbmVyYWwgcnVsZXMgYW5kIGJhc2ljIGRyb3Bkb3ducyAqL1xuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51LFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtOmhvdmVyLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMmQyZTJmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmludmVydGVkLmRyb3Bkb3duLnNlbGVjdGVkLFxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51IC5zZWxlY3RlZC5pdGVtLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogIzNkM2UzZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gPiAudGV4dCA+IC5kZXNjcmlwdGlvbixcbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLmRpdmlkZXIsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5zY3JvbGxpbmcubWVudSxcbi51aS5pbnZlcnRlZC5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLyogU2VsZWN0aW9uICovXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIGlucHV0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLnZpc2libGUuZHJvcGRvd24gPiAudGV4dDpub3QoLmRlZmF1bHQpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyIC5pbnZlcnRlZC5tZW51LFxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5zaW1wbGUuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIC5tZW51LFxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW0sXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzI0MjUyNjtcbn1cbi51aS5pbnZlcnRlZC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmludmVydGVkLmRlZmF1bHQuZHJvcGRvd246bm90KC5idXR0b24pID4gLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVpLmludmVydGVkLmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5pbnZlcnRlZC5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgaS5pY29uLFxuLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmZsYWcge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSksXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4vKiBGaXhpbmcgdGhlIGJvcmRlciAqL1xuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG4vKiBMYWJlbHMgKi9cbi51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIGluc2V0O1xufVxuLnVpLmludmVydGVkLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4udWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgPiAuY2xvc2UuaWNvbixcbi51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbiB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5jbG9zZS5pY29uOmhvdmVyLFxuLnVpLmludmVydGVkLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsID4gLmRlbGV0ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuLyogU2VsZWN0aW9uIGZvciBmb3JtIGVsZW1lbnRzICovXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gdGV4dGFyZWE6OnNlbGVjdGlvbixcbi51aS5pbnZlcnRlZC5kcm9wZG93biBpbnB1dDo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qIFNjcm9sbGJhcnMgKi9cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG59XG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUge1xuICAvKiBJRTExICovXG4gIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAjNjU2NTY1O1xuICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiAjNjU2NTY1O1xuICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICMzMjMyMzI7XG4gIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogIzMyMzIzMjtcbn1cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbiAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgfVxufVxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLmludmVydGVkLm1lbnU6OmFmdGVyLFxuLnVpLmludmVydGVkLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLmludmVydGVkLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmludmVydGVkLnBvaW50aW5nLmRyb3Bkb3duOm5vdCgudXB3YXJkKSAubWVudTpoYXMoOmZpcnN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIsXG4gIC51aS5pbnZlcnRlZC51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKDpsYXN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyZDJlMmY7XG4gIH1cbiAgLnVpLmludmVydGVkLnBvaW50aW5nLmRyb3Bkb3duOm5vdCgudXB3YXJkKSAubWVudTpoYXMoLnNlbGVjdGVkLml0ZW06Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgLnVpLmludmVydGVkLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biAubWVudTpoYXMoLnNlbGVjdGVkLml0ZW06bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2QzZTNmO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRHJvcGRvd24gQ2FyZXRzICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IERyb3Bkb3duO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUms5VVZFOEFBQVNFQUFzQUFBQUFCd1FBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQzVBQUFBVThBQUFIclNyMjJBVVpHVkUwQUFBUlFBQUFBSEFBQUFCeU5yWi9UUjBSRlJnQUFCRFFBQUFBY0FBQUFJQUFuQUJoUFV5OHlBQUFCWUFBQUFFSUFBQUJnVGFkWENHTnRZWEFBQUFLRUFBQUFWQUFBQVdRRmNPS1FhR1ZoWkFBQUFRZ0FBQUF5QUFBQU5nK2o4MDVvYUdWaEFBQUJQQUFBQUJzQUFBQWtBd2NCRFdodGRIZ0FBQVJzQUFBQUZnQUFBQjRFQVFBU2JXRjRjQUFBQVZnQUFBQUdBQUFBQmdBSVVBQnVZVzFsQUFBQnBBQUFBTjhBQUFHMnJTYkFNM0J2YzNRQUFBTFlBQUFBREFBQUFDQUFBd0FBZUp4allHUmdZQURpS2p0RzNuaCttNjhNM0V3TUlIQ0J3VDBDUk45UHlIWUNVcDZNcW94NVFKcURBU3dOQU1OT0JyZ0FBSGljWTJCa1lHQjg4UDhCa0ZSbFlBQ1RqQXlvZ0IwQVdXc0RGZ0FBQUZBQUFBZ0FBSGljWTJCbStNZzRnWUdWZ1lIUmh6R05nWUhCSFVwL1paQmthR0ZBQll3Q1NKeUFOTmNVQmdjR2hnKzNHQi84ZndDVWZNQ2dBRklEVjZBQWhJd0FVYkVNU1FBQWVKeDF6VEVLd2tBVUJOQkpqSW9LSWdnVzJtd3ZCRVZ2SUFnaU5oWTJWakV1UVVoMllZMkZlQUNQWU9sdHZJSDNjWko4eXdRUzNwL2QrUUV3d0FjZS9vOHY5dERHVU96VFUzR0RYb2tEK2lodW9vZUh1TVg4SmU1aWpDOWJYdENSUDFUMjBLY3ErL1JFM0tBWDRvRGVpcHNZSVJhM21EL0ZYU3p4THRaZWVHeVI4YlV3SEdPYldVdnNvWkhnaGhRUkhFZWQzTkxJMWQrdnl3L2M0M0RsZVpFcnpCRml4bGk3NjhVYU5ROW45ZDExT2Vkc0pkeGl5azBSWjQwenN4UHUvRzdLN2s2NklVdlc1Q3JSUnJzbzEyZDF1cXROYkhmY0YrSUhyblUrbXdCNG5HTmdZR0JtZ0dBWkJrWUdFSWdEOGhqQmZCWUdKeUROeGNEQndBU0VqQXdLSDI3OS8vdi9QMWlWd29mcllEYmovOGRnUGtRdkd3TVBrR1JoWUFXeTJNSENiRURNeElBWE1PT1hIdklBQUlOaER0MTRuR05nWnNBTEFBQjlBQVI0bkUyUHYwckVRQkNIWjNKN2Q0dkdxRWNPRmFLQy96b2xaNk9Xd21FbE5qNkNsWVdteWl2Y2JseXpFK1JhSzhFSHNQTXhCQnRyd1Vkd0ExZm9icEk3WldCWWZ1eDhmRDhFeGdBUitmVlZjcE1rdDRBZUlBekxMU2kzc2R6eHl0MVd1Y3FVMzFJKzI1aUR0Y3ZlajFLemg5OVY3K2ExOU5vUlBDMUdBRXNSdkN4SHdDUDg3TUc4STdXZ0RSd1dvQWNyRU1HbW5UM1lUK04wa0I3RzZWazhQSExyMkswVHQwNEhCM0ZqTWhVQ1FJRVNNN3hEaGZlWUEzZGN6NUlaZE9BY0h1QUQxNE1nZUF1K3pUTlRSVjVvVFVSNW9iZ1pkd3BWWkZxUXpFZktUaWFFNEpOd0VyYWxIR1V1RXJuUU5qRTJvWXhVd1MwbGRCVFN4STNMN2NPeUtvNjBpYjBsZXpTbDFSdytHWGRxMXBRaUgwM1NkektrYTR5bW9zTFFUTWNlZFN1SWxFSlVNcU5jVWkwamRJUDVZc2IrK2xlcUx0U0kvTldTVFMweHEwV3lZYWpRWFBTVlAvY0xpdE80TmdCNG5HTmdaR0JnNEFGaUFRWUpCaVlnelFMRUlKb1JnZ0VGYlFCQUFBQUFBUUFBQUFEZVRPMDRBQUFBQU5BQVIxZ0FBQUFBMzJCclFuaWNZMkJBQUVZUVZvVmdodTBNUWd3TUFBYy9BUmNBQUE9PVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBEcm9wZG93bjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMS4yM2VtO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIiAvKiBydGw6IFwiXFxmMGQ5XCIgKi87XG59XG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCIgLypydGw6IFwiXFxmMGRhXCIgKi87XG59XG4vKiBWZXJ0aWNhbCBNZW51IERyb3Bkb3duICovXG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiIC8qIHJ0bDogXCJcXGYwZDlcIiAqLztcbn1cbi8qIEljb25zIGZvciBSZWZlcmVuY2Vcbi5kcm9wZG93bi5kb3duLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmRyb3Bkb3duLnVwLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuLmRyb3Bkb3duLmxlZnQuaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZHJvcGRvd24uaWNvbi5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEVtYmVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZGVvXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaW1wbGUgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBQbGFjZWhvbGRlciBPdmVybGF5ZWQgQmFja2dyb3VuZCAqL1xuLyogSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhvdmVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXNwZWN0IFJhdGlvcyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZW1iZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgRW1iZWRkZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZW1iZWQgaWZyYW1lLFxuLnVpLmVtYmVkIGVtYmVkLFxuLnVpLmVtYmVkIG9iamVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbWJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZW1iZWQgPiAuZW1iZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5lbWJlZCA+IC5wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmVtYmVkID4gaS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cbi51aS5lbWJlZCA+IGkuaWNvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50IDQ1JSwgcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cbi51aS5lbWJlZCA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjIpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgY29sb3IgMC41cyBlYXNlO1xuICB6LWluZGV4OiAxMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZW1iZWQgaS5pY29uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCh0cmFuc3BhcmVudCA0NSUsIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuZW1iZWQgaS5pY29uOmhvdmVyOjpiZWZvcmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYWN0aXZlLmVtYmVkID4gaS5pY29uLFxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuYWN0aXZlLmVtYmVkID4gLmVtYmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc3F1YXJlLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG59XG4udWlbY2xhc3MqPVwiNDozXCJdLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbi51aVtjbGFzcyo9XCIxNjo5XCJdLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbi51aVtjbGFzcyo9XCIyMTo5XCJdLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IDQyLjg1NzE0Mjg2JTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFZpZGVvIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEZseW91dFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbHlvdXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFuaW1hdGlvbiAqL1xuLyogRGltbWVyICovXG4vKiBDb2xvciBiZWxvdyBwYWdlICovXG4vKiBTaGFkb3cgKi9cbi8qIExheWVyaW5nICovXG4vKiBBY3Rpb25zICovXG4vKiBTY3JvbGxpbmcgQ29udGVudCAqL1xuLyogQ2xvc2UgSWNvbiAqL1xuLyogSGVhZGVyICovXG4vKiBDb250ZW50ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2lkdGggKi9cbi8qIEhlaWdodCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmx5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRmx5b3V0IE1lbnUgKi9cbi51aS5mbHlvdXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgei1pbmRleDogMTAyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdXRsaW5lOiBub25lO1xufVxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5mbHlvdXQgPiAqIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDbG9zZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dCA+IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEuMjVyZW07XG4gIHJpZ2h0OiAxLjVyZW07XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDAuODtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB3aWR0aDogMi4yNXJlbTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAwIDAuMjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmZseW91dCA+IC5jbG9zZTpmb2N1cyxcbi51aS5mbHlvdXQgPiAuY2xvc2U6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBvdXRsaW5lOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx5b3V0ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx5b3V0ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4udWkuZmx5b3V0ID4gLmNvbnRlbnQuc2Nyb2xsaW5nIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4udWkuZmx5b3V0LmxlZnQgPiAuY29udGVudCxcbi51aS5mbHlvdXQucmlnaHQgPiAuY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0LjdyZW0pO1xufVxuLnVpLmZseW91dC5sZWZ0ID4gLmhlYWRlciArIC5jb250ZW50LFxuLnVpLmZseW91dC5yaWdodCA+IC5oZWFkZXIgKyAuY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5LjFyZW0pO1xufVxuLnVpLmZseW91dC5sZWZ0ID4gLnNjcm9sbGluZy5jb250ZW50LFxuLnVpLmZseW91dC5yaWdodCA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0LjdyZW0pO1xufVxuLnVpLmZseW91dC5sZWZ0ID4gLmhlYWRlciArIC5zY3JvbGxpbmcuY29udGVudCxcbi51aS5mbHlvdXQucmlnaHQgPiAuaGVhZGVyICsgLnNjcm9sbGluZy5jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDkuMXJlbSk7XG59XG4udWkuZmx5b3V0LnRvcCA+IC5zY3JvbGxpbmcuY29udGVudCxcbi51aS5mbHlvdXQuYm90dG9tID4gLnNjcm9sbGluZy5jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYyg4MHZoIC0gOS4xcmVtKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWN0aW9uc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dCA+IC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmZseW91dCAuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xufVxuLnVpLnVpLmZseW91dCA+IC5iYXNpYy5hY3Rpb25zIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5mbHlvdXQgPiAubGVmdC5hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5mbHlvdXQgPiAubGVmdC5hY3Rpb25zID4gLmJ1dHRvbjpub3QoLmZsdWlkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5mbHlvdXQgPiAuY2VudGVyZWQsXG4udWkuZmx5b3V0ID4gLmNlbnRlci5hbGlnbmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmZseW91dCA+IC5jZW50ZXJlZC5hY3Rpb25zID4gLmJ1dHRvbjpub3QoLmZsdWlkKSxcbi51aS5mbHlvdXQgPiAuY2VudGVyLmFsaWduZWQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWkudWkuZmx5b3V0ID4gLmJhc2ljLmhlYWRlcixcbi51aS51aS5mbHlvdXQgPiAuYmFzaWMuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmZseW91dCA+IC5iYXNpYy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIERpcmVjdGlvblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGVmdC5mbHlvdXQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuZmx5b3V0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG4udWkudG9wLmZseW91dCxcbi51aS5ib3R0b20uZmx5b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi51aS50b3AuZmx5b3V0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5mbHlvdXQge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFB1c2hhYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5wdXNoYWJsZS5wdXNoYWJsZS5wdXNoYWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xufVxuLnB1c2hhYmxlLnB1c2hhYmxlLnB1c2hhYmxlLmxvY2tlZCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbi8qIFdob2xlIFBhZ2UgKi9cbmJvZHkucHVzaGFibGUge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuYm9keS5wdXNoYWJsZS5kaW1tZWQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLyogUGFnZSBDb250ZXh0ICovXG4ucHVzaGFibGU6bm90KGJvZHkpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC51aS5mbHlvdXQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLmZpeGVkLFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5wdXNoZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB6LWluZGV4OiAxMDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHotaW5kZXg6IDI7XG4gIC8qIFB1c2hlciBzaG91bGQgaW5oZXJpdCBiYWNrZ3JvdW5kIGZyb20gY29udGV4dCAqL1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLnB1c2hhYmxlID4gLnB1c2hlcjpub3QoLm92ZXJmbG93aW5nKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLnB1c2hlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgei1pbmRleDogMTAwMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dC5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lZFxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDo6YWZ0ZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLnB1c2hhYmxlID4gLnB1c2hlci5kaW1tZWQuYmx1cnJpbmc6bm90KC5jbG9zaW5nKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCkgZ3JheXNjYWxlKDAuNyk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xufVxuLnB1c2hhYmxlID4gLnB1c2hlci5jbG9zaW5nLmRpbW1lZDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYW5pbWF0aW5nLmZseW91dCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS52aXNpYmxlLmZseW91dCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiBTaGFkb3cgRGlyZWN0aW9uICovXG4udWkubGVmdC52aXNpYmxlLmZseW91dCxcbi51aS5yaWdodC52aXNpYmxlLmZseW91dCB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudG9wLnZpc2libGUuZmx5b3V0LFxuLnVpLmJvdHRvbS52aXNpYmxlLmZseW91dCB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBWaXNpYmxlIE9uIExvYWQgKi9cbi51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0MDBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDAwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUudG9wLmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRvcC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzNnB4LCAwKTtcbn1cbi51aS52aXNpYmxlLmJvdHRvbS5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5ib3R0b20uZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTM2cHgsIDApO1xufVxuLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG4udWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLnB1c2hlcixcbi51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dC5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG4udWkuZmx5b3V0LmludmVydGVkID4gLmNsb3NlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZmx5b3V0LmludmVydGVkID4gLmhlYWRlcixcbi51aS5mbHlvdXQuaW52ZXJ0ZWQgPiAuY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmZseW91dC5pbnZlcnRlZCA+IC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogIzE5MWExYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC44NSk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVmdCAvIFJpZ2h0ICovXG4udWkubGVmdC5mbHlvdXQsXG4udWkucmlnaHQuZmx5b3V0IHtcbiAgd2lkdGg6IDQwMHB4O1xufVxuLnVpLnRoaW4ubGVmdC5mbHlvdXQsXG4udWkudGhpbi5yaWdodC5mbHlvdXQge1xuICB3aWR0aDogMjAwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuZmx5b3V0LFxuLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5mbHlvdXQge1xuICB3aWR0aDogMTIwcHg7XG59XG4udWkud2lkZS5sZWZ0LmZseW91dCxcbi51aS53aWRlLnJpZ2h0LmZseW91dCB7XG4gIHdpZHRoOiA2MDBweDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQsXG4udWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LmZseW91dCB7XG4gIHdpZHRoOiA4MDBweDtcbn1cbi8qIExlZnQgVmlzaWJsZSAqL1xuLnVpLnZpc2libGUudGhpbi5sZWZ0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS53aWRlLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5sZWZ0LmZseW91dCB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDYwMHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LmZseW91dCB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDgwMHB4LCAwLCAwKTtcbn1cbi8qIFJpZ2h0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUudGhpbi5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTIwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS53aWRlLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC02MDBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04MDBweCwgMCwgMCk7XG59XG4vKiBGdWxsc2NyZWVuICovXG4udWkuZnVsbHNjcmVlbi5mbHlvdXQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbHVtbiBXaWR0aFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4udWlbY2xhc3MqPVwib25lIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNi4yNSU7XG59XG4udWlbY2xhc3MqPVwidHdvIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogMTIuNSU7XG59XG4udWlbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiAxOC43NSU7XG59XG4udWlbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aVtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogMzEuMjUlO1xufVxuLnVpW2NsYXNzKj1cInNpeCB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuLnVpW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNDMuNzUlO1xufVxuLnVpW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNTAlO1xufVxuLnVpW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiA1Ni4yNSU7XG59XG4udWlbY2xhc3MqPVwidGVuIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNjIuNSU7XG59XG4udWlbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNjguNzUlO1xufVxuLnVpW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDc1JTtcbn1cbi51aVtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDgxLjI1JTtcbn1cbi51aVtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuLnVpW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiA5My43NSU7XG59XG4udWlbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBPdmVybGF5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZXQtdXAgKi9cbi51aS5vdmVybGF5LmZseW91dCB7XG4gIHotaW5kZXg6IDEwMjtcbn1cbi8qIEluaXRpYWwgKi9cbi51aS5sZWZ0Lm92ZXJsYXkuZmx5b3V0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQub3ZlcmxheS5mbHlvdXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5vdmVybGF5LmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5vdmVybGF5LmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiBBbmltYXRpb24gKi9cbi5hbmltYXRpbmcudWkub3ZlcmxheS5mbHlvdXQsXG4udWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuLyogRW5kIC0gZmx5b3V0ICovXG4udWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiBFbmQgLSBQdXNoZXIgKi9cbi51aS52aXNpYmxlLm92ZXJsYXkuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUub3ZlcmxheS5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTW9kYWxcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTW9kYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBDbG9zZSBJY29uICovXG4vKiBIZWFkZXIgKi9cbi8qIENvbnRlbnQgKi9cbi8qIEltYWdlIC8gRGVzY3JpcHRpb24gKi9cbi8qIE1vZGFsIEFjdGlvbnMgKi9cbi8qIElubmVyIENsb3NlIFBvc2l0aW9uIChUYWJsZXQvTW9iaWxlKSAqL1xuLyogTW9iaWxlIFBvc2l0aW9ucyAqL1xuLyogUmVzcG9uc2l2ZSBXaWR0aHMgKi9cbi8qIENvdXBsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhc2ljICovXG4vKiBBbGlnbmVkICovXG4vKiBTY3JvbGxpbmcgTWFyZ2luICovXG4vKiBTY3JvbGxpbmcgQ29udGVudCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpemUgV2lkdGhzICovXG4vKiBEZXJpdmVkIFJlc3BvbnNpdmUgU2l6ZXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUmVzaXphYmxlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTW9kYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMiksIDFweCAzcHggMTVweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHdpbGwtY2hhbmdlOiB0b3AsIGxlZnQsIG1hcmdpbiwgdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvdXRsaW5lOiBub25lO1xufVxuLnVpLm1vZGFsID4gOmZpcnN0LWNoaWxkOm5vdCguY2xvc2UpOm5vdCguZGltbWVyKSxcbi51aS5tb2RhbCA+IGkuaWNvbjpmaXJzdC1jaGlsZCArICosXG4udWkubW9kYWwgPiAuZGltbWVyOmZpcnN0LWNoaWxkICsgKjpub3QoLmNsb3NlKSxcbi51aS5tb2RhbCA+IC5kaW1tZXI6Zmlyc3QtY2hpbGQgKyBpLmljb24gKyAqIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkubW9kYWwgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLm1vZGFsID4gLnVpLmRpbW1lciB7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDbG9zZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuNXJlbTtcbiAgcmlnaHQ6IC0yLjVyZW07XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDAuODtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB3aWR0aDogMi4yNXJlbTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwIDAgMDtcbn1cbi51aS5tb2RhbCA+IC5jbG9zZTpmb2N1cyxcbi51aS5tb2RhbCA+IC5jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLm1vZGFsID4gLmltYWdlLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLyogSW1hZ2UgKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogXCJcIjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLnVpLm1vZGFsID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLm1vZGFsID4gW2NsYXNzKj1cInN0cmV0Y2hlZFwiXSB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMSAwIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG4udWkubW9kYWwgPiAuY29udGVudCA+IGkuaWNvbiArIC5kZXNjcmlwdGlvbixcbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlICsgLmRlc2NyaXB0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi13aWR0aDogXCJcIjtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMmVtO1xufVxuLyogcnRsOmlnbm9yZSAqL1xuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiA4cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEFjdGlvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbjpub3QoLmZsdWlkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG59XG4udWkudWkubW9kYWwgPiAuYmFzaWMuYWN0aW9ucyxcbi51aS5iYXNpYy5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5tb2RhbCA+IC5sZWZ0LmFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLm1vZGFsID4gLmxlZnQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWkubW9kYWwgPiAuY2VudGVyZWQsXG4udWkubW9kYWwgPiAuY2VudGVyLmFsaWduZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkubW9kYWwgPiAuY2VudGVyZWQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCksXG4udWkubW9kYWwgPiAuY2VudGVyLmFsaWduZWQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUmVzcG9uc2l2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubW9kYWw6bm90KC5mdWxsc2NyZWVuKSB7XG4gICAgd2lkdGg6IDg4JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikge1xuICAgIHdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikgPiAuYWN0aXZlLmRpbW1lciArIC5jbG9zZTpub3QoLmluc2lkZSkge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuICAudWkuZGltbWVyID4gLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikgPiAuY2xvc2U6bm90KC5pbnNpZGUpIHtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyksIDFweCAtMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyksIC0xcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyksIDFweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgfVxuICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikgPiAuY2xvc2U6bm90KC5pbnNpZGUpIHtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIDFweCAtMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIC0xcHggMnB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIDFweCAycHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikge1xuICAgIHdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgICB3aWR0aDogOTUwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4vKiBUYWJsZXQgYW5kIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkubW9kYWwgPiAuY2xvc2UgKyAuaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtO1xuICB9XG4gIC51aS5tb2RhbCA+IC5jbG9zZSB7XG4gICAgdG9wOiAxLjA1MzVyZW07XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIH1cbn1cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNsb3NlICsgLmhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbiAgfVxuICAudWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsID4gLmNvbnRlbnQuY29udGVudC5jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gOC4xcmVtKTtcbiAgfVxuICAudWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsID4gLnNjcm9sbGluZy5jb250ZW50LmNvbnRlbnQuY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDguMXJlbSk7XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkubW9kYWwgPiAuY2xvc2Uge1xuICAgIHRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC8qIHJ0bDppZ25vcmUgKi9cbiAgLnVpLm1vZGFsIC5pbWFnZS5jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAvKiBydGw6aWdub3JlICovXG4gIC51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDFyZW0gMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogTGV0IEJ1dHRvbnMgU3RhY2sgKi9cbiAgLnVpLm1vZGFsID4gLmFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbnMsXG4gIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5tb2RhbCB7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggMTBweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5iYXNpYy5tb2RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkubW9kYWwgPiAuYmFzaWMuaGVhZGVyLFxuLnVpLnVpLm1vZGFsID4gLmJhc2ljLmFjdGlvbnMsXG4udWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyLFxuLnVpLmJhc2ljLm1vZGFsID4gLmNvbnRlbnQsXG4udWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLm1vZGFsID4gLmJhc2ljLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuYmFzaWMubW9kYWwgPiAuY2xvc2Uge1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC5iYXNpYy5tb2RhbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIFJlc29ydCB0byBtYXJnaW4gcG9zaXRpb25pbmcgaWYgbGVnYWN5ICovXG4udWkubGVnYWN5LmxlZ2FjeS5tb2RhbCxcbi51aS5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsIHtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG59XG4udWkubGVnYWN5LmxlZ2FjeS5tb2RhbDpub3QoLmFsaWduZWQpLFxuLnVpLmxlZ2FjeS5sZWdhY3kucGFnZS5kaW1tZXIgPiAudWkubW9kYWw6bm90KC5hbGlnbmVkKSB7XG4gIHRvcDogNTAlO1xufVxuLnVpLmxlZ2FjeS5sZWdhY3kucGFnZS5kaW1tZXIgPiAudWkuc2Nyb2xsaW5nLm1vZGFsOm5vdCguYWxpZ25lZCksXG4udWkucGFnZS5kaW1tZXIgPiAudWkuc2Nyb2xsaW5nLmxlZ2FjeS5sZWdhY3kubW9kYWw6bm90KC5hbGlnbmVkKSxcbi51aS50b3AuYWxpZ25lZC5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsOm5vdCguYWxpZ25lZCksXG4udWkudG9wLmFsaWduZWQuZGltbWVyID4gLnVpLmxlZ2FjeS5sZWdhY3kubW9kYWw6bm90KC5hbGlnbmVkKSB7XG4gIHRvcDogYXV0bztcbn1cbi51aS5sZWdhY3kub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsIHtcbiAgbWFyZ2luLXRvcDogLTJyZW0gIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmxvYWRpbmcubW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAtMTtcbn1cbi51aS5hY3RpdmUubW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi5tb2RhbHMuZGltbWVyIC51aS50b3AuYWxpZ25lZC5tb2RhbCB7XG4gIHRvcDogNXZoO1xufVxuLm1vZGFscy5kaW1tZXIgLnVpLmJvdHRvbS5hbGlnbmVkLm1vZGFsIHtcbiAgYm90dG9tOiA1dmg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5tb2RhbHMuZGltbWVyIC51aS50b3AuYWxpZ25lZC5tb2RhbCB7XG4gICAgdG9wOiAxcmVtO1xuICB9XG4gIC5tb2RhbHMuZGltbWVyIC51aS5ib3R0b20uYWxpZ25lZC5tb2RhbCB7XG4gICAgYm90dG9tOiAxcmVtO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNjcm9sbGluZyBEaW1tZXIgKi9cbi5zY3JvbGxpbmcuZGltbWFibGUuZGltbWVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zY3JvbGxpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi5zY3JvbGxpbmcuZGltbWFibGU6bm90KGJvZHkpID4gLmRpbW1lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zY3JvbGxpbmcuZGltbWFibGUuZGltbWVkID4gLmRpbW1lciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbC5mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xufVxuLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgbWFyZ2luOiAycmVtIGF1dG87XG4gIHRvcDogMWVtO1xufVxuLyogRml4IGZvciBGaXJlZm94LCBFZGdlLCBJRTExICovXG4ubW9kYWxzLmRpbW1lciAudWkuc2Nyb2xsaW5nLm1vZGFsOm5vdChbY2xhc3MqPVwib3ZlcmxheSBmdWxsc2NyZWVuXCJdKTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDBBMFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnJlbTtcbn1cbi8qIFVuZGV0YWNoZWQgU2Nyb2xsaW5nICovXG4uc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUuZGltbWVkIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4uc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUuZGltbWVkID4gLmRpbW1lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUgLnVpLnNjcm9sbGluZy5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG59XG4vKiBTY3JvbGxpbmcgQ29udGVudCAqL1xuLnVpLm1vZGFsID4gLnNjcm9sbGluZy5jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYyg4MHZoIC0gMTByZW0pO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbi51aS5tb2RhbCA+IC5yZXNpemFibGUuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jb250ZW50IHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDkuMXJlbSk7XG59XG4udWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsID4gLnNjcm9sbGluZy5jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDkuMXJlbSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEZ1bGwgU2NyZWVuXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gIHdpZHRoOiA5NSU7XG4gIGxlZnQ6IDIuNSU7XG4gIG1hcmdpbjogMWVtIGF1dG87XG59XG4udWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkubW9kYWwgPiAuY2xvc2UuaW5zaWRlICsgLmhlYWRlcjpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcik6bm90KC5pY29uKSxcbi51aS5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlICsgLmhlYWRlcjpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcik6bm90KC5pY29uKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG59XG4udWkubW9kYWwgPiAuY2xvc2UuaW5zaWRlLFxuLnVpLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICB0b3A6IDEuMDUzNXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmJhc2ljLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb2RhbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDM1LjIlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDM0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLm1pbmkubW9kYWwge1xuICAgIHdpZHRoOiAzNjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogMzgwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4udWkudGlueS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiA1Mi44JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiA1MTBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IDU3MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnVpLnNtYWxsLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzAuNCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDY4MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiA3NjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi51aS5sYXJnZS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuNmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDg4JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTA4MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTE0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnVpLmJpZy5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuNmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuYmlnLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuYmlnLm1vZGFsIHtcbiAgICB3aWR0aDogODglO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuYmlnLm1vZGFsIHtcbiAgICB3aWR0aDogMTE5MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLmJpZy5tb2RhbCB7XG4gICAgd2lkdGg6IDEyNjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5iaWcubW9kYWwge1xuICAgIHdpZHRoOiAxMzMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4udWkuaHVnZS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuNmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuaHVnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLmh1Z2UubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5odWdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTM2MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLmh1Z2UubW9kYWwge1xuICAgIHdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuaHVnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDE1MjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi51aS5tYXNzaXZlLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5tYXNzaXZlLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubWFzc2l2ZS5tb2RhbCB7XG4gICAgd2lkdGg6IDg4JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm1hc3NpdmUubW9kYWwge1xuICAgIHdpZHRoOiAxNTMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWkubWFzc2l2ZS5tb2RhbCB7XG4gICAgd2lkdGg6IDE2MjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5tYXNzaXZlLm1vZGFsIHtcbiAgICB3aWR0aDogMTcxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIEludmVydGVkXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbnZlcnRlZC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG4udWkuaW52ZXJ0ZWQubW9kYWwgPiAuaGVhZGVyLFxuLnVpLmludmVydGVkLm1vZGFsID4gLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogIzE5MWExYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC44NSk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC5tb2RhbCA+IC5jbG9zZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkuZGltbWVyIC5pbnZlcnRlZC5tb2RhbCA+IC5jbG9zZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbn1cbi51aS5pbnZlcnRlZC5tb2RhbCA+IC5jbG9zZS5pbnNpZGUsXG4udWkuaW52ZXJ0ZWQuZnVsbHNjcmVlbi5tb2RhbCA+IC5jbG9zZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE5hZ1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBOYWdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgQ29sbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRpdGxlICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhvdmVyICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUb3AgLyBCb3R0b20gKi9cbi8qIEludmVydGVkICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgUGx1cmFsXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTmFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm5hZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDAuOTU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJhY2tncm91bmQ6ICM5MDkwOTA7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZTtcbn1cbmEudWkubmFnIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLm5hZyA+IC50aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAuNWVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5uYWcgPiAuY2xvc2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC40O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAtMC41ZW0gMCAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG4udWkubmFnOm5vdCgub3ZlcmxheSk6bm90KC5maXhlZCkge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBIb3ZlciAqL1xuLnVpLm5hZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5MDkwOTA7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkubmFnID4gLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3RhdGljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkub3ZlcmxheS5uYWdzLFxuLnVpLm92ZXJsYXkubmFnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpeGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml4ZWQubmFncyxcbi51aS5maXhlZC5uYWcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQm90dG9tXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYm90dG9tLm5hZ3MsXG4udWkuYm90dG9tLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnLFxuLnVpLmludmVydGVkLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLmludmVydGVkLm5hZ3MgLm5hZyA+IC5jbG9zZSxcbi51aS5pbnZlcnRlZC5uYWcgPiAuY2xvc2Uge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmludmVydGVkLm5hZ3MgLm5hZyA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5uYWcgPiAudGl0bGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU2l6ZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1pbmkubmFnLFxuLnVpLm1pbmkubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkubmFnLFxuLnVpLnRpbnkubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLm5hZyxcbi51aS5zbWFsbC5uYWdzIC5uYWcge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UubmFnLFxuLnVpLmxhcmdlLm5hZ3MgLm5hZyB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcubmFnLFxuLnVpLmJpZy5uYWdzIC5uYWcge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5uYWcsXG4udWkuaHVnZS5uYWdzIC5uYWcge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnVpLm1hc3NpdmUubmFnLFxuLnVpLm1hc3NpdmUubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wcmltYXJ5Lm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnNlY29uZGFyeS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnJlZC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnJlZC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLm9yYW5nZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLnllbGxvdy5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLm9saXZlLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5ncmVlbi5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmdyZWVuLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG59XG4udWkudGVhbC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnRlYWwubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkZmZmZjtcbn1cbi51aS5ibHVlLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnZpb2xldC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLnB1cnBsZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLnBpbmsubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjhlZGY7XG59XG4udWkuYnJvd24ubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmdyZXkubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5Lm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG59XG4udWkuYmxhY2submFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLmJsYWNrLm5hZyAudGl0bGUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm5hZ3Mge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnVpLm5hZ3MgLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkubmFnczpub3QoLmJvdHRvbSkgLm5hZzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5ib3R0b20ubmFncyAubmFnOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5uYWdzOm5vdCguZml4ZWQpOm5vdCgub3ZlcmxheSkgLm5hZzpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkubmFnczpub3QoLmZpeGVkKTpub3QoLm92ZXJsYXkpIC5uYWc6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBQb3B1cFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBhcnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGxhY2VtZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIENvbnRlbnQgQm9yZGVyICovXG4vKiBBcnJvdyAqL1xuLyogQXJyb3cgY29sb3IgYnkgcG9zaXRpb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvb2x0aXAgKi9cbi8qIEludmVydGVkICovXG4vKiBBcnJvdyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR3JpZCBJbnNpZGUgUG9wdXAgKi9cbi8qIChwYWRkaW5nICogQG1lZGl1bSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBiYWNrd2FyZCBjb21wYXRpYmxlIGp1c3QgaW4gY2FzZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaWRlICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQXJyb3cgY29sb3IgYnkgcG9zaXRpb24gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgLyogRml4ZXMgY29udGVudCBiZWluZyBzcXVpc2hlZCB3aGVuIGlubGluZSAobW96IG9ubHkpICovXG4gIG1pbi13aWR0aDogbWluLWNvbnRlbnQ7XG4gIHotaW5kZXg6IDE5MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMC44MzNlbSAxZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkucG9wdXAgPiAuaGVhZGVyICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG4udWkucG9wdXA6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDAuNzE0Mjg1NzFlbTtcbiAgaGVpZ2h0OiAwLjcxNDI4NTcxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgei1pbmRleDogMTkwMTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwIDAgI2JhYmFiYztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFRvb2x0aXBcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbnRlbnQgKi9cbltkYXRhLXRvb2x0aXBdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogQXJyb3cgKi9cbltkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiAwLjcxNDI4NTcxZW07XG4gIGhlaWdodDogMC43MTQyODU3MWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB6LWluZGV4OiAxOTAxO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDAgMCAjYmFiYWJjO1xufVxuLyogUG9wdXAgKi9cbltkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAwLjgzM2VtIDFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHotaW5kZXg6IDE5MDA7XG59XG4vKiBBbmltYXRpb24gKi9cbltkYXRhLXRvb2x0aXBdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXTpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNHM7XG59XG5bZGF0YS10b29sdGlwXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidmlzaWJsZVwiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidmlzaWJsZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXTpob3Zlcjo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5bZGF0YS10b29sdGlwXTpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xufVxuLyogQW5pbWF0aW9uIFBvc2l0aW9uICovXG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC44KTtcbn1cbltkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdOmhvdmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjgpO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl06aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjAwMDEpICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl06aG92ZXI6OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXTpob3Zlcjo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl06aG92ZXI6OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXTpob3Zlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZml4ZWRcIl06OmFmdGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd2lkdGg6IDI1MHB4O1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb24qPVwid2lkZSBmaXhlZFwiXTo6YWZ0ZXIge1xuICB3aWR0aDogMzUwcHg7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbio9XCJ2ZXJ5IHdpZGUgZml4ZWRcIl06OmFmdGVyIHtcbiAgd2lkdGg6IDU1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJmaXhlZFwiXTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEludmVydGVkXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXJyb3cgKi9cbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogQXJyb3cgUG9zaXRpb24gKi9cbltkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pW2RhdGEtaW52ZXJ0ZWRdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLyogUG9wdXAgKi9cbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUG9zaXRpb25cbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tICovXG5bZGF0YS1wb3NpdGlvbn49XCJ0b3BcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi8qIFRvcCBDZW50ZXIgKGRlZmF1bHQpICovXG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YWZ0ZXIsXG5bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YmVmb3JlLFxuW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG59XG4vKiBUb3AgTGVmdCAqL1xuW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG59XG4vKiBUb3AgUmlnaHQgKi9cbltkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICByaWdodDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG59XG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCAjYmFiYWJjO1xufVxuLyogQm90dG9tIENlbnRlciAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNTAlO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi10b3A6IDAuMzA3MTQyODZlbTtcbn1cbi8qIEJvdHRvbSBMZWZ0ICovXG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4wNzE0Mjg1N3JlbTtcbiAgbWFyZ2luLXRvcDogMC4xNDI4NTcxNHJlbTtcbn1cbi8qIEJvdHRvbSBSaWdodCAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMTQyODU3MTRyZW07XG4gIG1hcmdpbi10b3A6IDAuMDcxNDI4NTdyZW07XG59XG4vKiBMZWZ0IENlbnRlciAqL1xuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4xNDI4NTcxNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4wNzE0Mjg1N3JlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMXB4IC0xcHggMCAwICNiYWJhYmM7XG59XG4vKiBSaWdodCBDZW50ZXIgKi9cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4wNzE0Mjg1N3JlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTQyODU3MTRyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IC0xcHggMXB4IDAgMCAjYmFiYWJjO1xufVxuLyogSW52ZXJ0ZWQgQXJyb3cgQ29sb3IgKi9cbltkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwICNiYWJhYmM7XG59XG5bZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDAgMCAjYmFiYWJjO1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMCAwICNiYWJhYmM7XG59XG5bZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbn49XCJ0b3BcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbltkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG5bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEJhc2ljXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYmFzaWNcIl06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJtdWx0aWxpbmVcIl06OmFmdGVyIHtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkucG9wdXAge1xuICBtYXJnaW46IDA7XG59XG4vKiBFeHRlbmRpbmcgZnJvbSBUb3AgKi9cbi51aS50b3AucG9wdXAge1xuICBtYXJnaW46IDAgMCAwLjcxNDI4NTcxZW07XG59XG4udWkudG9wLmxlZnQucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbi51aS50b3AuY2VudGVyLnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbi51aS50b3AucmlnaHQucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG4vKiBFeHRlbmRpbmcgZnJvbSBWZXJ0aWNhbCBDZW50ZXIgKi9cbi51aS5sZWZ0LmNlbnRlci5wb3B1cCB7XG4gIG1hcmdpbjogMCAwLjcxNDI4NTcxZW0gMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCA1MCU7XG59XG4udWkucmlnaHQuY2VudGVyLnBvcHVwIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjcxNDI4NTcxZW07XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgNTAlO1xufVxuLyogRXh0ZW5kaW5nIGZyb20gQm90dG9tICovXG4udWkuYm90dG9tLnBvcHVwIHtcbiAgbWFyZ2luOiAwLjcxNDI4NTcxZW0gMCAwO1xufVxuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4udWkuYm90dG9tLmNlbnRlci5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBvaW50ZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSBCZWxvdyAtLS0gKi9cbi51aS5ib3R0b20uY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTAuMzA3MTQyODZlbTtcbiAgdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbi51aS5ib3R0b20ubGVmdC5wb3B1cCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLyogcnRsOnJlbmFtZSAqL1xuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwOjpiZWZvcmUge1xuICB0b3A6IC0wLjMwNzE0Mjg2ZW07XG4gIGxlZnQ6IDFlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbi51aS5ib3R0b20ucmlnaHQucG9wdXAge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiBydGw6cmVuYW1lICovXG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwOjpiZWZvcmUge1xuICB0b3A6IC0wLjMwNzE0Mjg2ZW07XG4gIHJpZ2h0OiAxZW07XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbi8qIC0tLSBBYm92ZSAtLS0gKi9cbi51aS50b3AuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IC0wLjMwNzE0Mjg2ZW07XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMwNzE0Mjg2ZW07XG59XG4udWkudG9wLmxlZnQucG9wdXAge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS50b3AubGVmdC5wb3B1cDo6YmVmb3JlIHtcbiAgYm90dG9tOiAtMC4zMDcxNDI4NmVtO1xuICBsZWZ0OiAxZW07XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLnRvcC5yaWdodC5wb3B1cCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS50b3AucmlnaHQucG9wdXA6OmJlZm9yZSB7XG4gIGJvdHRvbTogLTAuMzA3MTQyODZlbTtcbiAgcmlnaHQ6IDFlbTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8qIC0tLSBMZWZ0IENlbnRlciAtLS0gKi9cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS5sZWZ0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAtMC4zMDcxNDI4NmVtO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0wLjMwNzE0Mjg2ZW07XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDAgMCAjYmFiYWJjO1xufVxuLyogLS0tIFJpZ2h0IENlbnRlciAtLS0gKi9cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS5yaWdodC5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMC4zMDcxNDI4NmVtO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBib3gtc2hhZG93OiAtMXB4IDFweCAwIDAgI2JhYmFiYztcbn1cbi51aS5yaWdodC5jZW50ZXIucG9wdXA6OmJlZm9yZSxcbi51aS5sZWZ0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi8qIEFycm93IENvbG9yIEJ5IExvY2F0aW9uICovXG4udWkuYm90dG9tLnBvcHVwOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLnRvcC5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi8qIEludmVydGVkIEFycm93IENvbG9yICovXG4udWkuaW52ZXJ0ZWQuYm90dG9tLnBvcHVwOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLnJpZ2h0LmNlbnRlci5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmxlZnQuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLnRvcC5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEltbWVkaWF0ZSBOZXN0ZWQgR3JpZCAqL1xuLnVpLnVpLnVpLnBvcHVwID4gLnVpLmdyaWQ6bm90KC5wYWRkZWQpIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNzVyZW0pO1xuICBtYXJnaW46IC0wLjdyZW0gLTAuODc1cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5sb2FkaW5nLnBvcHVwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udWkubG9hZGluZy5wb3B1cCAqIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuLnVpLmxvYWRpbmcucG9wdXA6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0xZW0gMCAwIC0xZW07XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgei1pbmRleDogMTAxO1xufVxuLnVpLmludmlzaWJsZS5wb3B1cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgei1pbmRleDogLTE7XG59XG4udWkuYW5pbWF0aW5nLnBvcHVwLFxuLnVpLnZpc2libGUucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJhc2ljLnBvcHVwOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmZpeGVkLnBvcHVwIHtcbiAgd2lkdGg6IDI1MHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFdpZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS53aWRlLnBvcHVwIHtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbn1cbi51aS53aWRlLnBvcHVwLmZpeGVkIHtcbiAgd2lkdGg6IDM1MHB4O1xufVxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cCB7XG4gIG1heC13aWR0aDogNTUwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnBvcHVwLmZpeGVkIHtcbiAgd2lkdGg6IDU1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkud2lkZS5wb3B1cCxcbiAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cCB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgfVxuICAudWkud2lkZS5wb3B1cC5maXhlZCxcbiAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cC5maXhlZCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5wb3B1cCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCBjb2xvcnMgKi9cbi51aS5pbnZlcnRlZC5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQucG9wdXAgLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnBvcHVwOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLnByaW1hcnkucG9wdXA6OmJlZm9yZSxcbi51aS5wcmltYXJ5LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHJpbWFyeVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJwcmltYXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnByaW1hcnkubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnByaW1hcnkubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNiZTdkYjg7XG59XG4udWkudWkudWkucHJpbWFyeS5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHJpbWFyeVwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInByaW1hcnlcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwicHJpbWFyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzU0YzhmZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzAwN2ViYTtcbn1cbi51aS51aS51aS5zZWNvbmRhcnkucG9wdXA6OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJzZWNvbmRhcnlcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwic2Vjb25kYXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnNlY29uZGFyeS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjY2JmMzkwO1xufVxuLnVpLnVpLnVpLnNlY29uZGFyeS5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwic2Vjb25kYXJ5XCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInNlY29uZGFyeVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJzZWNvbmRhcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMDgwODA4O1xufVxuLnVpLnVpLnVpLnJlZC5wb3B1cDo6YmVmb3JlLFxuLnVpLnJlZC5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInJlZFwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkucmVkLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5yZWQubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmMWFiYWI7XG59XG4udWkudWkudWkucmVkLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJyZWRcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucmVkLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucmVkLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwicmVkXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmNjk1ZTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucmVkLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5yZWQubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNjNDBkMDA7XG59XG4udWkudWkudWkub3JhbmdlLnBvcHVwOjpiZWZvcmUsXG4udWkub3JhbmdlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwib3JhbmdlXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm9yYW5nZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5vcmFuZ2UubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLm9yYW5nZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2ZhY2NhZDtcbn1cbi51aS51aS51aS5vcmFuZ2UucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm9yYW5nZVwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJvcmFuZ2VcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwib3JhbmdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmY4NTFiO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLm9yYW5nZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzgxM2MwMDtcbn1cbi51aS51aS51aS55ZWxsb3cucG9wdXA6OmJlZm9yZSxcbi51aS55ZWxsb3cucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ5ZWxsb3dcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwieWVsbG93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmJiZDA4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnllbGxvdy5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkueWVsbG93LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZmRlNTlmO1xufVxuLnVpLnVpLnVpLnllbGxvdy5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwieWVsbG93XCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnllbGxvdy5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInllbGxvd1wiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJ5ZWxsb3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZmUyMWY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjODU3NDAwO1xufVxuLnVpLnVpLnVpLm9saXZlLnBvcHVwOjpiZWZvcmUsXG4udWkub2xpdmUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJvbGl2ZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJvbGl2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5vbGl2ZS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkub2xpdmUubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNlNGYxOGM7XG59XG4udWkudWkudWkub2xpdmUucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm9saXZlXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJvbGl2ZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJvbGl2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2Q5ZTc3ODtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLm9saXZlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjOTdhODFlO1xufVxuLnVpLnVpLnVpLmdyZWVuLnBvcHVwOjpiZWZvcmUsXG4udWkuZ3JlZW4ucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJncmVlblwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJncmVlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5ncmVlbi5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuZ3JlZW4ubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM4YWVhYTA7XG59XG4udWkudWkudWkuZ3JlZW4ucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImdyZWVuXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4ucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJncmVlblwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJncmVlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4ubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZWVuLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMTI0ZjE5O1xufVxuLnVpLnVpLnVpLnRlYWwucG9wdXA6OmJlZm9yZSxcbi51aS50ZWFsLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidGVhbFwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ0ZWFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnRlYWwubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnRlYWwubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM0ZmZmZjc7XG59XG4udWkudWkudWkudGVhbC5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidGVhbFwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInRlYWxcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwidGVhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZkZmZmZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudGVhbC5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzAwZDNkMztcbn1cbi51aS51aS51aS5ibHVlLnBvcHVwOjpiZWZvcmUsXG4udWkuYmx1ZS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsdWVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYmx1ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5ibHVlLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5ibHVlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjOWJjYmVmO1xufVxuLnVpLnVpLnVpLmJsdWUucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsdWVcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJsdWUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJibHVlXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImJsdWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1NGM4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJsdWUubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMwMDdlYmE7XG59XG4udWkudWkudWkudmlvbGV0LnBvcHVwOjpiZWZvcmUsXG4udWkudmlvbGV0LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidmlvbGV0XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpb2xldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS52aW9sZXQubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnZpb2xldC5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2MxYWRlYTtcbn1cbi51aS51aS51aS52aW9sZXQucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpb2xldFwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC52aW9sZXQucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC52aW9sZXQucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJ2aW9sZXRcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwidmlvbGV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTI5MWZiO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC52aW9sZXQubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnZpb2xldC5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzJkMDllYTtcbn1cbi51aS51aS51aS5wdXJwbGUucG9wdXA6OmJlZm9yZSxcbi51aS5wdXJwbGUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJwdXJwbGVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHVycGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTMzM2M4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnB1cnBsZS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkucHVycGxlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZGFhYmU5O1xufVxuLnVpLnVpLnVpLnB1cnBsZS5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHVycGxlXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnB1cnBsZS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInB1cnBsZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJwdXJwbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkYzczZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjYTMwMGQ5O1xufVxuLnVpLnVpLnVpLnBpbmsucG9wdXA6OmJlZm9yZSxcbi51aS5waW5rLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicGlua1wiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJwaW5rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnBpbmsubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnBpbmsubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmNWJkZGM7XG59XG4udWkudWkudWkucGluay5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicGlua1wiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5waW5rLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGluay5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInBpbmtcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwicGlua1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmOGVkZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGluay5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2Y0MDBhZjtcbn1cbi51aS51aS51aS5icm93bi5wb3B1cDo6YmVmb3JlLFxuLnVpLmJyb3duLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYnJvd25cIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYnJvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkuYnJvd24ubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmJyb3duLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZGJiOGEyO1xufVxuLnVpLnVpLnVpLmJyb3duLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJicm93blwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJyb3duLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiYnJvd25cIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiYnJvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkNjdjMWM7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5icm93bi5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzRmMmUwYTtcbn1cbi51aS51aS51aS5ncmV5LnBvcHVwOjpiZWZvcmUsXG4udWkuZ3JleS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImdyZXlcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZ3JleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5ncmV5LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5ncmV5LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjYzNjM2MzO1xufVxuLnVpLnVpLnVpLmdyZXkucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImdyZXlcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZXkucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJncmV5XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImdyZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZXkubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM4ZDkxOTQ7XG59XG4udWkudWkudWkuYmxhY2sucG9wdXA6OmJlZm9yZSxcbi51aS5ibGFjay5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsYWNrXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsYWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLmJsYWNrLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5ibGFjay5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzY1Njk2Yztcbn1cbi51aS51aS51aS5ibGFjay5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYmxhY2tcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2sucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibGFjay5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImJsYWNrXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImJsYWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2subG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMwODA4MDg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmxvd2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsb3dpbmcucG9wdXAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkucG9wdXAge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm1pbmlcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm1pbmlcIl06OmFmdGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkucG9wdXAge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ0aW55XCJdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ0aW55XCJdOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInNtYWxsXCJdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJzbWFsbFwiXTo6YWZ0ZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UucG9wdXAge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJsYXJnZVwiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwibGFyZ2VcIl06OmFmdGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJpZ1wiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYmlnXCJdOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiaHVnZVwiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiaHVnZVwiXTo6YWZ0ZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm1hc3NpdmVcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm1hc3NpdmVcIl06OmFmdGVyIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUHJvZ3Jlc3NcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQmFyICovXG4vKiBQcm9ncmVzcyBCYXIgTGFiZWwgKi9cbi8qIExhYmVsICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBY3RpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBdHRhY2hlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFNpemluZyAqL1xuLyogSW5kZXRlcm1pbmF0ZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFByb2dyZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnByb2dyZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxZW0gMCAyLjVlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJhc2ljLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wcm9ncmVzczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDIuNWVtO1xufVxuLnVpLnByb2dyZXNzOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWN0aXZpdHkgQmFyICovXG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgYmFja2dyb3VuZDogIzg4ODtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi51aS5wcm9ncmVzcyAuYmFyOm5vdCg6ZW1wdHkpIHtcbiAgbWluLXdpZHRoOiAyLjVlbTtcbn1cbi51aS51aS51aS5wcm9ncmVzczpub3QoW2RhdGEtcGVyY2VudF0pOm5vdCguaW5kZXRlcm1pbmF0ZSkgLmJhcjpub3QoOmVtcHR5KSxcbi51aS51aS51aS5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdOm5vdCguaW5kZXRlcm1pbmF0ZSkgLmJhcjpub3QoOmVtcHR5KSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl0gLmJhciAucHJvZ3Jlc3Mge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdIC5iYXIgLnByb2dyZXNzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIFBlcmNlbnQgQ29tcGxldGUgKi9cbi51aS5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIHRvcDogNTAlO1xuICByaWdodDogMC41ZW07XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkucmlnaHQuYWxpZ25lZC5wcm9ncmVzcyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4udWkucmlnaHQuYWxpZ25lZC5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgbGVmdDogMC41ZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogTGFiZWwgKi9cbi51aS5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IGF1dG87XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNHMgZWFzZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEluZGljYXRpbmcgKi9cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NWM1Yztcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZiYzcyO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZiYjQ4O1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjZcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGM5Mjg7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiN1wiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjhcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNGQ5NWM7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2ZGE4MTtcbn1cbi8qIEluZGljYXRpbmcgTGFiZWwgKi9cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjNcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNFwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjhcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogSW52ZXJ0ZWQgSW5kaWNhdGluZyBMYWJlbCAqL1xuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjFcIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjJcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNFwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjZcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOVwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBTaW5nbGUgRGlnaXRzICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMS5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyLlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjMuXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNC5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1LlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjYuXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNy5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4LlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjkuXCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1YzVjO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMC5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMS5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMlwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMy5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNC5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNi5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNy5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOFwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOS5cIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIwLlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxLlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyLlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIzXCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzLlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0LlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1LlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI2XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2LlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3LlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4LlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI5XCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5LlwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogSW5kaWNhdGluZyBTdWNjZXNzICovXG4udWkudWkuaW5kaWNhdGluZy5wcm9ncmVzcy5zdWNjZXNzIC5sYWJlbCB7XG4gIGNvbG9yOiAjMWE1MzFiO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3VjY2Vzc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG59XG4udWkudWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyLFxuLnVpLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG5vbmU7XG59XG4udWkucHJvZ3Jlc3Muc3VjY2VzcyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjMWE1MzFiO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFdhcm5pbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJjMDM3O1xufVxuLnVpLnVpLnByb2dyZXNzLndhcm5pbmcgLmJhcixcbi51aS51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuLnVpLnByb2dyZXNzLndhcm5pbmcgPiAubGFiZWwge1xuICBjb2xvcjogIzc5NGIwMjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBFcnJvclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXIsXG4udWkudWkucHJvZ3Jlc3MuZXJyb3IgLmJhcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG5vbmU7XG59XG4udWkucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICBjb2xvcjogIzkxMmQyYjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3RpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hY3RpdmUucHJvZ3Jlc3MgLmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS5hY3RpdmUucHJvZ3Jlc3MgLmJhcjpub3QoOmVtcHR5KSB7XG4gIG1pbi13aWR0aDogMi41ZW07XG59XG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYWN0aXZlIDJzIGVhc2UgaW5maW5pdGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG4udWkuYWN0aXZlLnJpZ2h0LmFsaWduZWQucHJvZ3Jlc3MgLmJhcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYWN0aXZlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5wcm9ncmVzcyB7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG4udWkudWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcixcbi51aS51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLnByb2dyZXNzOm5vdCguYmFzaWMpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcy53YXJuaW5nID4gLmxhYmVsIHtcbiAgY29sb3I6ICNmMmMwMzc7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBib3R0b20gYXR0YWNoZWQgKi9cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLnByb2dyZXNzLmF0dGFjaGVkLFxuLnVpLnByb2dyZXNzLmF0dGFjaGVkIC5iYXIge1xuICBoZWlnaHQ6IDAuMnJlbTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCAuYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi8qIHRvcCBhdHRhY2hlZCAqL1xuLnVpLnByb2dyZXNzLnRvcC5hdHRhY2hlZCxcbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQgLmJhciB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQgLmJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiBDb3VwbGluZyAqL1xuLnVpLnNlZ21lbnQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3MsXG4udWkuY2FyZCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnNlZ21lbnQgPiAudWkuYm90dG9tLmF0dGFjaGVkLnByb2dyZXNzLFxuLnVpLmNhcmQgPiAudWkuYm90dG9tLmF0dGFjaGVkLnByb2dyZXNzIHtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmluZGV0ZXJtaW5hdGUucHJpbWFyeS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucHJpbWFyeS5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5wcmltYXJ5LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5wcmltYXJ5LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5wcmltYXJ5LmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnByaW1hcnkuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbmRldGVybWluYXRlLnNlY29uZGFyeS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnNlY29uZGFyeS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUuc2Vjb25kYXJ5LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuc2Vjb25kYXJ5LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5yZWQucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnJlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5yZWQuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnJlZC5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucmVkLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnJlZC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUub3JhbmdlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5vcmFuZ2UucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAub3JhbmdlLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5vcmFuZ2UucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLm9yYW5nZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5vcmFuZ2UuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODUxYjtcbn1cbi51aS5pbmRldGVybWluYXRlLnllbGxvdy5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkueWVsbG93LnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnllbGxvdy5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUueWVsbG93LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS55ZWxsb3cuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAueWVsbG93LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5vbGl2ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkub2xpdmUucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAub2xpdmUuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLm9saXZlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5vbGl2ZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5vbGl2ZS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllNzc4O1xufVxuLnVpLmluZGV0ZXJtaW5hdGUuZ3JlZW4ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmdyZWVuLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLmdyZWVuLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5ncmVlbi5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuZ3JlZW4uaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuZ3JlZW4uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlY2M0MDtcbn1cbi51aS5pbmRldGVybWluYXRlLnRlYWwucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnRlYWwucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAudGVhbC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUudGVhbC5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkudGVhbC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC50ZWFsLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5ibHVlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5ibHVlLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLmJsdWUuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLmJsdWUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmJsdWUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmx1ZS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUudmlvbGV0LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS52aW9sZXQucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAudmlvbGV0LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS52aW9sZXQucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnZpb2xldC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC52aW9sZXQuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyOTFmYjtcbn1cbi51aS5pbmRldGVybWluYXRlLnB1cnBsZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucHVycGxlLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnB1cnBsZS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUucHVycGxlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5wdXJwbGUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAucHVycGxlLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzczZmY7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5waW5rLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5waW5rLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnBpbmsuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnBpbmsucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnBpbmsuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAucGluay5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUuYnJvd24ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmJyb3duLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLmJyb3duLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5icm93bi5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuYnJvd24uaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYnJvd24uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbn1cbi51aS5pbmRldGVybWluYXRlLmdyZXkucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmdyZXkucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAuZ3JleS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUuZ3JleS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuZ3JleS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5ncmV5LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5ibGFjay5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuYmxhY2sucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAuYmxhY2suYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLmJsYWNrLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5ibGFjay5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5ibGFjay5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDEuNzVlbTtcbn1cbi51aS5taW5pLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLm1pbmkucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMC4zZW07XG59XG4udWkudGlueS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS50aW55LnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDAuNWVtO1xufVxuLnVpLnNtYWxsLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnNtYWxsLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDFlbTtcbn1cbi51aS5sYXJnZS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5sYXJnZS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cbi51aS5iaWcucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuYmlnLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDMuNWVtO1xufVxuLnVpLmh1Z2UucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkuaHVnZS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiA0ZW07XG59XG4udWkubWFzc2l2ZS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi51aS5tYXNzaXZlLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW5kZXRlcm1pbmF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIgLnByb2dyZXNzLFxuLnVpLnByb2dyZXNzIC5iYXIgLmNlbnRlcmVkLnByb2dyZXNzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAwO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1wdWxzYXRpbmcgMnMgZWFzZSBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zbG93LmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0cztcbn1cbi51aS5mYXN0LmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cbi51aS5zd2luZ2luZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcy1zd2luZ2luZztcbn1cbi51aS5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHByb2dyZXNzLXNsaWRpbmc7XG59XG4udWkuZmlsbGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcy1maWxsaW5nO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3M6bm90KC5zbGlkaW5nKTpub3QoLmZpbGxpbmcpOm5vdCguc3dpbmdpbmcpIC5iYXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4udWkuc2xpZGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIsXG4udWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuLnVpLmZpbGxpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyxcbi51aS5zd2luZ2luZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIgLnByb2dyZXNzIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuc2xpZGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLmZpbGxpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cbi51aS5pbnZlcnRlZC5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3MsXG4udWkuaW52ZXJ0ZWQuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLXN3aW5naW5nIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuICAyNSUsXG4gIDY1JSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICA1MCUge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzcy1zbGlkaW5nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuICA1MCUge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWZpbGxpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLXB1bHNhdGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNsaWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRoZW1lXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTbGlkZXIgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUcmFjayAqL1xuLyogVHJhY2sgRmlsbCAqL1xuLyogVGh1bWIgKi9cbi8qIFRodW1iIEhvdmVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpc2FibGVkICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSGlnaGxpZ2h0ICovXG4vKiBWZXJ0aWNhbCAqL1xuLyogTGFiZWxlZCAqL1xuLyogSG92ZXIgKi9cbi8qIFNpemluZyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4udWkuc2xpZGVyOm5vdCgudmVydGljYWwpOm5vdCguY2hlY2tib3gpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFlbSAwLjVlbTtcbn1cbi51aS5zbGlkZXI6bm90KC5jaGVja2JveCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuc2xpZGVyOm5vdCguY2hlY2tib3gpOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi51aS5zbGlkZXIgLmlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLnVpLnNsaWRlcjpub3QoLnZlcnRpY2FsKSAuaW5uZXIge1xuICBoZWlnaHQ6IDEuNWVtO1xufVxuLnVpLnNsaWRlciAuaW5uZXI6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG59XG4udWkuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51aS5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNGVtO1xuICB0b3A6IDAuNTVlbTtcbiAgbGVmdDogMDtcbn1cbi51aS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuc2xpZGVyOm5vdCgudmVydGljYWwpIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGhlaWdodDogMC40ZW07XG4gIHRvcDogMC41NWVtO1xuICBsZWZ0OiAwO1xufVxuLnVpLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG59XG4udWkuc2xpZGVyOm5vdCguZGlzYWJsZWQpIC5pbm5lciAudGh1bWI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbn1cbi51aS5zbGlkZXI6bm90KC5kaXNhYmxlZCk6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjIgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5zbGlkZXI6bm90KC5jaGVja2JveCkge1xuICBvcGFjaXR5OiAwLjU7XG59XG4udWkuZGlzYWJsZWQuc2xpZGVyIC5pbm5lcjpob3ZlciB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi51aS5kaXNhYmxlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJldmVyc2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmV2ZXJzZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLnVpLnJldmVyc2VkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRodW1iIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG4udWkucmV2ZXJzZWQudmVydGljYWwuc2xpZGVyIC5pbm5lciAudGh1bWIge1xuICBsZWZ0OiAwLjAzZW07XG59XG4udWkubGFiZWxlZC5yZXZlcnNlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtMTAwJSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS52ZXJ0aWNhbC5zbGlkZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxLjVlbTtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxuLnVpLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4udWkudmVydGljYWwuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwLjRlbTtcbiAgbGVmdDogMC41NWVtO1xuICB0b3A6IDA7XG59XG4udWkudmVydGljYWwuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIHdpZHRoOiAwLjRlbTtcbiAgbGVmdDogMC41NWVtO1xuICB0b3A6IDA7XG59XG4vKiBWZXJ0aWNhbCBSZXZlcnNlZCAqL1xuLnVpLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4udWkudmVydGljYWwucmV2ZXJzZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVsZWQuc2xpZGVyID4gLmxhYmVscyB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLnVpLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpID4gLmxhYmVscyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi51aS5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLmxhYmVsZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6bm90KC51aSkge1xuICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuLnVpLmJvdHRvbS5hbGlnbmVkLmxhYmVsZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xufVxuLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xufVxuLnVpLmJvdHRvbS5hbGlnbmVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xufVxuLnVpLmxhYmVsZWQuc2xpZGVyLmJvdHRvbS5hbGlnbmVkIC5sYWJlbHMgLnVpLmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xufVxuLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlci5ib3R0b20uYWxpZ25lZCAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNzVlbTtcbn1cbi51aS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuLnVpLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpOm5vdCguYm90dG9tKSAubGFiZWxzIC51aS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCk6bm90KC5ib3R0b20pIC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gIGhlaWdodDogMmVtO1xufVxuLyogVmVydGljYWwgTGFiZWxzICovXG4udWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIHtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogMC43NWVtO1xuICBoZWlnaHQ6IDFweDtcbn1cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlcjpub3QoLnJpZ2h0KSA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbn1cbi8qIFZlcnRpY2FsIFJldmVyc2VkIExhYmVscyAqL1xuLnVpLmxhYmVsZWQudmVydGljYWwucmV2ZXJzZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgNTAlKTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC52ZXJ0aWNhbC5zbGlkZXI6bm90KC5yaWdodCkgPiAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgbGVmdDogY2FsYygxMDAlICsgMC42ZW0pO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICByaWdodDogMTAwJTtcbn1cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMC42ZW07XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5yZXZlcnNlZC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgNTAlKTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ob3Zlci5zbGlkZXIgLmlubmVyIC50aHVtYiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG59XG4udWkuaG92ZXIuc2xpZGVyOm5vdCguZGlzYWJsZWQpOmhvdmVyIC5pbm5lciAudGh1bWIsXG4udWkuaG92ZXIuc2xpZGVyOm5vdCguZGlzYWJsZWQpOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBvcGFjaXR5OiAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG4udWkubGFiZWxlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAubGFiZWwge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG59XG4udWkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIsXG4udWkubGFiZWxlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAubGFiZWw6bm90KC5hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC42O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0YW5kYXJkICovXG4udWkucHJpbWFyeS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS5wcmltYXJ5LmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLyogQmFzaWMgKi9cbi51aS5wcmltYXJ5LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS5wcmltYXJ5LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnByaW1hcnkuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWQyYjU5O1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5wcmltYXJ5LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS5wcmltYXJ5LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnByaW1hcnkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuLnVpLnByaW1hcnkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnByaW1hcnkuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5zZWNvbmRhcnkuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OGQzMTc7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLyogQmFzaWMgKi9cbi51aS5zZWNvbmRhcnkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnNlY29uZGFyeS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5zZWNvbmRhcnkuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOThmMDEzO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU2ZTZlO1xufVxuLnVpLnNlY29uZGFyeS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OGQzMTc7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkucmVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnJlZC5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjk1ZTtcbn1cbi8qIEJhc2ljICovXG4udWkucmVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5yZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkucmVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwMTkxOTtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkucmVkLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5yZWQuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkucmVkLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzkyYjtcbn1cbi51aS5yZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnJlZC5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5NWU7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLm9yYW5nZS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbn1cbi51aS5vcmFuZ2UuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjg1MWI7XG59XG4vKiBCYXNpYyAqL1xuLnVpLm9yYW5nZS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG59XG4udWkub3JhbmdlLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLm9yYW5nZS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjYyMDI7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLm9yYW5nZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjg1MWI7XG59XG4udWkub3JhbmdlLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLm9yYW5nZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzZiMDA7XG59XG4udWkub3JhbmdlLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbn1cbi51aS5vcmFuZ2UuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NTFiO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS55ZWxsb3cuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmJkMDg7XG59XG4udWkueWVsbG93LmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xufVxuLyogQmFzaWMgKi9cbi51aS55ZWxsb3cuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnllbGxvdy5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS55ZWxsb3cuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS55ZWxsb3cuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLnllbGxvdy5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS55ZWxsb3cuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjZDAwO1xufVxuLnVpLnllbGxvdy5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmJkMDg7XG59XG4udWkueWVsbG93LmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTIxZjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkub2xpdmUuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkub2xpdmUuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWU3Nzg7XG59XG4vKiBCYXNpYyAqL1xuLnVpLm9saXZlLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS5vbGl2ZS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5vbGl2ZS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLm9saXZlLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5vbGl2ZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5vbGl2ZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmU3NDU7XG59XG4udWkub2xpdmUubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLm9saXZlLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkuZ3JlZW4uc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG59XG4udWkuZ3JlZW4uaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmdyZWVuLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5ncmVlbi5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5ncmVlbi5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLmdyZWVuLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlY2M0MDtcbn1cbi51aS5ncmVlbi5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5ncmVlbi5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZWE5MmU7XG59XG4udWkuZ3JlZW4ubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmdyZWVuLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlY2M0MDtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkudGVhbC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS50ZWFsLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmRmZmZmO1xufVxuLyogQmFzaWMgKi9cbi51aS50ZWFsLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS50ZWFsLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnRlYWwuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS50ZWFsLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkZmZmZjtcbn1cbi51aS50ZWFsLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnRlYWwuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FmZmZmO1xufVxuLnVpLnRlYWwubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnRlYWwuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmRmZmZmO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5ibHVlLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmJsdWUuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGM4ZmY7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJsdWUuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmJsdWUuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuYmx1ZS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzI7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLmJsdWUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmJsdWUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuYmx1ZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XG59XG4udWkuYmx1ZS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuYmx1ZS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGM4ZmY7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLnZpb2xldC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS52aW9sZXQuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMjkxZmI7XG59XG4vKiBCYXNpYyAqL1xuLnVpLnZpb2xldC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudmlvbGV0LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnZpb2xldC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODI5YmI7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLnZpb2xldC5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMjkxZmI7XG59XG4udWkudmlvbGV0LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnZpb2xldC5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDVhZmY7XG59XG4udWkudmlvbGV0LmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS52aW9sZXQuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI5MWZiO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5wdXJwbGUuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzMzYzg7XG59XG4udWkucHVycGxlLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xufVxuLyogQmFzaWMgKi9cbi51aS5wdXJwbGUuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnB1cnBsZS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5wdXJwbGUuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyN2JhO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5wdXJwbGUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLnB1cnBsZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5wdXJwbGUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y0MGZmO1xufVxuLnVpLnB1cnBsZS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzMzYzg7XG59XG4udWkucHVycGxlLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNzNmZjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkucGluay5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5waW5rLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZWRmO1xufVxuLyogQmFzaWMgKi9cbi51aS5waW5rLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5waW5rLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnBpbmsuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYxYThkO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5waW5rLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5waW5rLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnBpbmsuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YmQxO1xufVxuLnVpLnBpbmsubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnBpbmsuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZWRmO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5icm93bi5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbn1cbi51aS5icm93bi5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbn1cbi8qIEJhc2ljICovXG4udWkuYnJvd24uc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmJyb3duLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJyb3duLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NWIzMztcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkuYnJvd24uaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmJyb3duLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJyb3duLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwNjIwZjtcbn1cbi51aS5icm93bi5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuYnJvd24uaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY3YzFjO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5ncmV5LnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmdyZXkuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmdyZXkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmdyZXkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuZ3JleS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MzgzODM7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLmdyZXkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLmdyZXkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuZ3JleS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmM0YzU7XG59XG4udWkuZ3JleS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG4udWkuZ3JleS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLmJsYWNrLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmJsYWNrLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLyogQmFzaWMgKi9cbi51aS5ibGFjay5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuYmxhY2suc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuYmxhY2suc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5ibGFjay5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuYmxhY2suaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuYmxhY2suaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLnVpLmJsYWNrLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5ibGFjay5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0YW5kYXJkICovXG4udWkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQmFzaWMgSW52ZXJ0ZWRcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFuZGFyZCAqL1xuLnVpLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNsaWRlci5zbWFsbCAuaW5uZXIgLnRodW1iIHtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG59XG4udWkuc2xpZGVyLnNtYWxsOm5vdCgudmVydGljYWwpIC5pbm5lciB7XG4gIGhlaWdodDogMWVtO1xufVxuLnVpLnNsaWRlci5zbWFsbDpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLFxuLnVpLnNsaWRlci5zbWFsbDpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBoZWlnaHQ6IDAuM2VtO1xuICB0b3A6IDAuMzVlbTtcbn1cbi51aS5zbWFsbC5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMsXG4udWkuc21hbGwubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDFlbTtcbn1cbi51aS5zbWFsbC5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIGhlaWdodDogMC41ZW07XG59XG4vKiBTbWFsbCBWZXJ0aWNhbCAqL1xuLnVpLnNsaWRlci5zbWFsbC52ZXJ0aWNhbCAuaW5uZXIge1xuICB3aWR0aDogMWVtO1xufVxuLnVpLnNsaWRlci5zbWFsbC52ZXJ0aWNhbCAuaW5uZXIgLnRyYWNrLFxuLnVpLnNsaWRlci5zbWFsbC52ZXJ0aWNhbCAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICB3aWR0aDogMC4zZW07XG4gIGxlZnQ6IDAuMzVlbTtcbn1cbi51aS5zbWFsbC5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMsXG4udWkuc21hbGwubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogMWVtO1xufVxuLnVpLnNtYWxsLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDAuNWVtO1xufVxuLnVpLnNsaWRlci5sYXJnZSAuaW5uZXIgLnRodW1iIHtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG59XG4udWkuc2xpZGVyLmxhcmdlOm5vdCgudmVydGljYWwpIC5pbm5lciB7XG4gIGhlaWdodDogMmVtO1xufVxuLnVpLnNsaWRlci5sYXJnZTpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLFxuLnVpLnNsaWRlci5sYXJnZTpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBoZWlnaHQ6IDAuNWVtO1xuICB0b3A6IDAuNzVlbTtcbn1cbi51aS5sYXJnZS5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMsXG4udWkubGFyZ2UubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDJlbTtcbn1cbi51aS5sYXJnZS5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIGhlaWdodDogMWVtO1xufVxuLyogU21hbGwgVmVydGljYWwgKi9cbi51aS5zbGlkZXIubGFyZ2UudmVydGljYWwgLmlubmVyIHtcbiAgd2lkdGg6IDJlbTtcbn1cbi51aS5zbGlkZXIubGFyZ2UudmVydGljYWwgLmlubmVyIC50cmFjayxcbi51aS5zbGlkZXIubGFyZ2UudmVydGljYWwgLmlubmVyIC50cmFjay1maWxsIHtcbiAgd2lkdGg6IDAuNWVtO1xuICBsZWZ0OiAwLjc1ZW07XG59XG4udWkubGFyZ2UubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzLFxuLnVpLmxhcmdlLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDJlbTtcbn1cbi51aS5sYXJnZS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAxZW07XG59XG4udWkuc2xpZGVyLmJpZyAuaW5uZXIgLnRodW1iIHtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xufVxuLnVpLnNsaWRlci5iaWc6bm90KC52ZXJ0aWNhbCkgLmlubmVyIHtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cbi51aS5zbGlkZXIuYmlnOm5vdCgudmVydGljYWwpIC5pbm5lciAudHJhY2ssXG4udWkuc2xpZGVyLmJpZzpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBoZWlnaHQ6IDAuNmVtO1xuICB0b3A6IDAuOTVlbTtcbn1cbi51aS5iaWcubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzLFxuLnVpLmJpZy5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIGhlaWdodDogMi41ZW07XG59XG4udWkuYmlnLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgaGVpZ2h0OiAxLjI1ZW07XG59XG4vKiBTbWFsbCBWZXJ0aWNhbCAqL1xuLnVpLnNsaWRlci5iaWcudmVydGljYWwgLmlubmVyIHtcbiAgd2lkdGg6IDIuNWVtO1xufVxuLnVpLnNsaWRlci5iaWcudmVydGljYWwgLmlubmVyIC50cmFjayxcbi51aS5zbGlkZXIuYmlnLnZlcnRpY2FsIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIHdpZHRoOiAwLjZlbTtcbiAgbGVmdDogMC45NWVtO1xufVxuLnVpLmJpZy5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMsXG4udWkuYmlnLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDIuNWVtO1xufVxuLnVpLmJpZy5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAxLjI1ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTbGlkZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmF0aW5nXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJhdGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFuZGFyZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucmF0aW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5yYXRpbmc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24ge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgdGV4dC1zaGFkb3cgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhbmRhcmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbmFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLyogQWN0aXZlIEljb24gKi9cbi51aS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyogUGFydGlhbGx5IEFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xufVxuLyogY2VudHJhbCBvdmVycmlkZSBmb3IgY29sb3JzICovXG4udWkudWkudWkucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIFNlbGVjdGVkIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjNkMzNjY3LCAtMXB4IDAgMCAjNkMzNjY3LCAwIDFweCAwICM2QzM2NjcsIDFweCAwIDAgIzZDMzY2Nztcbn1cbi51aS5wcmltYXJ5LnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5wcmltYXJ5LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkucHJpbWFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzIxYjhmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM1ZDJiNTksIC0xcHggMCAwICM1ZDJiNTksIDAgMXB4IDAgIzVkMmI1OSwgMXB4IDAgMCAjNWQyYjU5O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5wcmltYXJ5LnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzU0YzhmZiAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzZDMzY2NyAwLjc4cHg7XG59XG4udWkuc2Vjb25kYXJ5LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogIzU0NTQ1NDtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM4OGQzMTcsIC0xcHggMCAwICM4OGQzMTcsIDAgMXB4IDAgIzg4ZDMxNywgMXB4IDAgMCAjODhkMzE3O1xufVxuLnVpLnNlY29uZGFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkuc2Vjb25kYXJ5LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkuc2Vjb25kYXJ5LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjNmU2ZTZlO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzk4ZjAxMywgLTFweCAwIDAgIzk4ZjAxMywgMCAxcHggMCAjOThmMDEzLCAxcHggMCAwICM5OGYwMTM7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnNlY29uZGFyeS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM1NDU0NTQgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICM4OGQzMTcgMC43OHB4O1xufVxuLnVpLnJlZC5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNmZjY5NWU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjZGIyODI4LCAtMXB4IDAgMCAjZGIyODI4LCAwIDFweCAwICNkYjI4MjgsIDFweCAwIDAgI2RiMjgyODtcbn1cbi51aS5yZWQucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnJlZC5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnJlZC5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2ZmMzkyYjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNkMDE5MTksIC0xcHggMCAwICNkMDE5MTksIDAgMXB4IDAgI2QwMTkxOSwgMXB4IDAgMCAjZDAxOTE5O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5yZWQucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmY2OTVlIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjZGIyODI4IDAuNzhweDtcbn1cbi51aS5vcmFuZ2UucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjZmY4NTFiO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2YyNzExYywgLTFweCAwIDAgI2YyNzExYywgMCAxcHggMCAjZjI3MTFjLCAxcHggMCAwICNmMjcxMWM7XG59XG4udWkub3JhbmdlLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5vcmFuZ2UucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5vcmFuZ2UucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNlNzZiMDA7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjZjI2MjAyLCAtMXB4IDAgMCAjZjI2MjAyLCAwIDFweCAwICNmMjYyMDIsIDFweCAwIDAgI2YyNjIwMjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkub3JhbmdlLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmODUxYiAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogI2YyNzExYyAwLjc4cHg7XG59XG4udWkueWVsbG93LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2ZmZTIxZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNmYmJkMDgsIC0xcHggMCAwICNmYmJkMDgsIDAgMXB4IDAgI2ZiYmQwOCwgMXB4IDAgMCAjZmJiZDA4O1xufVxuLnVpLnllbGxvdy5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkueWVsbG93LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkueWVsbG93LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZWJjZDAwO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2VhYWUwMCwgLTFweCAwIDAgI2VhYWUwMCwgMCAxcHggMCAjZWFhZTAwLCAxcHggMCAwICNlYWFlMDA7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnllbGxvdy5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmUyMWYgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNmYmJkMDggMC43OHB4O1xufVxuLnVpLm9saXZlLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2Q5ZTc3ODtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNiNWNjMTgsIC0xcHggMCAwICNiNWNjMTgsIDAgMXB4IDAgI2I1Y2MxOCwgMXB4IDAgMCAjYjVjYzE4O1xufVxuLnVpLm9saXZlLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5vbGl2ZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLm9saXZlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZDJlNzQ1O1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2E3YmQwZCwgLTFweCAwIDAgI2E3YmQwZCwgMCAxcHggMCAjYTdiZDBkLCAxcHggMCAwICNhN2JkMGQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLm9saXZlLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Q5ZTc3OCAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogI2I1Y2MxOCAwLjc4cHg7XG59XG4udWkuZ3JlZW4ucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjMmVjYzQwO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzIxYmE0NSwgLTFweCAwIDAgIzIxYmE0NSwgMCAxcHggMCAjMjFiYTQ1LCAxcHggMCAwICMyMWJhNDU7XG59XG4udWkuZ3JlZW4ucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLmdyZWVuLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkuZ3JlZW4ucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMxZWE5MmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjMTZhYjM5LCAtMXB4IDAgMCAjMTZhYjM5LCAwIDFweCAwICMxNmFiMzksIDFweCAwIDAgIzE2YWIzOTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkuZ3JlZW4ucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmVjYzQwIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjMjFiYTQ1IDAuNzhweDtcbn1cbi51aS50ZWFsLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogIzZkZmZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMwMGI1YWQsIC0xcHggMCAwICMwMGI1YWQsIDAgMXB4IDAgIzAwYjVhZCwgMXB4IDAgMCAjMDBiNWFkO1xufVxuLnVpLnRlYWwucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnRlYWwucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS50ZWFsLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjM2FmZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzAwOWM5NSwgLTFweCAwIDAgIzAwOWM5NSwgMCAxcHggMCAjMDA5Yzk1LCAxcHggMCAwICMwMDljOTU7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnRlYWwucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNmRmZmZmIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjMDBiNWFkIDAuNzhweDtcbn1cbi51aS5ibHVlLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogIzU0YzhmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMyMTg1ZDAsIC0xcHggMCAwICMyMTg1ZDAsIDAgMXB4IDAgIzIxODVkMCwgMXB4IDAgMCAjMjE4NWQwO1xufVxuLnVpLmJsdWUucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLmJsdWUucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5ibHVlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMjFiOGZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzE2NzhjMiwgLTFweCAwIDAgIzE2NzhjMiwgMCAxcHggMCAjMTY3OGMyLCAxcHggMCAwICMxNjc4YzI7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLmJsdWUucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNTRjOGZmIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjMjE4NWQwIDAuNzhweDtcbn1cbi51aS52aW9sZXQucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjYTI5MWZiO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzY0MzVjOSwgLTFweCAwIDAgIzY0MzVjOSwgMCAxcHggMCAjNjQzNWM5LCAxcHggMCAwICM2NDM1Yzk7XG59XG4udWkudmlvbGV0LnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS52aW9sZXQucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS52aW9sZXQucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICM3NDVhZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjNTgyOWJiLCAtMXB4IDAgMCAjNTgyOWJiLCAwIDFweCAwICM1ODI5YmIsIDFweCAwIDAgIzU4MjliYjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkudmlvbGV0LnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2EyOTFmYiAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzY0MzVjOSAwLjc4cHg7XG59XG4udWkucHVycGxlLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2RjNzNmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNhMzMzYzgsIC0xcHggMCAwICNhMzMzYzgsIDAgMXB4IDAgI2EzMzNjOCwgMXB4IDAgMCAjYTMzM2M4O1xufVxuLnVpLnB1cnBsZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucHVycGxlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkucHVycGxlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjY2Y0MGZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzk2MjdiYSwgLTFweCAwIDAgIzk2MjdiYSwgMCAxcHggMCAjOTYyN2JhLCAxcHggMCAwICM5NjI3YmE7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnB1cnBsZS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkYzczZmYgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNhMzMzYzggMC43OHB4O1xufVxuLnVpLnBpbmsucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjZmY4ZWRmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2UwMzk5NywgLTFweCAwIDAgI2UwMzk5NywgMCAxcHggMCAjZTAzOTk3LCAxcHggMCAwICNlMDM5OTc7XG59XG4udWkucGluay5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucGluay5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnBpbmsucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNmZjViZDE7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjZTYxYThkLCAtMXB4IDAgMCAjZTYxYThkLCAwIDFweCAwICNlNjFhOGQsIDFweCAwIDAgI2U2MWE4ZDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkucGluay5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZjhlZGYgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNlMDM5OTcgMC43OHB4O1xufVxuLnVpLmJyb3duLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2Q2N2MxYztcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNhNTY3M2YsIC0xcHggMCAwICNhNTY3M2YsIDAgMXB4IDAgI2E1NjczZiwgMXB4IDAgMCAjYTU2NzNmO1xufVxuLnVpLmJyb3duLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5icm93bi5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLmJyb3duLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjYjA2MjBmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzk3NWIzMywgLTFweCAwIDAgIzk3NWIzMywgMCAxcHggMCAjOTc1YjMzLCAxcHggMCAwICM5NzViMzM7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLmJyb3duLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Q2N2MxYyAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogI2E1NjczZiAwLjc4cHg7XG59XG4udWkuZ3JleS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNkY2RkZGU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjNzY3Njc2LCAtMXB4IDAgMCAjNzY3Njc2LCAwIDFweCAwICM3Njc2NzYsIDFweCAwIDAgIzc2NzY3Njtcbn1cbi51aS5ncmV5LnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5ncmV5LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkuZ3JleS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2MyYzRjNTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM4MzgzODMsIC0xcHggMCAwICM4MzgzODMsIDAgMXB4IDAgIzgzODM4MywgMXB4IDAgMCAjODM4MzgzO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5ncmV5LnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RjZGRkZSAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzc2NzY3NiAwLjc4cHg7XG59XG4udWkuYmxhY2sucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzFiMWMxZCwgLTFweCAwIDAgIzFiMWMxZCwgMCAxcHggMCAjMWIxYzFkLCAxcHggMCAwICMxYjFjMWQ7XG59XG4udWkuYmxhY2sucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLmJsYWNrLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkuYmxhY2sucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjMjcyOTJhLCAtMXB4IDAgMCAjMjcyOTJhLCAwIDFweCAwICMyNzI5MmEsIDFweCAwIDAgIzI3MjkyYTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkuYmxhY2sucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNTQ1NDU0IDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjMWIxYzFkIDAuNzhweDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBkaXNhYmxlZCByYXRpbmcgKi9cbi51aS5kaXNhYmxlZC5yYXRpbmcgLmljb24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVXNlciBJbnRlcmFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlbGVjdGVkIFJhdGluZyAqL1xuLnVpLnJhdGluZy5zZWxlY3RlZCAuYWN0aXZlLmljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnJhdGluZy5zZWxlY3RlZCAuaWNvbi5zZWxlY3RlZCxcbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5yYXRpbmcge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UucmF0aW5nIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5yYXRpbmcge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5yYXRpbmcge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5yYXRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2VhcmNoXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2VhcmNoXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2VhcmNoIFByb21wdCAqL1xuLyogTW9iaWxlICovXG4vKiBSZXN1bHQgQm94ICovXG4vKiBSZXN1bHQgKi9cbi8qIFJlc3VsdCBJbWFnZSAqL1xuLyogUmVzdWx0IENvbnRlbnQgKi9cbi8qIFJlc3VsdCBTY3JvbGxpbmcgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBQcmljZSAqL1xuLyogU3BlY2lhbCBNZXNzYWdlICovXG4vKiBBbGwgUmVzdWx0cyBMaW5rICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9jdXMgKi9cbi8qIEhvdmVyICovXG4vKiBMb2FkaW5nICovXG4vKiBBY3RpdmUgQ2F0ZWdvcnkgKi9cbi8qIEFjdGl2ZSBSZXN1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIENsZWFyYWJsZSAqL1xuLypcbiAqIFRpbWVzIGljb24gdGFrZW4gZnJvbSBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjQgYnkgQGZvbnRhd2Vzb21lIFtodHRwczovL2ZvbnRhd2Vzb21lLmNvbV1cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWVcbiAqL1xuLyogQ2F0ZWdvcnkgKi9cbi8qIFJlc2l6YWJsZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFNlYXJjaFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuc2VhcmNoID4gLnByb21wdCB7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCB0cmFuc3BhcmVudCBpbnNldDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG4udWkuc2VhcmNoIC5wcm9tcHQge1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWFyY2ggLnByb21wdCB+IC5zZWFyY2guaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0c1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICB3aWR0aDogMThlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIHotaW5kZXg6IDk5ODtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFJlc3VsdFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogSW1hZ2UgKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IDVlbTtcbiAgaGVpZ2h0OiAzZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJbmZvXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSArIC5jb250ZW50IHtcbiAgbWFyZ2luOiAwIDZlbSAwIDA7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAudGl0bGUge1xuICBtYXJnaW46IC0wLjE0Mjg1NzE0ZW0gMCAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLnByaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2UgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogVmlldyBBbGwgUmVzdWx0cyAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLmFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBwYWRkaW5nOiAwLjkyODU3MTQzZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWFyY2ggPiAucHJvbXB0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sb2FkaW5nLnNlYXJjaCAuaW5wdXQgPiBpLmljb246OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDAgMCAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5sb2FkaW5nLnNlYXJjaCAuaW5wdXQgPiBpLmljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdDpob3Zlcixcbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG59XG4udWkuc2VhcmNoIC5hY3Rpb246aG92ZXI6bm90KGRpdikge1xuICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjU7XG59XG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSA+IC5uYW1lIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUsXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHQuYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlzYWJsZWQgKi9cbi51aS5kaXNhYmxlZC5zZWFyY2gge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDbGVhciBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLmljb24uaW5wdXQgPiAucmVtb3ZlLmljb24ge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjY7XG59XG4udWkuc2VhcmNoID4gLmljb24uaW5wdXQgPiAucmVtb3ZlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC5pY29uIH4gLnJlbW92ZS5pY29uIHtcbiAgcmlnaHQ6IDEuODU3MTRlbTtcbn1cbi51aS5zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgb3BhY2l0eTogMC42O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM1MiA1MTInJTNFJTNDcGF0aCBkPSdNMjQyLjcgMjU2bDEwMC4xLTEwMC4xYzEyLjMtMTIuMyAxMi4zLTMyLjIgMC00NC41bC0yMi4yLTIyLjJjLTEyLjMtMTIuMy0zMi4yLTEyLjMtNDQuNSAwTDE3NiAxODkuMyA3NS45IDg5LjJjLTEyLjMtMTIuMy0zMi4yLTEyLjMtNDQuNSAwTDkuMiAxMTEuNWMtMTIuMyAxMi4zLTEyLjMgMzIuMiAwIDQ0LjVMMTA5LjMgMjU2IDkuMiAzNTYuMWMtMTIuMyAxMi4zLTEyLjMgMzIuMiAwIDQ0LjVsMjIuMiAyMi4yYzEyLjMgMTIuMyAzMi4yIDEyLjMgNDQuNSAwTDE3NiAzMjIuN2wxMDAuMSAxMDAuMWMxMi4zIDEyLjMgMzIuMiAxMi4zIDQ0LjUgMGwyMi4yLTIyLjJjMTIuMy0xMi4zIDEyLjMtMzIuMiAwLTQ0LjVMMjQyLjcgMjU2eicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQ7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xufVxuLnVpLnNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5sb2FkaW5nLnNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dCA+IGlucHV0OnBsYWNlaG9sZGVyLXNob3duIH4gLnJlbW92ZS5pY29uLFxuLnVpLnNlYXJjaC5sb2FkaW5nID4gLmljb24uaW5wdXQgPiAucmVtb3ZlLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIH4gLnJlbW92ZS5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENhdGVnb3J5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzIHtcbiAgd2lkdGg6IDI4ZW07XG59XG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLmFuaW1hdGluZyxcbi51aS5jYXRlZ29yeS5zZWFyY2ggLnJlc3VsdHMudmlzaWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLyogQ2F0ZWdvcnkgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLyogTGFzdCBDYXRlZ29yeSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi8qIEZpcnN0IC8gTGFzdCAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpmaXJzdC1jaGlsZCAubmFtZSArIC5yZXN1bHQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIC5yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4vKiBDYXRlZ29yeSBSZXN1bHQgTmFtZSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5uYW1lIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiAxMDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC40ZW0gMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qIENhdGVnb3J5IFJlc3VsdCAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0cyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LFxuLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLm5hbWUsXG4udWkuaG9yaXpvbnRhbC5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAucmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLnJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMsXG4udWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyxcbi51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxMi4xNzcxNDI4NmVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICBoZWlnaHQ6IDEyLjE3NzE0Mjg2ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTguMjY1NzE0MjllbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgaGVpZ2h0OiAxOC4yNjU3MTQyOWVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDI0LjM1NDI4NTcxZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIGhlaWdodDogMjQuMzU0Mjg1NzFlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMzYuNTMxNDI4NTdlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgaGVpZ2h0OiAzNi41MzE0Mjg1N2VtO1xuICB9XG59XG4udWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTIuMTc3MTQyODZlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogOS4xMzI4NTcxNGVtO1xuICB9XG4gIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAyNC4zNTQyODU3MWVtO1xuICB9XG4gIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDM2LjUzMTQyODU3ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNlYXJjaC5zaG9ydCA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxOC4yNjU3MTQyOWVtO1xuICB9XG4gIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxMy42OTkyODU3MWVtO1xuICB9XG4gIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAzNi41MzE0Mjg1N2VtO1xuICB9XG4gIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDU0Ljc5NzE0Mjg2ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNlYXJjaC5zaG9ydCA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAyNC4zNTQyODU3MWVtO1xuICB9XG4gIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxOC4yNjU3MTQyOWVtO1xuICB9XG4gIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiA0OC43MDg1NzE0M2VtO1xuICB9XG4gIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDczLjA2Mjg1NzE0ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMzYuNTMxNDI4NTdlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMjcuMzk4NTcxNDNlbTtcbiAgfVxuICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogNzMuMDYyODU3MTRlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDkuNTk0Mjg1NzFlbTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTGVmdCAvIFJpZ2h0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5zZWFyY2ggLnJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubWluaS5zZWFyY2gge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS50aW55LnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmJpZy5zZWFyY2gge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTW9iaWxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnNlYXJjaCAucmVzdWx0cyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMnJlbSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTaGFwZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTaGFwZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFuaW1hdGluZyAqL1xuLyogU2lkZSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEN1YmUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnNoYXBlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xufVxuLnVpLnNoYXBlIC5zaWRlLFxuLnVpLnNoYXBlIC5zaWRlcyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4udWkuc2hhcGUgLnNpZGUge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5zaGFwZSAuc2lkZSAqIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jdWJlLnNoYXBlIC5zaWRlIHtcbiAgbWluLXdpZHRoOiAxNWVtO1xuICBoZWlnaHQ6IDE1ZW07XG4gIHBhZGRpbmc6IDJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuLnVpLmN1YmUuc2hhcGUgLnNpZGUgPiAuY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuLnVpLmN1YmUuc2hhcGUgLnNpZGUgPiAuY29udGVudCA+IGRpdiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnRleHQuc2hhcGUuYW5pbWF0aW5nIC5zaWRlcyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG4udWkudGV4dC5zaGFwZSAuc2lkZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWkudGV4dC5zaGFwZSAuc2lkZSA+ICoge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubG9hZGluZy5zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNoYXBlIC5hbmltYXRpbmcuc2lkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAwO1xufVxuLnVpLnNoYXBlIC5oaWRkZW4uc2lkZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDU1Ncbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xufVxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbn1cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUgKixcbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGUgKiB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNoYXBlIC5hY3RpdmUuc2lkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2lkZWJhclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTaWRlYmFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBbmltYXRpb24gKi9cbi8qIERpbW1lciAqL1xuLyogQ29sb3IgYmVsb3cgcGFnZSAqL1xuLyogU2hhZG93ICovXG4vKiBMYXllcmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdpZHRoICovXG4vKiBIZWlnaHQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNpZGViYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTaWRlYmFyIE1lbnUgKi9cbi51aS5zaWRlYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuICB6LWluZGV4OiAxMDI7XG59XG4vKiBHUFUgTGF5ZXJzIGZvciBDaGlsZCBFbGVtZW50cyAqL1xuLnVpLnNpZGViYXIgPiAqIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIERpcmVjdGlvblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGVmdC5zaWRlYmFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LnNpZGViYXIge1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG4udWkudG9wLnNpZGViYXIsXG4udWkuYm90dG9tLnNpZGViYXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS50b3Auc2lkZWJhciB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLnNpZGViYXIge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQdXNoYWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUucHVzaGFibGUucHVzaGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbn1cbi5wdXNoYWJsZS5wdXNoYWJsZS5wdXNoYWJsZS5sb2NrZWQge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4vKiBXaG9sZSBQYWdlICovXG5ib2R5LnB1c2hhYmxlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cbmJvZHkucHVzaGFibGUuZGltbWVkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbi8qIFBhZ2UgQ29udGV4dCAqL1xuLnB1c2hhYmxlOm5vdChib2R5KSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5wdXNoYWJsZTpub3QoYm9keSkgPiAudWkuc2lkZWJhcixcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAuZml4ZWQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnB1c2hlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUgPiAuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHotaW5kZXg6IDEwMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgei1pbmRleDogMjtcbiAgLyogUHVzaGVyIHNob3VsZCBpbmhlcml0IGJhY2tncm91bmQgZnJvbSBjb250ZXh0ICovXG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4ucHVzaGFibGUgPiAucHVzaGVyOm5vdCgub3ZlcmZsb3dpbmcpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmJvZHkucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUgPiAucHVzaGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB6LWluZGV4OiAxMDAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2lkZWJhci5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lZFxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDo6YWZ0ZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLnB1c2hhYmxlID4gLnB1c2hlci5kaW1tZWQuYmx1cnJpbmc6bm90KC5jbG9zaW5nKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCkgZ3JheXNjYWxlKDAuNyk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xufVxuLnB1c2hhYmxlID4gLnB1c2hlci5jbG9zaW5nLmRpbW1lZDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYW5pbWF0aW5nLnNpZGViYXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmlzaWJsZS5zaWRlYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIFNoYWRvdyBEaXJlY3Rpb24gKi9cbi51aS5sZWZ0LnZpc2libGUuc2lkZWJhcixcbi51aS5yaWdodC52aXNpYmxlLnNpZGViYXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnRvcC52aXNpYmxlLnNpZGViYXIsXG4udWkuYm90dG9tLnZpc2libGUuc2lkZWJhciB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBWaXNpYmxlIE9uIExvYWQgKi9cbi51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI2MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI2MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUudG9wLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzNnB4LCAwKTtcbn1cbi51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUuYm90dG9tLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzZweCwgMCk7XG59XG4vKiBvcHBvc2l0ZSBzaWRlcyB2aXNpYmxlIGZvcmNlcyBjb250ZW50IG92ZXJsYXkgKi9cbi51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlcixcbi51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIGlPU1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMZWZ0IC8gUmlnaHQgKi9cbi51aS50aGluLmxlZnQuc2lkZWJhcixcbi51aS50aGluLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogMTUwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhcixcbi51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiA2MHB4O1xufVxuLnVpLmxlZnQuc2lkZWJhcixcbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDI2MHB4O1xufVxuLnVpLndpZGUubGVmdC5zaWRlYmFyLFxuLnVpLndpZGUucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiAzNTBweDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyLFxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDQ3NXB4O1xufVxuLyogTGVmdCBWaXNpYmxlICovXG4udWkudmlzaWJsZS50aGluLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzNTBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ3NXB4LCAwLCAwKTtcbn1cbi8qIFJpZ2h0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTM1MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDc1cHgsIDAsIDApO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgT3ZlcmxheVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2V0LXVwICovXG4udWkub3ZlcmxheS5zaWRlYmFyIHtcbiAgei1pbmRleDogMTAyO1xufVxuLyogSW5pdGlhbCAqL1xuLnVpLmxlZnQub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3Aub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiBBbmltYXRpb24gKi9cbi5hbmltYXRpbmcudWkub3ZlcmxheS5zaWRlYmFyLFxuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiBFbmQgLSBTaWRlYmFyICovXG4udWkudmlzaWJsZS5sZWZ0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5yaWdodC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnVpLnZpc2libGUudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIEVuZCAtIFB1c2hlciAqL1xuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBQdXNoXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbml0aWFsICovXG4udWkucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHotaW5kZXg6IDEwMjtcbn1cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG4udWkubGVmdC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20ucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFVuY292ZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluaXRpYWwgKi9cbi51aS51bmNvdmVyLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxO1xufVxuLyogRW5kICovXG4udWkudmlzaWJsZS51bmNvdmVyLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2xpZGUgQWxvbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluaXRpYWwgKi9cbi51aS5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgei1pbmRleDogMTtcbn1cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG4udWkubGVmdC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xufVxuLnVpLnRvcC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbn1cbi8qIEFuaW1hdGlvbiAqL1xuLnVpLmFuaW1hdGluZy5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTbGlkZSBPdXRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluaXRpYWwgKi9cbi51aS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHotaW5kZXg6IDE7XG59XG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuLnVpLmxlZnQuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xufVxuLnVpLnRvcC5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xufVxuLyogQW5pbWF0aW9uICovXG4udWkuYW5pbWF0aW5nLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2NhbGUgRG93blxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5pdGlhbCAqL1xuLnVpLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB6LWluZGV4OiAxMDI7XG59XG4udWkubGVmdC5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cbi8qIFB1c2hlciAtIEluaXRpYWwgKi9cbi51aS5zY2FsZS5kb3duLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24udG9wLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc1JTtcbn1cbi51aS5zY2FsZS5kb3duLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG59XG4vKiBBbmltYXRpb24gKi9cbi51aS5hbmltYXRpbmcuc2NhbGUuZG93biA+IC52aXNpYmxlLnVpLnNpZGViYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIsXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTdGlja3lcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGlja3lcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGlja3lcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgei1pbmRleDogODAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJvdW5kICovXG4udWkuc3RpY2t5LmJvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbi8qIEZpeGVkICovXG4udWkuc3RpY2t5LmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbi8qIEJvdW5kL0ZpeGVkIFBvc2l0aW9uICovXG4udWkuc3RpY2t5LmJvdW5kLnRvcCxcbi51aS5zdGlja3kuZml4ZWQudG9wIHtcbiAgdG9wOiAwO1xuICBib3R0b206IGF1dG87XG59XG4udWkuc3RpY2t5LmJvdW5kLmJvdHRvbSxcbi51aS5zdGlja3kuZml4ZWQuYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubmF0aXZlLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gVGFiXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUYWJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMb2FkaW5nICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBVSSBUYWJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnRhYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWIuYWN0aXZlLFxuLnVpLnRhYi5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGFiLmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAyNTBweDtcbn1cbi51aS50YWIubG9hZGluZyAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC0xMDAwMHB4ICFpbXBvcnRhbnQ7XG59XG4udWkudGFiLmxvYWRpbmc6OmJlZm9yZSxcbi51aS50YWIubG9hZGluZy5zZWdtZW50OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuMjVlbSAwIDAgLTEuMjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IDIuNWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLnRhYi5sb2FkaW5nOjphZnRlcixcbi51aS50YWIubG9hZGluZy5zZWdtZW50OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMS4yNWVtIDAgMCAtMS4yNWVtO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMi41ZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRhYiBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRvYXN0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVG9hc3RcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBDb250YWluZXIgKi9cbi8qIFRvYXN0ICovXG4vKiBNb2JpbGUgKi9cbi8qIG9uIEhvdmVyICovXG4vKiBDb2xvciB2YXJpYXRpb25zICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogUHJvZ3Jlc3NiYXIgQ29sb3JzICovXG4vKiBDbG9zZSBJY29uICovXG4vKiBBY3Rpb25zICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRvYXN0IGNvbnRhaW5lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS50b2FzdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4udWkudG9hc3QtY29udGFpbmVyLmFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudmVydGljYWwuYXR0YWNoZWQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZC51aS51aSAuYXR0YWNoZWQuYWN0aW9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQgLnRvYXN0LWJveCB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3ggPiAudWkudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3ggPiAudWkubWVzc2FnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94LmZsb2F0aW5nLFxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94LmhvdmVyZmxvYXRpbmc6aG92ZXIge1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3ggPiAudmVydGljYWwgPiAuY29udGVudCB7XG4gIGZsZXg6IDE7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3ggPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3ggPiAqID4gLnZlcnRpY2FsOm5vdCguYWN0aW9ucykge1xuICBmbGV4OiAxO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gLmF0dGFjaGVkLmFjdGlvbnMge1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQudG9wIHtcbiAgdG9wOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZC5ib3R0b20ge1xuICBib3R0b206IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnRvcC5yaWdodCB7XG4gIHRvcDogMC44NTcxNDI4NmVtO1xuICByaWdodDogMC44NTcxNDI4NmVtO1xuICBtYXJnaW4tbGVmdDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci50b3AubGVmdCB7XG4gIHRvcDogMC44NTcxNDI4NmVtO1xuICBsZWZ0OiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbi1yaWdodDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci50b3AuY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdG9wOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyLmJvdHRvbS5yaWdodCB7XG4gIGJvdHRvbTogMC44NTcxNDI4NmVtO1xuICByaWdodDogMC44NTcxNDI4NmVtO1xuICBtYXJnaW4tbGVmdDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5ib3R0b20ubGVmdCB7XG4gIGJvdHRvbTogMC44NTcxNDI4NmVtO1xuICBsZWZ0OiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbi1yaWdodDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5ib3R0b20uY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgYm90dG9tOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyLmNlbnRlcmVkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC52aXNpYmxlLnRvYXN0LWJveCxcbi51aS50b2FzdC1jb250YWluZXIgLmFuaW1hdGluZy50b2FzdC1ib3gsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi51aS50b2FzdC1jb250YWluZXIuaG9yaXpvbnRhbCAudG9hc3QtYm94IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3g6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94Om5vdCgudW5jbGlja2FibGUpOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94LmZsb2F0aW5nLFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94LmhvdmVyZmxvYXRpbmc6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveC5pbnZlcnRlZC5mbG9hdGluZyxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveC5pbnZlcnRlZC5ob3ZlcmZsb2F0aW5nOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjEpLCAwIDJweCAxMHB4IDAgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuNSk7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3guY29tcGFjdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5jb21wYWN0IHtcbiAgd2lkdGg6IDM1MHB4O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2Uge1xuICBtYXJnaW46IDAgLTFweCAtMC4wMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICB6LWluZGV4OiAxO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzLmJvdHRvbSB7XG4gIG1hcmdpbjogLTAuMmVtIC0xcHggLTAuMDFlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy50b3Age1xuICBtYXJnaW46IC0wLjAxZW0gLTFweCAtMC4yZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy5pbmZvIC5iYXIuYmFyLmJhciB7XG4gIGJhY2tncm91bmQ6ICMxMmExYmY7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3Mud2FybmluZyAuYmFyLmJhci5iYXIge1xuICBiYWNrZ3JvdW5kOiAjY2Y5YjBkO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzLnN1Y2Nlc3MgLmJhci5iYXIuYmFyIHtcbiAgYmFja2dyb3VuZDogIzE1NzkyZDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy5lcnJvciAuYmFyLmJhci5iYXIge1xuICBiYWNrZ3JvdW5kOiAjOWMxYTFhO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzLm5ldXRyYWwgLmJhci5iYXIuYmFyIHtcbiAgYmFja2dyb3VuZDogI2Q5ZDlkOTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlID4gLmNsb3NlLmljb24ge1xuICB0b3A6IDAuM2VtO1xuICByaWdodDogMC4zZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAudWkubWVzc2FnZSA+IC5hY3Rpb25zOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAtMWVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UuaWNvbiB7XG4gIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UuaWNvbiA+IDpub3QoLmljb24pOm5vdCguYWN0aW9ucykge1xuICBwYWRkaW5nLWxlZnQ6IDVyZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAudWkubWVzc2FnZS5pY29uID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0cmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UuaWNvbjpub3QoLnZlcnRpY2FsKS5hY3Rpb25zID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEuMmVtKTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UuaWNvbjpub3QoLnZlcnRpY2FsKS5pY29uLmljb24uaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS50b2FzdCA+IC5jbG9zZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLnRvYXN0ID4gLmNsb3NlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS50b2FzdC52ZXJ0aWNhbCA+IC5jbG9zZS5pY29uIHtcbiAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjNlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkgPiAuY2xvc2UuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjNlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkgPiAuY2xvc2UuaWNvbjpub3QoLmxlZnQpIHtcbiAgcmlnaHQ6IDAuM2VtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC5jbG9zZS5pY29uLmxlZnQge1xuICBtYXJnaW4tbGVmdDogLTAuM2VtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkIHtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLmJvdHRvbSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLmJvdHRvbS5ob3Jpem9udGFsID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS5ib3R0b20uaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLmNhcmQuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCkudG9wIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLmNhcmQuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCkudG9wLmhvcml6b250YWwgPiAuaW1hZ2UgPiBpbWcge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLnRvcC5ob3Jpem9udGFsID4gLmltYWdlOmxhc3QtY2hpbGQgPiBpbWcge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5ob3Jpem9udGFsLmFjdGlvbnMgPiAuaW1hZ2UgPiBpbWcge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmhvcml6b250YWwuYWN0aW9ucyA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnByb2dyZXNzaW5nIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5wcm9ncmVzc2luZy51cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzc1VwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5wcm9ncmVzc2luZy5kb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHByb2dyZXNzRG93bjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAucHJvZ3Jlc3Npbmcud2FpdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzc1dhaXQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3g6aG92ZXIgLnBhdXNhYmxlLnByb2dyZXNzaW5nIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KTpub3QoLmNhcmQpIC5hY3Rpb25zIHtcbiAgbWFyZ2luOiAwLjVlbSAtMWVtIC0xZW0gLTFlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAuYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAuNzVlbSAwLjVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLmFjdGlvbnMuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCkge1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAuYWN0aW9uczpub3QoLmJhc2ljKTpub3QoLmF0dGFjaGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLmFjdGlvbnMubGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnZlcnRpY2FsLmFjdGlvbnMgPiAuYnV0dG9uLFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnZlcnRpY2FsID4gLnZlcnRpY2FsLnZlcnRpY2FsLFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnZlcnRpY2FsLnZlcnRpY2FsLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAudmVydGljYWwuYWN0aW9ucyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnMgPiAuYnV0dG9uIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnMuYXR0YWNoZWQgPiAuYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAudmVydGljYWwuYWN0aW9uczpub3QoLmF0dGFjaGVkKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIG1hcmdpbi10b3A6IC0wLjc1ZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjc1ZW07XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zOm5vdCguYXR0YWNoZWQpOm5vdCguYmFzaWMpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkgPiAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAudmVydGljYWwuYWN0aW9uczpub3QoLmF0dGFjaGVkKS50b3Age1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkuYm90dG9tIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmNhcmQgPiAuaW1hZ2UgPiBpbWcge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkOm5vdCgubGVmdCkuY2FyZCxcbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLnRvYXN0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkOm5vdCgubGVmdCkuYWN0aW9ucyB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmFjdGlvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmFjdGlvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLm1lc3NhZ2Uge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0LmNhcmQgPiAuaW1hZ2UgPiBpbWcge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkLmxlZnQuY2FyZC5ob3Jpem9udGFsID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0LmNhcmQsXG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC50b2FzdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC5hY3Rpb25zIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0LmFjdGlvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0LmFjdGlvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkLmxlZnQubWVzc2FnZS5tZXNzYWdlLm1lc3NhZ2Uge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCk6bm90KC50b3ApLmFjdGlvbnMge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKTpub3QoLnRvcCkuYWN0aW9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKTpub3QoLnRvcCkuYWN0aW9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS50b3AuYWN0aW9ucyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLnRvcC5hY3Rpb25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLnRvcC5hY3Rpb25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRvYXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnRvYXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDFlbTtcbiAgbWFyZ2luOiAwIC0xcHggLTAuMDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkudG9hc3QgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbn1cbi51aS50b2FzdC5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxY2NlYztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS50b2FzdC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyYzAzNztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS50b2FzdC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS50b2FzdC5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudG9hc3QubmV1dHJhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnRvYXN0ID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKTpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcikgPiBpLmljb246bm90KC5jbG9zZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCk6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpID4gLnVpLmltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gaS5pY29uOm5vdCguY2xvc2UpICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC5jbG9zZS5pY29uICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gLnVpLmltYWdlLmF2YXRhciArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC51aS5pbWFnZS5taW5pICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDMuNGVtO1xuICBtaW4taGVpZ2h0OiAzNXB4O1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gLnVpLmltYWdlLnRpbnkgKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogN2VtO1xuICBtaW4taGVpZ2h0OiA4MHB4O1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gLnVpLmltYWdlLnNtYWxsICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDEyZW07XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpOm5vdCguY2VudGVyZWQpOm5vdCguY2VudGVyKSA+IC5jZW50ZXJlZC5pbWFnZSxcbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKTpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcikgPiAuY2VudGVyZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG59XG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkuYWN0aW9ucyA+IC5jZW50ZXJlZC5pbWFnZSB7XG4gIHRvcDogY2FsYyg1MCUgLSAyZW0pO1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpLmFjdGlvbnMgPiAuY2VudGVyZWQuaWNvbiB7XG4gIHRvcDogY2FsYyg1MCUgLSAxLjJlbSk7XG59XG4udWkudG9hc3QudmVydGljYWwgPiAuY29udGVudCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi51aS50b2FzdC52ZXJ0aWNhbC5hdHRhY2hlZCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi51aS50b2FzdC52ZXJ0aWNhbCA+IC5jbG9zZS5pY29uICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cbi51aS50b2FzdC52ZXJ0aWNhbCA+IC51aS5pbWFnZSArIC5jb250ZW50LFxuLnVpLnRvYXN0LnZlcnRpY2FsID4gaS5pY29uOm5vdCguY2xvc2UpICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cbi51aS50b2FzdC52ZXJ0aWNhbCA+IC51aS5pbWFnZSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICAvKiBJRTExIGZpeCAqL1xufVxuLnVpLnRvYXN0LnZlcnRpY2FsID4gLmNlbnRlcmVkLmltYWdlLFxuLnVpLnRvYXN0LnZlcnRpY2FsID4gLmNlbnRlcmVkLmljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkudG9hc3QuYXR0YWNoZWQuYm90dG9tIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QuYXR0YWNoZWQudG9wIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QudWkudWkudWkuaW1hZ2Uge1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLnRvYXN0LnVpLnVpLnVpLmltYWdlID4gLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG4udWkudG9hc3QudWkudWkudWkuaW1hZ2UgPiAuYWN0aW9ucyB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS50b2FzdC51aS51aS51aS5pbWFnZSA+IC51aS5pbWFnZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudG9hc3QudWkudWkudWkuaW1hZ2UgPiAudWkuaW1hZ2UubWluaSB7XG4gIG1pbi13aWR0aDogY2FsYygwLjc4NTcxNDI4NTcxNDI4NTdlbSArIDM1cHgpO1xufVxuLnVpLnRvYXN0LnVpLnVpLnVpLmltYWdlID4gLnVpLmltYWdlLm1pbmkgKyAuY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMC43ODU3MTQyODU3MTQyODU3ZW0gKyAzNXB4KTtcbiAgcGFkZGluZy1sZWZ0OiA0LjRlbTtcbn1cbi51aS5ob3ZlcmZsb2F0aW5nLm1lc3NhZ2U6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmNlbnRlci50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCxcbi51aS5yaWdodC50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLnVpLmNlbnRlci50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQudG9hc3QsXG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLnRvYXN0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQudG9hc3QgPiAuY29udGVudCxcbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyLmFsaWduZWQudG9hc3QgPiAuY29udGVudCxcbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQudG9hc3QgPiAudWkuaW1hZ2UsXG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLnRvYXN0ID4gLnVpLmltYWdlLFxuLnVpLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXJlZC50b2FzdCA+IGkuaWNvbjpub3QoLmNsb3NlKSxcbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyLmFsaWduZWQudG9hc3QgPiBpLmljb246bm90KC5jbG9zZSkge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnRvYXN0IC5jZW50ZXJlZC5jb250ZW50LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC50b2FzdCAuY2VudGVyLmFsaWduZWQuY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQuYWN0aW9ucyxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyLmFsaWduZWQuYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQuYWN0aW9uczpub3QoLmF0dGFjaGVkKSA+IC5idXR0b246bm90KC5mbHVpZCksXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkgPiAuYnV0dG9uOm5vdCguZmx1aWQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5wcmltYXJ5LmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5zZWNvbmRhcnkudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5zZWNvbmRhcnkuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnJlZC50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLnJlZC5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjk1ZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkub3JhbmdlLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQub3JhbmdlLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NTFiO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS55ZWxsb3cudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnllbGxvdy50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC55ZWxsb3cuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUyMWY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLm9saXZlLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5vbGl2ZS5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuZ3JlZW4udG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmdyZWVuLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLmdyZWVuLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzQwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS50ZWFsLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLnRlYWwuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZGZmZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmJsdWUudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmJsdWUudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQuYmx1ZS5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudmlvbGV0LnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQudmlvbGV0LmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI5MWZiO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5wdXJwbGUudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5wdXJwbGUuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzczZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnBpbmsudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnBpbmsudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQucGluay5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuYnJvd24udG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmJyb3duLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLmJyb3duLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY3YzFjO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5ncmV5LnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLmdyZXkuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RkZGU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmJsYWNrLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5ibGFjay5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW52ZXJ0ZWQudG9hc3Qge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjBweCkge1xuICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gudG9hc3QtYm94LFxuICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuY29tcGFjdCxcbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnZlcnRpY2FsID4gKixcbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gKiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+ICo6bm90KC52ZXJ0aWNhbCkge1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gIH1cbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLmNhcmQuaG9yaXpvbnRhbCxcbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnZlcnRpY2FsID4gLnVpLmhvcml6b250YWwuY2FyZCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS1cbiAgIFByb2dyZXNzIEJhclxuIC0tLS0tLS0tLS0tLS0tLS0gKi9cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NEb3duIHtcbiAgMCUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzVXAge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NXYWl0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRyYW5zaXRpb25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVHJhbnNpdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVHJhbnNpdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLnRyYW5zaXRpb24ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8qIExvYWRpbmcgKi9cbi5sb2FkaW5nLnRyYW5zaXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4O1xufVxuLyogSGlkZGVuICovXG4uaGlkZGVuLnRyYW5zaXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBWaXNpYmxlICovXG4udmlzaWJsZS50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAvKiBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xuICAgICAgdHJhbnNmb3JtOiBAdXNlM0RBY2NlbGVyYXRpb247ICovXG59XG4vKiBEaXNhYmxlZCAqL1xuLmRpc2FibGVkLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxvb3BpbmcudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuLyogUHVsc2F0aW5nICovXG4ucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2F0aW5nO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNSk7XG59XG4uaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbkBrZXlmcmFtZXMgcHVsc2F0aW5nIHtcbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC44cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbn1cbi5wcmltYXJ5LnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDEwOCwgNTQsIDEwMywgMC41KTtcbn1cbi5wcmltYXJ5LmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDg0LCAyMDAsIDI1NSwgMC43KTtcbn1cbi5zZWNvbmRhcnkucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTM2LCAyMTEsIDIzLCAwLjUpO1xufVxuLnNlY29uZGFyeS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg4NCwgODQsIDg0LCAwLjcpO1xufVxuLnJlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMTksIDQwLCA0MCwgMC41KTtcbn1cbi5yZWQuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAxMDUsIDk0LCAwLjcpO1xufVxuLm9yYW5nZS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNDIsIDExMywgMjgsIDAuNSk7XG59XG4ub3JhbmdlLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMTMzLCAyNywgMC43KTtcbn1cbi55ZWxsb3cucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjUxLCAxODksIDgsIDAuNSk7XG59XG4ueWVsbG93LmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjI2LCAzMSwgMC43KTtcbn1cbi5vbGl2ZS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxODEsIDIwNCwgMjQsIDAuNSk7XG59XG4ub2xpdmUuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjE3LCAyMzEsIDEyMCwgMC43KTtcbn1cbi5ncmVlbi5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzMywgMTg2LCA2OSwgMC41KTtcbn1cbi5ncmVlbi5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg0NiwgMjA0LCA2NCwgMC43KTtcbn1cbi50ZWFsLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDE4MSwgMTczLCAwLjUpO1xufVxuLnRlYWwuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTA5LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5ibHVlLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDMzLCAxMzMsIDIwOCwgMC41KTtcbn1cbi5ibHVlLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDg0LCAyMDAsIDI1NSwgMC43KTtcbn1cbi52aW9sZXQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTAwLCA1MywgMjAxLCAwLjUpO1xufVxuLnZpb2xldC5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNjIsIDE0NSwgMjUxLCAwLjcpO1xufVxuLnB1cnBsZS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNjMsIDUxLCAyMDAsIDAuNSk7XG59XG4ucHVycGxlLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIyMCwgMTE1LCAyNTUsIDAuNyk7XG59XG4ucGluay5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMjQsIDU3LCAxNTEsIDAuNSk7XG59XG4ucGluay5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDE0MiwgMjIzLCAwLjcpO1xufVxuLmJyb3duLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDE2NSwgMTAzLCA2MywgMC41KTtcbn1cbi5icm93bi5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMTQsIDEyNCwgMjgsIDAuNyk7XG59XG4uZ3JleS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxMTgsIDExOCwgMTE4LCAwLjUpO1xufVxuLmdyZXkuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjIwLCAyMjEsIDIyMiwgMC43KTtcbn1cbi5ibGFjay5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNywgMjgsIDI5LCAwLjUpO1xufVxuLmJsYWNrLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDg0LCA4NCwgODQsIDAuNyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcbiAgU29tZSB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gQW5pbWF0ZSBDU1NcbiAgaHR0cHM6Ly9naXRodWIuY29tL2RhbmVkZW4vYW5pbWF0ZS5jc3NcblxuICBBZGRpdGlvbmFsIHRyYW5zaXRpb25zIGFkYXB0ZWQgZnJvbSBHbGlkZVxuICBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG4qL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJyb3dzZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnRyYW5zaXRpb24uYnJvd3NlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBicm93c2VJbjtcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5vdXQsXG4udHJhbnNpdGlvbi5icm93c2UubGVmdC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0TGVmdDtcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5yaWdodC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0UmlnaHQ7XG59XG4vKiBJbiAqL1xuQGtleWZyYW1lcyBicm93c2VJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDApO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgYnJvd3NlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWCgwKTtcbiAgfVxuICA1MCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCkgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBicm93c2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWCgwKTtcbiAgfVxuICA1MCUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCkgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERyb3BcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi5kcm9wLnRyYW5zaXRpb24ge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICBhbmltYXRpb24tZHVyYXRpb246IDQwMG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKTtcbn1cbi5kcm9wLnRyYW5zaXRpb24uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZHJvcEluO1xufVxuLmRyb3AudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZHJvcE91dDtcbn1cbi8qIERyb3AgKi9cbkBrZXlmcmFtZXMgZHJvcEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZHJvcE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZhZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi50cmFuc2l0aW9uLmZhZGUuaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuLnRyYW5zaXRpb24uZmFkZS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsaXBzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4uZmxpcC50cmFuc2l0aW9uLmluLFxuLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDYwMG1zO1xufVxuLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwSW47XG59XG4uaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwT3V0O1xufVxuLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBJbjtcbn1cbi52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcE91dDtcbn1cbi8qIEluICovXG5Aa2V5ZnJhbWVzIGhvcml6b250YWxGbGlwSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdmVydGljYWxGbGlwSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHZlcnRpY2FsRmxpcE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTY2FsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnNjYWxlLnRyYW5zaXRpb24uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVJbjtcbn1cbi5zY2FsZS50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzY2FsZU91dDtcbn1cbkBrZXlmcmFtZXMgc2NhbGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzY2FsZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbndhcmQgKi9cbi50cmFuc2l0aW9uLmZseSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuLnRyYW5zaXRpb24uZmx5LmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbn1cbi8qIE91dHdhcmQgKi9cbi50cmFuc2l0aW9uLmZseS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRVcDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXREb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dExlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dFJpZ2h0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgZmx5SW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgZmx5T3V0IHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTbGlkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnRyYW5zaXRpb24uc2xpZGUuaW4sXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSByaWdodFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbi5zbGlkZS5vdXQsXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSB1cFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgbGVmdFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSByaWdodFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cbi8qIEluICovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5ZIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluWCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzbGlkZU91dFkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTd2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnRyYW5zaXRpb24uc3dpbmcge1xuICBhbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5YO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgcmlnaHRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLnRyYW5zaXRpb24uc3dpbmcub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG4vKiBJbiAqL1xuQGtleWZyYW1lcyBzd2luZ0luWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nSW5ZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwKTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpbmdPdXRZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDApO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgWm9vbVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnRyYW5zaXRpb24uem9vbS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG4udHJhbnNpdGlvbi56b29tLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgU3RhdGljIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEVtcGhhc2lzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5mbGFzaC50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuLnNoYWtlLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG4uYm91bmNlLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xufVxuLnRhZGEudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuLnB1bHNlLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG4uamlnZ2xlLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogamlnZ2xlO1xufVxuLnRyYW5zaXRpb24uZ2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwMG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG4udHJhbnNpdGlvbi5nbG93IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGdsb3c7XG59XG4vKiBGbGFzaCAqL1xuQGtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIFNoYWtlICovXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuLyogQm91bmNlICovXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgfVxufVxuLyogVGFkYSAqL1xuQGtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAlLFxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuLyogUHVsc2UgKi9cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi8qIEppZ2dsZSAqL1xuQGtleWZyYW1lcyBqaWdnbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLyogR2xvdyAqL1xuQGtleWZyYW1lcyBnbG93IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmQ7XG4gIH1cbiAgMzAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNmNkO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmQ7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFJlc2V0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJnbG9iYWxcIjtcbkBlbGVtZW50OiBcInJlc2V0XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJlc2V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBCb3JkZXItQm94ICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBpUGFkIElucHV0IFNoYWRvd3MgKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLyogbW9iaWxlIGZpcmVmb3ggdG9vISAqL1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy81MTlcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tZHVwbGljYXRlLW5hbWVzXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvNTE5XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLWR1cGxpY2F0ZS1uYW1lc1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AdGhlbWU6IGlmKEBAZWxlbWVudCA9IFwiZGVmYXVsdFwiLCBcIlwiLCBAQGVsZW1lbnQpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG5AaW1wb3J0IFwiQHt0aGVtZXNGb2xkZXJ9L2RlZmF1bHQvZ2xvYmFscy9zaXRlLnZhcmlhYmxlc1wiO1xuXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuQGltcG9ydCAob3B0aW9uYWwpIFwiQHt0aGVtZXNGb2xkZXJ9L0B7c2l0ZX0vZ2xvYmFscy9zaXRlLnZhcmlhYmxlc1wiO1xuXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuQGltcG9ydCAob3B0aW9uYWwpIFwiQHt0aGVtZXNGb2xkZXJ9L0B7dGhlbWV9L2dsb2JhbHMvc2l0ZS52YXJpYWJsZXNcIjtcblxuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuQGltcG9ydCAob3B0aW9uYWwpIFwiQHtzaXRlRm9sZGVyfS9nbG9iYWxzL3NpdGUudmFyaWFibGVzXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogRGVmYXVsdCAqL1xuQGltcG9ydCBcIkB7dGhlbWVzRm9sZGVyfS9kZWZhdWx0L0B7dHlwZX1zL0B7ZWxlbWVudH0udmFyaWFibGVzXCI7XG5cbi8qIFBhY2thZ2VkIFRoZW1lICovXG5AaW1wb3J0IChvcHRpb25hbCkgXCJAe3RoZW1lc0ZvbGRlcn0vQHt0aGVtZX0vQHt0eXBlfXMvQHtlbGVtZW50fS52YXJpYWJsZXNcIjtcblxuLyogU2l0ZSBUaGVtZSAqL1xuQGltcG9ydCAob3B0aW9uYWwpIFwiQHtzaXRlRm9sZGVyfS9Ae3R5cGV9cy9Ae2VsZW1lbnR9LnZhcmlhYmxlc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogRGVmYXVsdCAqL1xuQGltcG9ydCBcIkB7dGhlbWVzRm9sZGVyfS9kZWZhdWx0L2dsb2JhbHMvY29sb3JzLmxlc3NcIjtcblxuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7dGhlbWVzRm9sZGVyfS9Ae3NpdGV9L2dsb2JhbHMvY29sb3JzLmxlc3NcIjtcblxuLyogUGFja2FnZWQgVGhlbWUgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7dGhlbWVzRm9sZGVyfS9Ae3RoZW1lfS9nbG9iYWxzL2NvbG9ycy5sZXNzXCI7XG5cbi8qIFNpdGUgVGhlbWUgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7c2l0ZUZvbGRlcn0vZ2xvYmFscy9jb2xvcnMubGVzc1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5sb2FkRm9udHMoKSB7XG4gICAgJiB3aGVuIChAaW1wb3J0R29vZ2xlRm9udHMpIHtcbiAgICAgICAgQGltcG9ydCAoY3NzKSB1cmwoXCJAe2dvb2dsZUZvbnRVcmx9XCIpO1xuICAgIH1cbiAgICAmIHdoZW4gKEBpbXBvcnRGb250cykgYW5kIG5vdCAoQGZvbnROYW1lID0gXCJcIikge1xuICAgICAgICBlYWNoKEBmb250cywge1xuICAgICAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICAgICAgZWFjaChAdmFsdWUsIHtcbiAgICAgICAgICAgICAgICAgICAgQHtrZXl9OiBAdmFsdWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBLZWVwIGVtcHR5IG1peGluIGluIGNhc2Ugb2YgY3VzdG9tIGNvbXBvbmVudHMgdXNpbmcgaXQgc28gdGhleSBkb250IGJyZWFrXG4ubG9hZFVJT3ZlcnJpZGVzKCkge1xuICAgIC8qIGxvYWRVSU92ZXJyaWRlcyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMi4xMC4wXG4gICAgICAgUmVwbGFjZSBtaXhpbiBjYWxsIGJ5XG4gICAgICAgICAgQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4gICAgICAgaW5zdGVhZFxuICAgICovXG59XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTaXRlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJnbG9iYWxcIjtcbkBlbGVtZW50OiBcInNpdGVcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmxvYWRGb250cygpO1xuXG5odG1sLFxuYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5odG1sIHtcbiAgICBmb250LXNpemU6IEBlbVNpemU7XG59XG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IEBwYWdlT3ZlcmZsb3dYO1xuICAgIG1pbi13aWR0aDogQHBhZ2VNaW5XaWR0aDtcbiAgICBiYWNrZ3JvdW5kOiBAcGFnZUJhY2tncm91bmQ7XG4gICAgZm9udC1mYW1pbHk6IEBwYWdlRm9udDtcbiAgICBmb250LXNpemU6IEBmb250U2l6ZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSGVhZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSB7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbiAgICBtYXJnaW46IEBoZWFkZXJNYXJnaW47XG4gICAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmgxIHtcbiAgICBtaW4taGVpZ2h0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogQGgxO1xufVxuaDIge1xuICAgIGZvbnQtc2l6ZTogQGgyO1xufVxuaDMge1xuICAgIGZvbnQtc2l6ZTogQGgzO1xufVxuaDQge1xuICAgIGZvbnQtc2l6ZTogQGg0O1xufVxuaDUge1xuICAgIGZvbnQtc2l6ZTogQGg1O1xufVxuXG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5oMTpsYXN0LWNoaWxkLFxuaDI6bGFzdC1jaGlsZCxcbmgzOmxhc3QtY2hpbGQsXG5oNDpsYXN0LWNoaWxkLFxuaDU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5wIHtcbiAgICBtYXJnaW46IEBwYXJhZ3JhcGhNYXJnaW47XG4gICAgbGluZS1oZWlnaHQ6IEBwYXJhZ3JhcGhMaW5lSGVpZ2h0O1xufVxucDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbnA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYSB7XG4gICAgY29sb3I6IEBsaW5rQ29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGlua1VuZGVybGluZTtcbn1cbmE6aG92ZXIge1xuICAgIGNvbG9yOiBAbGlua0hvdmVyQ29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGlua0hvdmVyVW5kZXJsaW5lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2Nyb2xsYmFyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdXNlQ3VzdG9tU2Nyb2xsYmFycykge1xuICAgIC8qIEZvcmNlIFNpbXBsZSBTY3JvbGxiYXJzICovXG4gICAgYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB3aWR0aDogQGN1c3RvbVNjcm9sbGJhcldpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBjdXN0b21TY3JvbGxiYXJIZWlnaHQ7XG4gICAgfVxuICAgIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0cmFja0JhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEB0cmFja0JvcmRlclJhZGl1cztcbiAgICB9XG4gICAgYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdGh1bWJCb3JkZXJSYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IEB0aHVtYlRyYW5zaXRpb247XG4gICAgfVxuICAgIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbmFjdGl2ZUJhY2tncm91bmQ7XG4gICAgfVxuICAgIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkhvdmVyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgIGJvZHkgLnVpIHtcbiAgICAgICAgICAgIC8qIElFMTEgKi9cbiAgICAgICAgICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiBAdGh1bWJCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogQHRodW1iQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogQHRyYWNrQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogQHRyYWNrQmFja2dyb3VuZEhleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICBib2R5IC51aSB7XG4gICAgICAgICAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6IEB0aHVtYkJhY2tncm91bmQgQHRyYWNrQmFja2dyb3VuZDtcbiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEludmVydGVkIFVJICovXG4gICAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEluYWN0aXZlQmFja2dyb3VuZDtcbiAgICB9XG4gICAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpIHtcbiAgICAgICAgICAgIC8qIElFMTEgKi9cbiAgICAgICAgICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKSB7XG4gICAgICAgICAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZCBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgSGlnaGxpZ2h0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBTaXRlICovXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGhpZ2hsaWdodEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBoaWdobGlnaHRDb2xvcjtcbn1cblxuLyogRm9ybSAqL1xudGV4dGFyZWE6OnNlbGVjdGlvbixcbmlucHV0OjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dEhpZ2hsaWdodEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBpbnB1dEhpZ2hsaWdodENvbG9yO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ3VzdG9tIFNlbWFudGljIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogR2VuZXJhbCBDb2xvcnMgKi9cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSFpbXBvcnRhbnQ7XG59XG4uY29sb3Ige1xuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGNvbG9yOiBAcHJpbWFyeUNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgJi5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnlDb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBjb2xvcjogQHNlY29uZGFyeUNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgJi5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNlY29uZGFyeUNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogR2VuZXJhbCBUZXh0IHRyYW5zZm9ybWVycyAqL1xuLnRleHQge1xuICAgICYuYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnVpLmZvcm0gLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBCdXR0b25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImJ1dHRvblwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEljb246IGlmKEB2YXJpYXRpb25CdXR0b25JY29uLCBlKFwiOm5vdCguaWNvbilcIikpO1xuQG5vdEFuaW1hdGVkOiBpZihAdmFyaWF0aW9uQnV0dG9uQW5pbWF0ZWQsIGUoXCI6bm90KC5hbmltYXRlZClcIikpO1xuQG5vdExhYmVsZWQ6IGlmKEB2YXJpYXRpb25CdXR0b25MYWJlbGVkLCBlKFwiOm5vdCgubGFiZWxlZClcIikpO1xuQG5vdENvbXBhY3Q6IGlmKEB2YXJpYXRpb25CdXR0b25Db21wYWN0LCBlKFwiOm5vdCguY29tcGFjdClcIikpO1xuQG5vdFNwYWNlZDogaWYoQHZhcmlhdGlvbkJ1dHRvblNwYWNlZCwgZShcIjpub3QoLnNwYWNlZClcIikpO1xuQG5vdENpcmN1bGFyOiBpZihAdmFyaWF0aW9uQnV0dG9uQ2lyY3VsYXIsIGUoXCI6bm90KC5jaXJjdWxhcilcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuQG5vdEludmVydGVkOiBpZihAdmFyaWF0aW9uQnV0dG9uSW52ZXJ0ZWQsIGUoXCI6bm90KC5pbnZlcnRlZClcIikpO1xuQG5vdEJhc2ljOiBpZihAdmFyaWF0aW9uQnV0dG9uQmFzaWMsIGUoXCI6bm90KC5iYXNpYylcIikpO1xuQG5vdEF0dGFjaGVkOiBpZihAdmFyaWF0aW9uQnV0dG9uQXR0YWNoZWQsIGUoXCI6bm90KC5hdHRhY2hlZClcIikpO1xuQG5vdFdyYXBwaW5nOiBpZihAdmFyaWF0aW9uQnV0dG9uV3JhcHBpbmcsIGUoXCI6bm90KC53cmFwcGluZylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQnV0dG9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgZm9udC1mYW1pbHk6IEBmb250RmFtaWx5O1xuICAgIG1hcmdpbjogMCBAaG9yaXpvbnRhbE1hcmdpbiBAdmVydGljYWxNYXJnaW4gMDtcbiAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZyAoQHZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAdGV4dFRyYW5zZm9ybTtcbiAgICB0ZXh0LXNoYWRvdzogQHRleHRTaGFkb3c7XG4gICAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgd2lsbC1jaGFuZ2U6IEB3aWxsQ2hhbmdlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogQHRhcENvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGhvdmVyQmFja2dyb3VuZEltYWdlO1xuICAgIGJveC1zaGFkb3c6IEBob3ZlckJveFNoYWRvdztcbiAgICBjb2xvcjogQGhvdmVyQ29sb3I7XG59XG5cbi51aS5idXR0b246aG92ZXIgLmljb24ge1xuICAgIG9wYWNpdHk6IEBpY29uSG92ZXJPcGFjaXR5O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9jdXNCYWNrZ3JvdW5kQ29sb3I7XG4gICAgY29sb3I6IEBmb2N1c0NvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBmb2N1c0JhY2tncm91bmRJbWFnZTtcbiAgICBib3gtc2hhZG93OiBAZm9jdXNCb3hTaGFkb3c7XG59XG5cbi51aS5idXR0b246Zm9jdXMgLmljb24ge1xuICAgIG9wYWNpdHk6IEBpY29uRm9jdXNPcGFjaXR5O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5idXR0b246YWN0aXZlLFxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZG93bkJhY2tncm91bmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAZG93bkJhY2tncm91bmRJbWFnZTtcbiAgICBjb2xvcjogQGRvd25Db2xvcjtcbiAgICBib3gtc2hhZG93OiBAZG93bkJveFNoYWRvdztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmFjdGl2ZS5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGFjdGl2ZUJhY2tncm91bmRJbWFnZTtcbiAgICBib3gtc2hhZG93OiBAYWN0aXZlQm94U2hhZG93O1xuICAgIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG59XG4udWkuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBhY3RpdmVIb3ZlckJhY2tncm91bmRJbWFnZTtcbiAgICBjb2xvcjogQGFjdGl2ZUhvdmVyQ29sb3I7XG59XG4udWkuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGFjdGl2ZUJhY2tncm91bmRJbWFnZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNwZWNpZmljaXR5IGhhY2sgKi9cbiAgICAudWkudWkudWkudWkudWkudWkubG9hZGluZy5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiBAbG9hZGluZ09wYWNpdHk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAbG9hZGluZ1BvaW50ZXJFdmVudHM7XG4gICAgICAgIHRyYW5zaXRpb246IEBsb2FkaW5nVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAaW52ZXJ0ZWRMb2FkZXJGaWxsQ29sb3I7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpLmxvYWRpbmcuYnV0dG9uIC5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkxhYmVsZWRJY29uKSB7XG4gICAgICAgIC51aS5sYWJlbGVkLmljb24ubG9hZGluZy5idXR0b24gLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgIC51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbkB7bm90SW52ZXJ0ZWR9OjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbG9hZGVyRmlsbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbkB7bm90SW52ZXJ0ZWR9OjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25EaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uQHtub3RCYXNpY30sXG4gICAgLnVpLmRpc2FibGVkLmJ1dHRvbixcbiAgICAudWkuYnV0dG9uOmRpc2FibGVkLFxuICAgIC51aS5kaXNhYmxlZC5idXR0b246aG92ZXIsXG4gICAgLnVpLmRpc2FibGVkLmFjdGl2ZS5idXR0b24ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgLyogQmFzaWMgR3JvdXAgV2l0aCBEaXNhYmxlZCAqL1xuICAgICAgICAudWkuYmFzaWMuYnV0dG9ucyAudWkuZGlzYWJsZWQuYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGRpc2FibGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25BbmltYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQW5pbWF0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGFuaW1hdGVkVmVydGljYWxBbGlnbjtcbiAgICAgICAgei1pbmRleDogQGFuaW1hdGVkWkluZGV4O1xuICAgIH1cblxuICAgIC51aS5hbmltYXRlZC5idXR0b24gLmNvbnRlbnQge1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IEBhbmltYXRpb25EdXJhdGlvbiBAYW5pbWF0aW9uRWFzaW5nIDBzO1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtKEBsaW5lSGVpZ2h0IC8gMik7XG4gICAgfVxuICAgIC51aS5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjAwJTtcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCAqL1xuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4gICAgICAgIC51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgdG9wIEBhbmltYXRpb25EdXJhdGlvbiBAYW5pbWF0aW9uRWFzaW5nLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICAgICAgdG9wOiAtNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbiAgICAgICAgLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkFuaW1hdGVkRmFkZSkge1xuICAgICAgICAvKiBGYWRlICovXG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuICAgICAgICAudWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgb3BhY2l0eSBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gQGFuaW1hdGlvbkR1cmF0aW9uIEBhbmltYXRpb25FYXNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAZmFkZVNjYWxlSGlnaCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEBmYWRlU2NhbGVMb3cpO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAd2hpdGUgaW5zZXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uR3JvdXBzKSB7XG4gICAgICAgIC8qIEdyb3VwICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5idXR0b25zIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiBAaW52ZXJ0ZWRHcm91cEJ1dHRvbk9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvblZlcnRpY2FsKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBpbnZlcnRlZFZlcnRpY2FsR3JvdXBCdXR0b25PZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogU3RhdGVzICovXG5cbiAgICAvKiBIb3ZlciAqL1xuICAgIC51aS5pbnZlcnRlZC5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBpbnZlcnRlZEJvcmRlclNpemUgQHdoaXRlIGluc2V0O1xuICAgICAgICBjb2xvcjogQGhvdmVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlIC8gRm9jdXMgKi9cbiAgICAudWkuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzLFxuICAgIC51aS5pbnZlcnRlZC5idXR0b24uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEB3aGl0ZSBpbnNldDtcbiAgICAgICAgY29sb3I6IEBmb2N1c0NvbG9yO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSBGb2N1cyAqL1xuICAgIC51aS5pbnZlcnRlZC5idXR0b24uYWN0aXZlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogQG1pZFdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBtaWRXaGl0ZSBpbnNldDtcbiAgICAgICAgY29sb3I6IEBmb2N1c0NvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uTGFiZWxlZCkgb3IgKEB2YXJpYXRpb25CdXR0b25MYWJlbGVkSWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxlZCBCdXR0b25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uQHtub3RJY29ufSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5idXR0b24gPiAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAudWkubGFiZWxlZC5idXR0b24gPiAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogQGxhYmVsZWRMYWJlbEFsaWduO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBsYWJlbGVkTGFiZWxCb3JkZXJPZmZzZXQgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiBAbGFiZWxlZExhYmVsRm9udFNpemU7XG4gICAgICAgIHBhZGRpbmc6IEBsYWJlbGVkTGFiZWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItY29sb3I6IEBsYWJlbGVkTGFiZWxCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBUYWcgKi9cbiAgICAudWkubGFiZWxlZC5idXR0b24gPiAudGFnLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogQGxhYmVsZWRUYWdMYWJlbFNpemU7XG4gICAgICAgIGhlaWdodDogQGxhYmVsZWRUYWdMYWJlbFNpemU7XG4gICAgfVxuXG4gICAgLyogUmlnaHQgKi9cbiAgICAudWkubGFiZWxlZC5idXR0b246bm90KFtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0pID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5sYWJlbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLyogTGVmdCBTaWRlICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5idXR0b24gPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5idXR0b24gPiAubGFiZWwge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Tb2NpYWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFNvY2lhbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBGYWNlYm9vayAqL1xuICAgIC51aS5mYWNlYm9vay5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZmFjZWJvb2tDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmZhY2Vib29rLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmYWNlYm9va0hvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkuZmFjZWJvb2suYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmYWNlYm9va0Rvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogVHdpdHRlciAqL1xuICAgIC51aS50d2l0dGVyLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0d2l0dGVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS50d2l0dGVyLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0d2l0dGVySG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuICAgIC51aS50d2l0dGVyLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHdpdHRlckRvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogR29vZ2xlIFBsdXMgKi9cbiAgICAudWkuZ29vZ2xlLnBsdXMuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdvb2dsZVBsdXNDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBnb29nbGVQbHVzSG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuICAgIC51aS5nb29nbGUucGx1cy5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdvb2dsZVBsdXNEb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIExpbmtlZCBJbiAqL1xuICAgIC51aS5saW5rZWRpbi5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlua2VkSW5Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuICAgIC51aS5saW5rZWRpbi5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlua2VkSW5Ib3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmxpbmtlZGluLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlua2VkSW5Eb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFlvdVR1YmUgKi9cbiAgICAudWkueW91dHViZS5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAeW91dHViZUNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkueW91dHViZS5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAeW91dHViZUhvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkueW91dHViZS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHlvdXR1YmVEb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIEluc3RhZ3JhbSAqL1xuICAgIC51aS5pbnN0YWdyYW0uYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluc3RhZ3JhbUNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuaW5zdGFncmFtLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnN0YWdyYW1Ib3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmluc3RhZ3JhbS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluc3RhZ3JhbURvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogUGludGVyZXN0ICovXG4gICAgLnVpLnBpbnRlcmVzdC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGludGVyZXN0Q29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5waW50ZXJlc3QuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBpbnRlcmVzdEhvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkucGludGVyZXN0LmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGludGVyZXN0RG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBWSyAqL1xuICAgIC51aS52ay5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmtDb2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkudmsuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHZrSG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG4gICAgLnVpLnZrLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmtEb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxuXG4gICAgLyogV2hhdHNBcHAgKi9cbiAgICAudWkud2hhdHNhcHAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdoYXRzQXBwQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLndoYXRzYXBwLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGF0c0FwcEhvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxuICAgIC51aS53aGF0c2FwcC5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdoYXRzQXBwRG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cblxuICAgIC8qIFRlbGVncmFtICovXG4gICAgLnVpLnRlbGVncmFtLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0ZWxlZ3JhbUNvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS50ZWxlZ3JhbS5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVsZWdyYW1Ib3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cbiAgICAudWkudGVsZWdyYW0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0ZWxlZ3JhbURvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYnV0dG9uID4gLmljb246bm90KC5idXR0b24pIHtcbiAgICBoZWlnaHQ6IEBpY29uSGVpZ2h0O1xuICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gICAgY29sb3I6IEBpY29uQ29sb3I7XG59XG5cbi51aS5idXR0b25Ae25vdEljb259ID4gLmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pLFxuLnVpLmJ1dHRvbkB7bm90SWNvbn0gPiAuaWNvbnM6bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pIHtcbiAgICBtYXJnaW46IEBpY29uTWFyZ2luO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG59XG4udWkuYnV0dG9uQHtub3RJY29ufSA+IC5pY29uczpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikgPiAuaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbn1cbi51aS5idXR0b25Ae25vdEljb259ID4gLnJpZ2h0Lmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pIHtcbiAgICBtYXJnaW46IEByaWdodEljb25NYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvblN0YWNrYWJsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBUYWJsZXQgT3IgQmVsb3cgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zdGFja2FibGUuYnV0dG9ucyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAmIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgLmJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25GbG9hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbiAgICAudWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZmxvYXRlZE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5idXR0b25zLFxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsb2F0ZWRNYXJnaW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Db21wYWN0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21wYWN0LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAudWkuY29tcGFjdC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyBAY29tcGFjdEhvcml6b250YWxQYWRkaW5nIChAY29tcGFjdFZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQpO1xuICAgIH1cblxuICAgIC51aS5jb21wYWN0Lmljb24uYnV0dG9ucyAuYnV0dG9uLFxuICAgIC51aS5jb21wYWN0Lmljb24uYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKEBjb21wYWN0VmVydGljYWxQYWRkaW5nICsgQHNoYWRvd09mZnNldCk7XG4gICAgfVxuXG4gICAgLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAudWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKEBjb21wYWN0SG9yaXpvbnRhbFBhZGRpbmcgKyBAbGFiZWxlZEljb25XaWR0aCkgKEBjb21wYWN0VmVydGljYWxQYWRkaW5nICsgQHNoYWRvd09mZnNldCk7XG4gICAgfVxuXG4gICAgLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uLFxuICAgIC51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IEBjb21wYWN0VmVydGljYWxQYWRkaW5nIDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJ1dHRvbnMgLm9yLFxuLnVpLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQnV0dG9uU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkJ1dHRvblNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uYnV0dG9ucyAuZHJvcGRvd24sXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuICAgICAgICAudWkuQHt2YWx1ZX0uYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAudWkuQHt2YWx1ZX0uYnV0dG9ucyAub3IsXG4gICAgICAgIC51aS51aS51aS51aS5Ae3ZhbHVlfS5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25JY29uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSWNvbiBPbmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaWNvbi5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLmljb24uYnV0dG9uQHtub3RBbmltYXRlZH1Ae25vdENvbXBhY3R9QHtub3RMYWJlbGVkfSB7XG4gICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQHZlcnRpY2FsUGFkZGluZyAoQHZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQpO1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQuaWNvbi5idXR0b24gPiAuY29udGVudCA+IC5pY29uLFxuICAgIC51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uLFxuICAgIC51aS5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogQGljb25CdXR0b25PcGFjaXR5O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25BbmltYXRlZCkge1xuICAgIC51aS5hbmltYXRlZC5idXR0b24gPiAuY29udGVudCA+IC5pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAudWkuYmFzaWMuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBiYXNpY1RleHRDb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBiYXNpY0ZvbnRXZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IEBiYXNpY1RleHRUcmFuc2Zvcm07XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uR3JvdXBzKSB7XG4gICAgICAgIC51aS5iYXNpYy5idXR0b25zIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0dyb3VwQm94U2hhZG93O1xuICAgICAgICAgICAgYm9yZGVyOiBAYmFzaWNHcm91cEJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgIC51aS5iYXNpYy5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNIb3ZlclRleHRDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSG92ZXJCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAudWkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljRm9jdXNCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGJhc2ljRm9jdXNUZXh0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0ZvY3VzQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgIC51aS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljRG93bkJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNEb3duVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNEb3duQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgIC51aS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljQWN0aXZlQm94U2hhZG93O1xuICAgICAgICBjb2xvcjogQGJhc2ljQWN0aXZlVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmhvdmVyLFxuICAgIC51aS5iYXNpYy5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYW5zcGFyZW50QmxhY2s7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkdyb3Vwcykge1xuICAgICAgICAudWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0hvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljRG93bkJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0FjdGl2ZUJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25JbnZlcnRlZCkge1xuICAgICAgICAvKiBTdGFuZGFyZCBCYXNpYyBJbnZlcnRlZCAqL1xuXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b24sXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogQG9mZldoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEhvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRGb2N1c0JveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhbnNwYXJlbnRXaGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZERvd25Cb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYW5zcGFyZW50V2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEFjdGl2ZUJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmhvdmVyLFxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3Ryb25nVHJhbnNwYXJlbnRXaGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkSG92ZXJCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Hcm91cHMpIHtcbiAgICAgICAgLyogQmFzaWMgR3JvdXAgKi9cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnNAe25vdEludmVydGVkfSAuYnV0dG9uQHtub3RCYXNpY30ge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAYmFzaWNHcm91cEJvcmRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAgICAgLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zQHtub3RTcGFjZWR9QHtub3RDaXJjdWxhcn0gLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVGVydGlhcnkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFRlcnRpYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE92ZXJsaW5lIE1peGluICovXG4gICAgLnVpLnRlcnRpYXJ5LmJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIEBkZWZhdWx0RHVyYXRpb24gQGRlZmF1bHRFYXNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICAgIG1hcmdpbjpcbiAgICAgICAgICAgIChAdmVydGljYWxQYWRkaW5nIC0gQHRlcnRpYXJ5VmVydGljYWxQYWRkaW5nKVxuICAgICAgICAgICAgKEBob3Jpem9udGFsTWFyZ2luKVxuICAgICAgICAgICAgKEB2ZXJ0aWNhbFBhZGRpbmcgKyBAc2hhZG93T2Zmc2V0ICsgQHZlcnRpY2FsTWFyZ2luIC0gQHRlcnRpYXJ5VmVydGljYWxQYWRkaW5nKVxuICAgICAgICAgICAgMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiBAdGVydGlhcnlWZXJ0aWNhbFBhZGRpbmcgQHRlcnRpYXJ5SG9yaXpvbnRhbFBhZGRpbmcgIWltcG9ydGFudDtcblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeVdpdGhVbmRlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC1AdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHRlcnRpYXJ5TGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlXaXRoT3ZlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdGVydGlhcnlMaW5lQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeVdpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbG9yOiBAdGVydGlhcnlUZXh0Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0ZXJ0aWFyeUJhY2tncm91bmRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkudGVydGlhcnkuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlIb3ZlcldpdGhVbmRlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC1AdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHRlcnRpYXJ5SG92ZXJMaW5lQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUhvdmVyV2l0aE92ZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCBAdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHRlcnRpYXJ5SG92ZXJMaW5lQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUhvdmVyV2l0aFVuZGVybGluZSA9IGZhbHNlKSBhbmQgKEB0ZXJ0aWFyeUhvdmVyV2l0aE92ZXJsaW5lID0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBjb2xvcjogQHRlcnRpYXJ5SG92ZXJDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogQHRlcnRpYXJ5SG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUZvY3VzTGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlGb2N1c1dpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUZvY3VzTGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlGb2N1c1dpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlGb2N1c1dpdGhPdmVybGluZSA9IGZhbHNlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6IEB0ZXJ0aWFyeUZvY3VzQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0ZXJ0aWFyeUZvY3VzQmFja2dyb3VuZENvbG9yO1xuICAgIH1cblxuICAgIC51aS50ZXJ0aWFyeS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlBY3RpdmVXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUFjdGl2ZUxpbmVDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUFjdGl2ZUxpbmVDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlBY3RpdmVXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb2xvcjogQHRlcnRpYXJ5QWN0aXZlQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0ZXJ0aWFyeUFjdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkxhYmVsZWRJY29uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsZWQgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGxhYmVsZWRJY29uUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbFBhZGRpbmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBMZWZ0IExhYmVsZWQgKi9cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyAwO1xuICAgICAgICBtYXJnaW46IEBsYWJlbGVkSWNvbk1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsYWJlbGVkSWNvbldpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGFiZWxlZEljb25CYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAbGFiZWxlZEljb25Db2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGxhYmVsZWRJY29uTGVmdFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBSaWdodCBMYWJlbGVkICovXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZEljb25QYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBsYWJlbGVkSWNvblJpZ2h0U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbjo6YmVmb3JlLFxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246OmJlZm9yZSxcbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246OmFmdGVyLFxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQgPiAuaWNvbiB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCA+IC5pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIExvYWRpbmcgSWNvbiBpbiBMYWJlbGVkIEJ1dHRvbiAqL1xuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmxvYWRpbmcuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgMnMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVG9nZ2xlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRvZ2dsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVG9nZ2xlIChNb2RpZmllcyBhY3RpdmUgc3RhdGUgdG8gZ2l2ZSBhZmZvcmRhbmNlcykgKi9cbiAgICAudWkudG9nZ2xlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgLnVpLmJ1dHRvbnMgLmJ1dHRvbi50b2dnbGUuYWN0aXZlLFxuICAgIC51aS5idXR0b24udG9nZ2xlLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRleHQtc2hhZG93OiBAdG9nZ2xlVGV4dFNoYWRvdztcbiAgICAgICAgY29sb3I6IEB0b2dnbGVDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAdG9nZ2xlSG92ZXJUZXh0U2hhZG93O1xuICAgICAgICBjb2xvcjogQHRvZ2dsZUhvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25DaXJjdWxhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLnVpLmNpcmN1bGFyLmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAudWkudWkudWkudWkuY2lyY3VsYXIuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyQm9yZGVyUmFkaXVzO1xuICAgICAgICBtaW4td2lkdGg6IEBjaXJjdWxhck1pbldpZHRoO1xuICAgIH1cblxuICAgIC51aS5jaXJjdWxhci5idXR0b25zIC5idXR0b24gPiAuaWNvbixcbiAgICAudWkuY2lyY3VsYXIuYnV0dG9uID4gLmljb24ge1xuICAgICAgICB3aWR0aDogQGNpcmN1bGFySWNvbldpZHRoO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLnVpLmNpcmN1bGFyLmJ1dHRvbnNAe25vdFZlcnRpY2FsfUB7bm90U3BhY2VkfSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAY2lyY3VsYXJHcm91cE1hcmdpbjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAudWkudmVydGljYWwuY2lyY3VsYXIuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBjaXJjdWxhclZlcnRpY2FsR3JvdXBNYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgICAgICAudWkuY2lyY3VsYXIuYmFzaWMuYnV0dG9ucyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgJi5iYXNpYyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbk9yKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE9yIEJ1dHRvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJ1dHRvbnMgLm9yIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogQG9yR2FwO1xuICAgICAgICBoZWlnaHQ6IEBvckhlaWdodDtcbiAgICAgICAgei1pbmRleDogQG9yWkluZGV4O1xuICAgIH1cblxuICAgIC51aS5idXR0b25zIC5vcjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgY29udGVudDogQG9yVGV4dDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG9yQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQG9yVGV4dFNoYWRvdztcbiAgICAgICAgbWFyZ2luLXRvcDogQG9yVmVydGljYWxPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAb3JIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICB3aWR0aDogQG9yQ2lyY2xlU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAb3JDaXJjbGVTaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogQG9yTGluZUhlaWdodDtcbiAgICAgICAgY29sb3I6IEBvclRleHRDb2xvcjtcbiAgICAgICAgZm9udC1zdHlsZTogQG9yVGV4dFN0eWxlO1xuICAgICAgICBmb250LXdlaWdodDogQG9yVGV4dFdlaWdodDtcbiAgICAgICAgYm94LXNoYWRvdzogQG9yQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5idXR0b25zIC5vcltkYXRhLXRleHRdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgfVxuXG4gICAgLyogRmx1aWQgT3IgKi9cbiAgICAudWkuZmx1aWQuYnV0dG9ucyAub3Ige1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aS5mbHVpZC5idXR0b25zIC5vcjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNpbmd1bGFyICovXG4gICAgLnVpLmF0dGFjaGVkLmJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFRvcCAvIEJvdHRvbSAqL1xuICAgIC51aS5hdHRhY2hlZC50b3AuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAudWkuYXR0YWNoZWQuYm90dG9tLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogTGVmdCAvIFJpZ2h0ICovXG4gICAgLnVpLmxlZnQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5yaWdodC5hdHRhY2hlZC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGF0dGFjaGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLyogUGx1cmFsICovXG4gICAgLnVpLmF0dGFjaGVkLmJ1dHRvbnMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IEBhdHRhY2hlZFpJbmRleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgfVxuXG4gICAgLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAudWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIFRvcCAvIEJvdHRvbSAqL1xuICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEB0b3BBdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGJvdHRvbUF0dGFjaGVkT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAvKiBMZWZ0IC8gUmlnaHQgKi9cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLmJ1dHRvbnMsXG4gICAgLnVpLmZsdWlkLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5mbHVpZC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25FcXVhbFdpZHRoKSB7XG4gICAgLnVpLnR3by5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLnR3by5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLnVpLnRocmVlLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkudGhyZWUuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG5cbiAgICAudWkuZm91ci5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLmZvdXIuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgIC51aS5maXZlLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuZml2ZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgLnVpLnNpeC5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLnNpeC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNi42NjYlO1xuICAgIH1cblxuICAgIC51aS5zZXZlbi5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLnNldmVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDE0LjI4NSU7XG4gICAgfVxuXG4gICAgLnVpLmVpZ2h0LmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuZWlnaHQuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTIuNSU7XG4gICAgfVxuXG4gICAgLnVpLm5pbmUuYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5uaW5lLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDExLjExJTtcbiAgICB9XG5cbiAgICAudWkudGVuLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkudGVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICB9XG5cbiAgICAudWkuZWxldmVuLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuZWxldmVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDkuMDklO1xuICAgIH1cblxuICAgIC51aS50d2VsdmUuYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS50d2VsdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogOC4zMzMzJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvblZlcnRpY2FsKSB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uRmx1aWQpIHtcbiAgICAgICAgLyogRmx1aWQgVmVydGljYWwgQnV0dG9ucyAqL1xuICAgICAgICAudWkuZmx1aWQudmVydGljYWwuYnV0dG9ucyxcbiAgICAgICAgLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uRXF1YWxXaWR0aCkge1xuICAgICAgICAudWkudHdvLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnRocmVlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMzMuMzMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5mb3VyLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmZpdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2l4LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTYuNjY2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5zZXZlbi52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0LjI4NSU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZWlnaHQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMi41JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5uaW5lLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTEuMTElO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnRlbi52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5lbGV2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA5LjA5JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS50d2VsdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA4LjMzMzMlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQnV0dG9uQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25CdXR0b25Db2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGg6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuICAgICAgICBAZjogQGNvbG9yc1tAQGNvbG9yXVtmb2N1c107XG4gICAgICAgIEBkOiBAY29sb3JzW0BAY29sb3JdW2Rvd25dO1xuICAgICAgICBAYTogQGNvbG9yc1tAQGNvbG9yXVthY3RpdmVdO1xuICAgICAgICBAdDogQGNvbG9yc1tAQGNvbG9yXVt0ZXh0XTtcbiAgICAgICAgQHM6IEBjb2xvcnNbQEBjb2xvcl1bc2hhZG93XTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICBAbGg6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRIb3Zlcl07XG4gICAgICAgIEBsZjogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEZvY3VzXTtcbiAgICAgICAgQGxkOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0RG93bl07XG4gICAgICAgIEBsYTogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEFjdGl2ZV07XG4gICAgICAgIEBsdDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodFRleHRdO1xuICAgICAgICBAbHM6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRTaGFkb3ddO1xuICAgICAgICBAdHk6IEBjb2xvcnNbQEBjb2xvcl1bdGVydGlhcnldO1xuICAgICAgICBAdHloOiBAY29sb3JzW0BAY29sb3JdW3RlcnRpYXJ5SG92ZXJdO1xuICAgICAgICBAdHlmOiBAY29sb3JzW0BAY29sb3JdW3RlcnRpYXJ5Rm9jdXNdO1xuICAgICAgICBAdHlhOiBAY29sb3JzW0BAY29sb3JdW3RlcnRpYXJ5QWN0aXZlXTtcbiAgICAgICAgQGlzRGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc0RhcmtdO1xuICAgICAgICBAaXNWZXJ5RGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc1ZlcnlEYXJrXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoO1xuICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGY7XG4gICAgICAgICAgICBjb2xvcjogQHQ7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQHM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkO1xuICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYTtcbiAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAcztcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgICAgICAvKiBCYXNpYyAqL1xuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0JvcmRlclNpemUgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBoIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAZiBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAYSBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAZCBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAc29saWRCb3JkZXJDb2xvciBpbnNldDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBpbnZlcnRlZEJvcmRlclNpemUgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9uLmFjdGl2ZSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBJbnZlcnRlZCBCYXNpYyAqL1xuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaCBpbnNldDtcblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAbGYgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsYSBpbnNldDtcblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsZCBpbnNldDtcblxuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25UZXJ0aWFyeSkge1xuICAgICAgICAgICAgLyogVGVydGlhcnkgKi9cblxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5V2l0aFVuZGVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0eTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeVdpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCBAdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5V2l0aFVuZGVybGluZSA9IGZhbHNlKSBhbmQgKEB0ZXJ0aWFyeVdpdGhPdmVybGluZSA9IGZhbHNlKXtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyBidXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9uOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5SG92ZXJXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC1AdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5aDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUhvdmVyV2l0aE92ZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHloO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5SG92ZXJXaXRoVW5kZXJsaW5lID0gZmFsc2UpIGFuZCAoQHRlcnRpYXJ5SG92ZXJXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbG9yOiBAdHloO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b246Zm9jdXMge1xuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdGVydGlhcnlGb2N1c1dpdGhVbmRlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLUB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHlmO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoT3ZlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0eWY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdGVydGlhcnlGb2N1c1dpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlGb2N1c1dpdGhPdmVybGluZSA9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29sb3I6IEB0eWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9uOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhVbmRlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLUB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHlhO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5QWN0aXZlV2l0aE92ZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHlhO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5QWN0aXZlV2l0aFVuZGVybGluZSA9IGZhbHNlKSBhbmQgKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhPdmVybGluZSA9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29sb3I6IEBhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25CdXR0b25Db25zZXF1ZW5jZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkJ1dHRvbkNvbnNlcXVlbmNlcywge1xuICAgICAgICBAY29uc2VxdWVuY2U6IEB2YWx1ZTtcblxuICAgICAgICBAX2JhY2tncm91bmRDb2xvcjogXCJAe2NvbnNlcXVlbmNlfUNvbG9yXCI7XG4gICAgICAgIEBfYmFja2dyb3VuZENvbG9ySG92ZXI6IFwiQHtjb25zZXF1ZW5jZX1Db2xvckhvdmVyXCI7XG4gICAgICAgIEBfYmFja2dyb3VuZENvbG9yRm9jdXM6IFwiQHtjb25zZXF1ZW5jZX1Db2xvckZvY3VzXCI7XG4gICAgICAgIEBfYmFja2dyb3VuZENvbG9yRG93bjogXCJAe2NvbnNlcXVlbmNlfUNvbG9yRG93blwiO1xuICAgICAgICBAX2JhY2tncm91bmRDb2xvckFjdGl2ZTogXCJAe2NvbnNlcXVlbmNlfUNvbG9yQWN0aXZlXCI7XG4gICAgICAgIEBfdGV4dENvbG9yOiBcIkB7Y29uc2VxdWVuY2V9VGV4dENvbG9yXCI7XG4gICAgICAgIEBfdGV4dFNoYWRvdzogXCJAe2NvbnNlcXVlbmNlfVRleHRTaGFkb3dcIjtcblxuICAgICAgICAvKiBTdGFuZGFyZCAqL1xuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBAX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBAQF90ZXh0Q29sb3I7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQEBfdGV4dFNoYWRvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5idXR0b24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAQF90ZXh0Q29sb3I7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQEBfdGV4dFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBAX2JhY2tncm91bmRDb2xvckZvY3VzO1xuICAgICAgICAgICAgY29sb3I6IEBAX3RleHRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAQF90ZXh0U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JEb3duO1xuICAgICAgICAgICAgY29sb3I6IEBAX3RleHRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAQF90ZXh0U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JBY3RpdmU7XG4gICAgICAgICAgICBjb2xvcjogQEBfdGV4dENvbG9yO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBAX3RleHRTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgICAgIC8qIEJhc2ljICovXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQm9yZGVyU2l6ZSBAQF9iYWNrZ3JvdW5kQ29sb3IgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBAX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAQF9iYWNrZ3JvdW5kQ29sb3JIb3ZlciBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQEBfYmFja2dyb3VuZENvbG9ySG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQEBfYmFja2dyb3VuZENvbG9yRm9jdXMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBAX2JhY2tncm91bmRDb2xvckhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQEBfYmFja2dyb3VuZENvbG9yQWN0aXZlIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JEb3duO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQEBfYmFja2dyb3VuZENvbG9yRG93biBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQEBfYmFja2dyb3VuZENvbG9yRG93bjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5idXR0b25zQHtub3RWZXJ0aWNhbH0gPiAuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkdyb3Vwcykge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC51aS5idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBtYXJnaW46IEB2ZXJ0aWNhbE1hcmdpbiBAaG9yaXpvbnRhbE1hcmdpbiAwIDA7XG4gICAgfVxuXG4gICAgLnVpLmJ1dHRvbnNAe25vdEJhc2ljfUB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgYm94LXNoYWRvdzogQGdyb3VwQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIENsZWFyZml4ICovXG4gICAgLnVpLmJ1dHRvbnM6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLyogU3RhbmRhcmQgR3JvdXAgKi9cbiAgICAudWkuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogQGdyb3VwQnV0dG9uT2Zmc2V0O1xuICAgIH1cblxuICAgIC51aS5idXR0b25zQHtub3RCYXNpY31Ae25vdEludmVydGVkfSA+IC5idXR0b25Ae25vdEJhc2ljfUB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgYm94LXNoYWRvdzogQGdyb3VwQnV0dG9uQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCBTdHlsZSAqL1xuICAgICAgICAudWkudmVydGljYWwuYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAudWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogQHZlcnRpY2FsR3JvdXBPZmZzZXQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgJkB7bm90QmFzaWN9IHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxCb3hTaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgICAgIC51aS52ZXJ0aWNhbC5idXR0b25zIC5iYXNpYy5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25XcmFwcGluZykge1xuICAgICAgICAudWkud3JhcHBpbmcuYnV0dG9ucyB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgICAgIC51aS53cmFwcGluZy5iYXNpYy5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQ29tcGFjdCkge1xuICAgICAgICAgICAgLnVpLmNvbXBhY3Qud3JhcHBpbmcuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbldyYXBwZWQpIHtcbiAgICAgICAgLnVpLndyYXBwZWQuYnV0dG9uc0B7bm90U3BhY2VkfSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cyAwIDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBiYXNpY0JvcmRlclJhZGl1cyAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25BdHRhY2hlZCkge1xuICAgICAgICAgICAgLnVpLndyYXBwZWRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cyAwIDAgMDtcbiAgICAgICAgICAgICAgICAmIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLndyYXBwZWRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIEBiYXNpY0JvcmRlclJhZGl1cztcbiAgICAgICAgICAgICAgICAmIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25TcGFjZWQpIHtcbiAgICAgICAgLnVpLnNwYWNlZC5idXR0b25zIC51aS5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQHNwYWNlZE1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHNwYWNlZE1hcmdpbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgICAgICAgICAgLnVpLnNwYWNlZC5iYXNpYy5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgJiAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBAYmFzaWNHcm91cEJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgJi5iYXNpYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgIC51aS5zcGFjZWQuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uV3JhcHBpbmcpIHtcbiAgICAgICAgICAgICAgICAudWkuc3BhY2VkLmJhc2ljLndyYXBwaW5nLmJ1dHRvbnMgLmJ1dHRvbkB7bm90QmFzaWN9IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkuc3BhY2VkLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGUoJShcImNhbGMoJWQgKyAlZClcIiwgQHNwYWNlZE1hcmdpbiwgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUpKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnNAe25vdFZlcnRpY2FsfS5pbnZlcnRlZCAuYnV0dG9uLFxuICAgICAgICAudWkuYmFzaWMuYnV0dG9uc0B7bm90VmVydGljYWx9IC5iYXNpYy5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMuYnV0dG9uc0B7bm90VmVydGljYWx9QHtub3RTcGFjZWR9QHtub3RJbnZlcnRlZH0gLmJhc2ljLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkF0dGFjaGVkKSBvciAoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMuYnV0dG9uc0B7bm90U3BhY2VkfSAuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmF0dGFjaGVkLmJhc2ljLmJ1dHRvbnNAe25vdFdyYXBwaW5nfUB7bm90SW52ZXJ0ZWR9IC5iYXNpYy5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMuYnV0dG9uc0B7bm90VmVydGljYWx9QHtub3RBdHRhY2hlZH1Ae25vdFNwYWNlZH1Ae25vdFdyYXBwaW5nfUB7bm90SW52ZXJ0ZWR9IC5iYXNpYy5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENvbnRhaW5lclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiY29udGFpbmVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90Rmx1aWQ6IGlmKEB2YXJpYXRpb25Db250YWluZXJGbHVpZCwgZShcIjpub3QoLmZsdWlkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFsbCBTaXplcyAqL1xuLnVpLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiBAbWF4V2lkdGg7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS51aS51aS5jb250YWluZXJAe25vdEZsdWlkfSB7XG4gICAgICAgIHdpZHRoOiBAbW9iaWxlV2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAbW9iaWxlR3V0dGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBtb2JpbGVHdXR0ZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckdyaWQpIG9yIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAudWkudWkudWkuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IEBtb2JpbGVHcmlkV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAbW9iaWxlUmVsYXhlZEdyaWRXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBAbW9iaWxlVmVyeVJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgIC51aS51aS51aS5jb250YWluZXJAe25vdEZsdWlkfSB7XG4gICAgICAgIHdpZHRoOiBAdGFibGV0V2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGFibGV0R3V0dGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0YWJsZXRHdXR0ZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckdyaWQpIG9yIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAudWkudWkudWkuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IEB0YWJsZXRHcmlkV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAdGFibGV0UmVsYXhlZEdyaWRXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBAdGFibGV0VmVyeVJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTbWFsbCBNb25pdG9yICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFNtYWxsTW9uaXRvcikge1xuICAgIC51aS51aS51aS5jb250YWluZXJAe25vdEZsdWlkfSB7XG4gICAgICAgIHdpZHRoOiBAY29tcHV0ZXJXaWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBjb21wdXRlckd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAY29tcHV0ZXJHdXR0ZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckdyaWQpIG9yIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAudWkudWkudWkuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IEBjb21wdXRlckdyaWRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZWxheGVkKSB7XG4gICAgICAgICAgICAudWkudWkudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBjb21wdXRlclJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJWZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogQGNvbXB1dGVyVmVyeVJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBMYXJnZSBNb25pdG9yICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgLnVpLnVpLnVpLmNvbnRhaW5lckB7bm90Rmx1aWR9IHtcbiAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JXaWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBsYXJnZU1vbml0b3JHdXR0ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGxhcmdlTW9uaXRvckd1dHRlcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyR3JpZCkgb3IgKEB2YXJpYXRpb25Db250YWluZXJSZWxheGVkKSB7XG4gICAgICAgIC51aS51aS51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogQGxhcmdlTW9uaXRvckdyaWRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZWxheGVkKSB7XG4gICAgICAgICAgICAudWkudWkudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JSZWxheGVkR3JpZFdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkudWkudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JWZXJ5UmVsYXhlZEdyaWRXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclRleHQpIHtcbiAgICAvKiBUZXh0IENvbnRhaW5lciAqL1xuICAgIC51aS50ZXh0LmNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAdGV4dEZvbnRGYW1pbHk7XG4gICAgICAgIG1heC13aWR0aDogQHRleHRXaWR0aDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEB0ZXh0TGluZUhlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiBAdGV4dFNpemU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJXaWRlKSB7XG4gICAgLyogV2lkZSBDb250YWluZXIgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpLnVpLnVpLndpZGUuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGFibGV0V2lkZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0U21hbGxNb25pdG9yKSB7XG4gICAgICAgIC51aS51aS51aS53aWRlLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogQGNvbXB1dGVyV2lkZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnVpLnVpLndpZGUuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yV2lkZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJGbHVpZCkge1xuICAgIC8qIEZsdWlkICovXG4gICAgLnVpLmZsdWlkLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckFsaWduZWQpIHtcbiAgICAudWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckp1c3RpZmllZCkge1xuICAgIC51aS5qdXN0aWZpZWQuY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodDtcbiAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodDtcbiAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0O1xuICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgLnVpLnJlc2l6YWJsZS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHJlc2l6ZTogQHJlc2l6YWJsZURpcmVjdGlvbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRGl2aWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiZGl2aWRlclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEhvcml6b250YWw6IGlmKEB2YXJpYXRpb25EaXZpZGVySG9yaXpvbnRhbCwgZShcIjpub3QoLmhvcml6b250YWwpXCIpKTtcbkBub3RWZXJ0aWNhbDogaWYoQHZhcmlhdGlvbkRpdmlkZXJWZXJ0aWNhbCwgZShcIjpub3QoLnZlcnRpY2FsKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaXZpZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZGl2aWRlciB7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogMDtcbiAgICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEB0ZXh0VHJhbnNmb3JtO1xuICAgIGxldHRlci1zcGFjaW5nOiBAbGV0dGVyU3BhY2luZztcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2ljXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRpdmlkZXJAe25vdFZlcnRpY2FsfUB7bm90SG9yaXpvbnRhbH0ge1xuICAgIGJvcmRlci10b3A6IEBzaGFkb3dXaWR0aCBAYm9yZGVyU3R5bGUgQHNoYWRvd0NvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IEBoaWdobGlnaHRXaWR0aCBAYm9yZGVyU3R5bGUgQGhpZ2hsaWdodENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQWxsb3cgZGl2aWRlciBiZXR3ZWVuIGVhY2ggY29sdW1uIHJvdyAqL1xuLnVpLmdyaWQgPiAuY29sdW1uICsgLmRpdmlkZXJAe25vdFZlcnRpY2FsfSxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4gKyAuZGl2aWRlckB7bm90VmVydGljYWx9IHtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaXZpZGVySG9yaXpvbnRhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgSG9yaXpvbnRhbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmhvcml6b250YWwuZGl2aWRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogQGhvcml6b250YWxNYXJnaW47XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YmVmb3JlLFxuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAudWkuaG9yaXpvbnRhbC5kaXZpZGVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IEBob3Jpem9udGFsRGl2aWRlck1hcmdpbiB0b3AgNTAlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlclZlcnRpY2FsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gICAgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAc2hhZG93V2lkdGggQGJvcmRlclN0eWxlIEBzaGFkb3dDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAaGlnaGxpZ2h0V2lkdGggQGJvcmRlclN0eWxlIEBoaWdobGlnaHRDb2xvcjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogQHZlcnRpY2FsRGl2aWRlckhlaWdodDtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFN0YWNrYWJsZSkge1xuICAgICAgICAvKiBJbnNpZGUgZ3JpZCAqL1xuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXIsXG4gICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkIC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlcixcbiAgICAgICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAdmVydGljYWxEaXZpZGVyTWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyLFxuICAgICAgICAgICAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQGhvcml6b250YWxNYXJnaW47XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIsXG4gICAgICAgICAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IEBob3Jpem9udGFsRGl2aWRlck1hcmdpbiB0b3AgNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlcixcbiAgICAgICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckljb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXZpZGVyID4gLmljb24ge1xuICAgICAgICBtYXJnaW46IEBkaXZpZGVySWNvbk1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiBAZGl2aWRlckljb25TaXplO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpdmlkZXJIb3Jpem9udGFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEhlYWRlclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXJbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuZGl2aWRlcltjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckhpZGRlbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhpZGRlblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmhpZGRlbi5kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aS5oaWRkZW4uZGl2aWRlcjo6YmVmb3JlLFxuICAgIC51aS5oaWRkZW4uZGl2aWRlcjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25EaXZpZGVySW52ZXJ0ZWQpIHtcbiAgICAudWkuZGl2aWRlci5pbnZlcnRlZCxcbiAgICAudWkudmVydGljYWwuaW52ZXJ0ZWQuZGl2aWRlcixcbiAgICAudWkuaG9yaXpvbnRhbC5pbnZlcnRlZC5kaXZpZGVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmRpdmlkZXIuaW52ZXJ0ZWQsXG4gICAgLnVpLmRpdmlkZXIuaW52ZXJ0ZWQ6OmFmdGVyLFxuICAgIC51aS5kaXZpZGVyLmludmVydGVkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZFNoYWRvd0NvbG9yIEBpbnZlcnRlZEhpZ2hsaWdodENvbG9yIEBpbnZlcnRlZEhpZ2hsaWdodENvbG9yIEBpbnZlcnRlZFNoYWRvd0NvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25EaXZpZGVyRml0dGVkKSB7XG4gICAgLnVpLmZpdHRlZC5kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckNsZWFyaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2xlYXJpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jbGVhcmluZy5kaXZpZGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaXZpZGVyU2VjdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNlY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zZWN0aW9uLmRpdmlkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBAc2VjdGlvbk1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHNlY3Rpb25NYXJnaW47XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kaXZpZGVyIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRGl2aWRlclNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25EaXZpZGVyU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5kaXZpZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IChAdGFibGV0QnJlYWtwb2ludCAtIDFweCkpIHtcbiAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIsXG4gICAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xuICAgIH1cbn1cbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEVtb2ppXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJlbW9qaVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdERpc2FibGVkOiBpZihAdmFyaWF0aW9uRW1vamlEaXNhYmxlZCwgZShcIjpub3QoLmRpc2FibGVkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRW1vamlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmVtW2RhdGEtZW1vamldIHtcbiAgICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgICBzcGVhazogbm9uZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbmVtW2RhdGEtZW1vamldOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBAZW1vamlMaW5lSGVpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAmIHdoZW4gbm90IChAZW1vamlGaWxlVHlwZSA9IFwic3ZnXCIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkVtb2ppRGlzYWJsZWQpIHtcbiAgICBlbVtkYXRhLWVtb2ppXS5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25FbW9qaUxvYWRpbmcpIHtcbiAgICBlbVtkYXRhLWVtb2ppXS5sb2FkaW5nOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGluZ0R1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkVtb2ppTGluaykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGVtW2RhdGEtZW1vamldLmxpbmtAe25vdERpc2FibGVkfSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cblxuZWFjaChAc2l6ZS1tYXAsIHtcbiAgICBlbVtkYXRhLWVtb2ppXS5Ae2tleX0ge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtICogQHZhbHVlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn0pO1xuXG5lYWNoKEBlbW9qaS1tYXAsIHtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25FbW9qaUNvbG9ucykge1xuICAgICAgICBlbVtkYXRhLWVtb2ppPVwiOkB7dmFsdWV9OlwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZW1vamlQYXRofUB7a2V5fS5Ae2Vtb2ppRmlsZVR5cGV9XCIpO1xuICAgICAgICB9XG4gICAgICAgIGVtW2RhdGEtZW1vamk9XCJAe3ZhbHVlfVwiXTo6YmVmb3JlOmV4dGVuZChlbVtkYXRhLWVtb2ppPVwiOkB7dmFsdWV9OlwiXTo6YmVmb3JlKSB3aGVuIChAdmFyaWF0aW9uRW1vamlOb0NvbG9ucykge31cbiAgICB9XG4gICAgZW1bZGF0YS1lbW9qaT1cIkB7dmFsdWV9XCJdOjpiZWZvcmUgd2hlbiAoQHZhcmlhdGlvbkVtb2ppTm9Db2xvbnMpIGFuZCBub3QgKEB2YXJpYXRpb25FbW9qaUNvbG9ucykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2Vtb2ppUGF0aH1Ae2tleX0uQHtlbW9qaUZpbGVUeXBlfVwiKTtcbiAgICB9XG59KTtcblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGbGFnXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJmbGFnXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEZsYWdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmkuZmxhZzpub3QoLmljb24pIHtcbiAgICBzcGVhazogbm9uZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbmkuZmxhZzpub3QoLmljb24pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBAZmxhZ0xpbmVIZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICYgd2hlbiBub3QgKEBmbGFnRmlsZVR5cGUgPSBcInN2Z1wiKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG59XG5cbmVhY2goQHNpemUtbWFwLCB7XG4gICAgaS5mbGFnLkB7a2V5fSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW0gKiBAdmFsdWU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufSk7XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cblxuLy8gZm9yIHNpbXBsaWNpdHksIGNsYXNzIGFuZCBhbGlhcyBuYW1lcyBoYXZlIHRvIGJlIHVuaXF1ZSBhbmQgZGlmZmVyZW50IHRvIGNvdW50cnljb2RlIG90aGVyd2lzZSBmYWxzZVxuZWFjaChAZmxhZ3MsIHtcbiAgICBAdW5pY29kZTogcmVwbGFjZShAa2V5LCBcIkBcIiwgXCJcIik7XG4gICAgQGNjOiByZXBsYWNlKEBmbGFnc1tAQHVuaWNvZGVdW2NvdW50cnljb2RlXSwgXCJfXCIsIFwiLlwiLCBcImdcIik7XG4gICAgQGNsczogcmVwbGFjZShAZmxhZ3NbQEB1bmljb2RlXVtjbGFzc10sIFwiX1wiLCBcIi5cIiwgXCJnXCIpO1xuICAgIEBhbGlhczogcmVwbGFjZShAZmxhZ3NbQEB1bmljb2RlXVthbGlhc0NsYXNzXSwgXCJfXCIsIFwiLlwiLCBcImdcIik7XG4gICAgQGFsaWFzMjogcmVwbGFjZShAZmxhZ3NbQEB1bmljb2RlXVthbGlhc0NsYXNzMl0sIFwiX1wiLCBcIi5cIiwgXCJnXCIpO1xuICAgICYgd2hlbiAoQGNscyA9IGZhbHNlKXtcbiAgICAgICAgaS5mbGFnLkB7Y2N9OjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmbGFnUGF0aH1Ae3VuaWNvZGV9LkB7ZmxhZ0ZpbGVUeXBlfVwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gbm90IChAY2xzID0gZmFsc2UpIGFuZCAoQGFsaWFzID0gZmFsc2UpIHtcbiAgICAgICAgaS5mbGFnLkB7Y2N9OjpiZWZvcmUsXG4gICAgICAgIGkuZmxhZy5Ae2Nsc306OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZsYWdQYXRofUB7dW5pY29kZX0uQHtmbGFnRmlsZVR5cGV9XCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEBjbHMgPSBmYWxzZSkgYW5kIG5vdCAoQGFsaWFzID0gZmFsc2UpIGFuZCAoQGFsaWFzMiA9IGZhbHNlKSB7XG4gICAgICAgIGkuZmxhZy5Ae2NjfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHtjbHN9OjpiZWZvcmUsXG4gICAgICAgIGkuZmxhZy5Ae2FsaWFzfTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmxhZ1BhdGh9QHt1bmljb2RlfS5Ae2ZsYWdGaWxlVHlwZX1cIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQGFsaWFzMiA9IGZhbHNlKSB7XG4gICAgICAgIGkuZmxhZy5Ae2NjfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHtjbHN9OjpiZWZvcmUsXG4gICAgICAgIGkuZmxhZy5Ae2FsaWFzfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHthbGlhczJ9OjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmbGFnUGF0aH1Ae3VuaWNvZGV9LkB7ZmxhZ0ZpbGVUeXBlfVwiKTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEhlYWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiaGVhZGVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90Q2VudGVyZWRBbGlnbmVkOiBpZihAdmFyaWF0aW9uSGVhZGVyQWxpZ25lZCwgZShcIjpub3QoLmNlbnRlcmVkKTpub3QoLmFsaWduZWQpXCIpKTtcbkBub3RJY29uOiBpZihAdmFyaWF0aW9uSGVhZGVySWNvbiwgZShcIjpub3QoLmljb24pXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEhlYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU3RhbmRhcmQgKi9cbi51aS5oZWFkZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IEBtYXJnaW47XG4gICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgZm9udC1mYW1pbHk6IEBmb250RmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiBAZm9udFdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEB0ZXh0VHJhbnNmb3JtO1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xufVxuXG4udWkuaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiBAZmlyc3RNYXJnaW47XG59XG4udWkuaGVhZGVyOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IEBsYXN0TWFyZ2luO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJTdWIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN1YiBIZWFkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogQHN1YkhlYWRlck1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiBAc3ViSGVhZGVyRm9udFNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAc3ViSGVhZGVyTGluZUhlaWdodDtcbiAgICAgICAgY29sb3I6IEBzdWJIZWFkZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhlYWRlciA+IC5pY29ucyxcbi51aS5oZWFkZXIgPiBpLmljb24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgb3BhY2l0eTogQGljb25PcGFjaXR5O1xuICAgIGZvbnQtc2l6ZTogQGljb25TaXplO1xuICAgIHBhZGRpbmctdG9wOiBAaWNvbk9mZnNldDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25BbGlnbm1lbnQ7XG59XG5cbi8qIFdpdGggVGV4dCBOb2RlICovXG4udWkuaGVhZGVyQHtub3RJY29ufSA+IC5pY29uczpvbmx5LWNoaWxkLFxuLnVpLmhlYWRlckB7bm90SWNvbn0gPiBpLmljb246b25seS1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBAaWNvbk1hcmdpbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhlYWRlciA+IC5pbWFnZTpub3QoLmljb24pLFxuLnVpLmhlYWRlciA+IGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IEBpbWFnZU9mZnNldDtcbiAgICB3aWR0aDogQGltYWdlV2lkdGg7XG4gICAgaGVpZ2h0OiBAaW1hZ2VIZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IEBpbWFnZUFsaWdubWVudDtcbn1cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKTpvbmx5LWNoaWxkLFxuLnVpLmhlYWRlciA+IGltZzpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IEBpbWFnZU1hcmdpbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5oZWFkZXIgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGNvbnRlbnRBbGlnbm1lbnQ7XG59XG5cbi8qIEFmdGVyIEltYWdlICovXG4udWkuaGVhZGVyID4gaW1nICsgLmNvbnRlbnQsXG4udWkuaGVhZGVyID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogQGltYWdlTWFyZ2luO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAY29udGVudEltYWdlQWxpZ25tZW50O1xufVxuXG4vKiBBZnRlciBJY29uICovXG4udWkuaGVhZGVyQHtub3RJY29ufUB7bm90Q2VudGVyZWRBbGlnbmVkfSA+IC5pY29ucyArIC5jb250ZW50LFxuLnVpLmhlYWRlckB7bm90SWNvbn1Ae25vdENlbnRlcmVkQWxpZ25lZH0gPiBpLmljb24gKyAuY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiBAaWNvbk1hcmdpbjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAY29udGVudEljb25BbGlnbm1lbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaGVhZGVyIC51aS5sYWJlbCB7XG4gICAgZm9udC1zaXplOiBAbGFiZWxTaXplO1xuICAgIG1hcmdpbi1sZWZ0OiBAbGFiZWxEaXN0YW5jZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGxhYmVsVmVydGljYWxBbGlnbjtcbn1cblxuLyogUG9zaXRpb25pbmcgKi9cbi51aS5oZWFkZXIgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiBAbmV4dFBhcmFncmFwaERpc3RhbmNlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkhlYWRlclRhZ3MgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkhlYWRlclRhZ3MsIHtcbiAgICAgICAgQHNmOiBAe3ZhbHVlfVN1YkhlYWRlckZvbnRTaXplO1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgQHt2YWx1ZX0udWkuaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyU3ViKSB7XG4gICAgICAgICAgICBAe3ZhbHVlfS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuIENvbnRlbnQgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25IZWFkZXJTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uSGVhZGVyU2l6ZXMsIHtcbiAgICAgICAgQHNmOiBAe3ZhbHVlfVN1YkhlYWRlckZvbnRTaXplO1xuICAgICAgICBAc2hmOiBAe3ZhbHVlfVN1YkhlYWRpbmdTaXplO1xuICAgICAgICBAczogQHt2YWx1ZX1Gb250U2l6ZTs7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgICAgICAmIHdoZW4gKEBAcyA+PSAyKSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlclN1Yikge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmhlYWRlciAuc3ViLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBAQHNmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LnN1Yi5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzaGY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyU3ViKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdWIgSGVhZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnN1Yi5oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAc3ViSGVhZGluZ0Rpc3RhbmNlO1xuICAgICAgICBmb250LXdlaWdodDogQHN1YkhlYWRpbmdGb250V2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6IEBzdWJIZWFkaW5nRm9udFNpemU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAc3ViSGVhZGluZ1RleHRUcmFuc2Zvcm07XG4gICAgICAgIGNvbG9yOiBAc3ViSGVhZGluZ0NvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVySWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmljb24uaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogQGljb25IZWFkZXJUb3BNYXJnaW4gMCBAaWNvbkhlYWRlckJvdHRvbU1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmljb24uaGVhZGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnVpLmljb24uaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGljb25IZWFkZXJGaXJzdE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmljb24uaGVhZGVyID4gLmltYWdlLmljb24sXG4gICAgLnVpLmljb24uaGVhZGVyID4gLmljb25zLFxuICAgIC51aS5pY29uLmhlYWRlciA+IGkuaWNvbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogQGljb25IZWFkZXJTaXplO1xuICAgICAgICBtYXJnaW46IDAgYXV0byBAaWNvbkhlYWRlck1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogQGljb25IZWFkZXJPcGFjaXR5O1xuICAgIH1cbiAgICAudWkuaWNvbi5oZWFkZXIgLmNvcm5lci5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiBAY29ybmVySWNvbkhlYWRlclNpemU7XG4gICAgfVxuICAgIC51aS5pY29uLmhlYWRlciAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudWkuaWNvbi5oZWFkZXIgPiBpLmNpcmN1bGFyIHtcbiAgICAgICAgZm9udC1zaXplOiBAY2lyY3VsYXJIZWFkZXJJY29uU2l6ZTtcbiAgICB9XG4gICAgLnVpLmljb24uaGVhZGVyID4gaS5zcXVhcmUge1xuICAgICAgICBmb250LXNpemU6IEBzcXVhcmVIZWFkZXJJY29uU2l6ZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyQmxvY2spIHtcbiAgICAgICAgLnVpLmJsb2NrLmljb24uaGVhZGVyID4gLmltYWdlLmljb24sXG4gICAgICAgIC51aS5ibG9jay5pY29uLmhlYWRlciA+IC5pY29ucyxcbiAgICAgICAgLnVpLmJsb2NrLmljb24uaGVhZGVyID4gaS5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyQWxpZ25lZCkge1xuICAgICAgICAudWkuaWNvbi5oZWFkZXIuYWxpZ25lZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQuaGVhZGVyIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkU3ViSGVhZGVyQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckF0dGFjaGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5hdHRhY2hlZC5oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXR0YWNoZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyQmxvY2spIHtcbiAgICAgICAgLnVpLmludmVydGVkLmJsb2NrLmhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCbG9ja0JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25IZWFkZXJDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkhlYWRlckNvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgQGxoOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgIGEudWkuQHtjb2xvcn0uaGVhZGVyOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJEaXZpZGluZykge1xuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmRpdmlkaW5nLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRDb2xvcmVkQm9yZGVyV2lkdGggc29saWQgQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5kaXZpZGluZy5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBkaXZpZGVkQ29sb3JlZEJvcmRlcldpZHRoIHNvbGlkIEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxlZnQuYWxpZ25lZC5oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAudWkucmlnaHQuYWxpZ25lZC5oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgLnVpLmNlbnRlcmVkLmhlYWRlcixcbiAgICAudWkuY2VudGVyLmFsaWduZWQuaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVySnVzdGlmaWVkKSB7XG4gICAgLnVpLmp1c3RpZmllZC5oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbiAgICAudWkuanVzdGlmaWVkLmhlYWRlcjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmxvYXRlZC5oZWFkZXIsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5oZWFkZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZmxvYXRlZE1hcmdpbjtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uaGVhZGVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsb2F0ZWRNYXJnaW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJGaXR0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZml0dGVkLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJEaXZpZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXZpZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBkaXZpZGVkQm9yZGVyUGFkZGluZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRCb3JkZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlclN1Yikge1xuICAgICAgICAudWkuZGl2aWRpbmcuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAZGl2aWRlZFN1YkhlYWRlclBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmRpdmlkaW5nLmhlYWRlciBpLmljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZGl2aWRlZEljb25QYWRkaW5nO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJJbnZlcnRlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBpbnZlcnRlZERpdmlkZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyQmxvY2spIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCbG9ja1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYmxvY2suaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsb2NrQmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogQGJsb2NrVmVydGljYWxQYWRkaW5nIEBibG9ja0hvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3gtc2hhZG93OiBAYmxvY2tCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQGJsb2NrQm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYmxvY2tCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5ibG9jay5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICAgICAgICBmb250LXNpemU6IEBtZWRpdW1CbG9jaztcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkhlYWRlclNpemVzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uSGVhZGVyU2l6ZXMsIHtcbiAgICAgICAgICAgIEBzOiBAe3ZhbHVlfUJsb2NrO1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmJsb2NrLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hdHRhY2hlZC5oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYXR0YWNoZWRCYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiBAYXR0YWNoZWRWZXJ0aWNhbFBhZGRpbmcgQGF0dGFjaGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyOiBAYXR0YWNoZWRCb3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckJsb2NrKSB7XG4gICAgICAgIC51aS5hdHRhY2hlZC5ibG9jay5oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGJsb2NrQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuYXR0YWNoZWQ6bm90KC50b3ApLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC51aS50b3AuYXR0YWNoZWQuaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGF0dGFjaGVkQm9yZGVyUmFkaXVzIEBhdHRhY2hlZEJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYXR0YWNoZWQuaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBhdHRhY2hlZEJvcmRlclJhZGl1cyBAYXR0YWNoZWRCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlclNlYW1sZXNzKSB7XG4gICAgICAgIC51aS5zZWFtbGVzcy5hdHRhY2hlZDpub3QoLmJvdHRvbSkuaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2hlZCBTaXplcyAqL1xuICAgIC51aS5hdHRhY2hlZC5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICAgICAgICBmb250LXNpemU6IEBtZWRpdW1BdHRhY2hlZFNpemU7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB2YXJpYXRpb25IZWFkZXJTaXplcyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvbkhlYWRlclNpemVzLCB7XG4gICAgICAgICAgICBAczogQHt2YWx1ZX1BdHRhY2hlZFNpemU7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0uYXR0YWNoZWQuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IEBAcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhlYWRlcjpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KSB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtRm9udFNpemU7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSWNvblxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiaWNvblwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdERpc2FibGVkOiBpZihAdmFyaWF0aW9uSWNvbkRpc2FibGVkLCBlKFwiOm5vdCguZGlzYWJsZWQpXCIpKTtcbkBub3RDb3JuZXI6IGlmKEB2YXJpYXRpb25JY29uQ29ybmVyLCBlKFwiOm5vdCguY29ybmVyKVwiKSk7XG5Abm90Um90YXRlZDogaWYoQHZhcmlhdGlvbkljb25Sb3RhdGVkLCBlKFwiOm5vdCgucm90YXRlZClcIikpO1xuQG5vdEZsaXBwZWQ6IGlmKEB2YXJpYXRpb25JY29uRmxpcHBlZCwgZShcIjpub3QoLmZsaXBwZWQpXCIpKTtcbkBub3RCb3JkZXJlZDogaWYoQHZhcmlhdGlvbkljb25Cb3JkZXJlZCwgZShcIjpub3QoLmJvcmRlcmVkKVwiKSk7XG5Abm90Q2lyY3VsYXI6IGlmKEB2YXJpYXRpb25JY29uQ2lyY3VsYXIsIGUoXCI6bm90KC5jaXJjdWxhcilcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEBpbXBvcnRJY29ucykge1xuICAgIGVhY2goQGZvbnRzLCB7XG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZWFjaChAdmFsdWUsIHtcbiAgICAgICAgICAgICAgICBAe2tleX06IEB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmkuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IEBvcGFjaXR5O1xuICAgIG1hcmdpbjogMCBAZGlzdGFuY2VGcm9tVGV4dCAwIDA7XG4gICAgd2lkdGg6IEB3aWR0aDtcbiAgICBoZWlnaHQ6IEBoZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IEBmb250TmFtZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBzcGVhazogbm9uZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuaS5pY29uOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25Mb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5sb2FkaW5nLmljb24ge1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIGkubG9hZGluZy5pY29uLFxuICAgIGkubG9hZGluZy5pY29ucyB7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkaW5nRHVyYXRpb24gbGluZWFyIGluZmluaXRlO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmkuaWNvbjpob3ZlcixcbmkuaWNvbnM6aG92ZXIsXG5pLmljb246YWN0aXZlLFxuaS5pY29uczphY3RpdmUsXG5pLmVtcGhhc2l6ZWQuaWNvbkB7bm90RGlzYWJsZWR9LFxuaS5lbXBoYXNpemVkLmljb25zQHtub3REaXNhYmxlZH0ge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25EaXNhYmxlZCkge1xuICAgIGkuZGlzYWJsZWQuaWNvbixcbiAgICBpLmRpc2FibGVkLmljb25zIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25GaXR0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5maXR0ZWQuaWNvbnMsXG4gICAgaS5maXR0ZWQuaWNvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25MaW5rKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5saW5rLmljb25Ae25vdERpc2FibGVkfSxcbiAgICBpLmxpbmsuaWNvbnNAe25vdERpc2FibGVkfSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogQGxpbmtPcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IEBkZWZhdWx0RHVyYXRpb24gQGRlZmF1bHRFYXNpbmc7XG4gICAgfVxuICAgIGkubGluay5pY29uOmhvdmVyLFxuICAgIGkubGluay5pY29uczpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uQ2lyY3VsYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQ2lyY3VsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5jaXJjdWxhci5pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogQGNpcmN1bGFyUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBAY2lyY3VsYXJTaGFkb3c7XG4gICAgICAgIHdpZHRoOiBAY2lyY3VsYXJTaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogQGNpcmN1bGFyU2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICAmLmNvbG9yZWQgd2hlbiAoQHZhcmlhdGlvbkljb25Db2xvcmVkKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uSW52ZXJ0ZWQpIHtcbiAgICAgICAgaS5jaXJjdWxhci5pbnZlcnRlZC5pY29uIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25GbGlwcGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsaXBwZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5mbGlwcGVkLmljb24sXG4gICAgaS5ob3Jpem9udGFsbHkuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICAgIGkudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uR3JvdXBzKSB7XG4gICAgICAgIC5pY29ucyBpLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgtMSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkudmVydGljYWxseS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uUm90YXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBSb3RhdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkucm90YXRlZC5pY29uLFxuICAgIGkucmlnaHQucm90YXRlZC5pY29uLFxuICAgIGkuY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB9XG5cbiAgICBpLmxlZnQucm90YXRlZC5pY29uLFxuICAgIGkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cblxuICAgIGkuaGFsZndheS5yb3RhdGVkLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25Hcm91cHMpIHtcbiAgICAgICAgLmljb25zIGkucm90YXRlZC5yb3RhdGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLnJpZ2h0LnJvdGF0ZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkuY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC5pY29ucyBpLmxlZnQucm90YXRlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5oYWxmd2F5LnJvdGF0ZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkZsaXBwZWQpIGFuZCAoQHZhcmlhdGlvbkljb25Sb3RhdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbGlwcGVkICYgUm90YXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgaS5yb3RhdGVkLmZsaXBwZWQuaWNvbixcbiAgICBpLnJpZ2h0LnJvdGF0ZWQuZmxpcHBlZC5pY29uLFxuICAgIGkuY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG5cbiAgICBpLmxlZnQucm90YXRlZC5mbGlwcGVkLmljb24sXG4gICAgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuXG4gICAgaS5oYWxmd2F5LnJvdGF0ZWQuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSkgcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgaS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uLFxuICAgIGkucmlnaHQucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbixcbiAgICBpLmNsb2Nrd2lzZS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG5cbiAgICBpLmxlZnQucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbixcbiAgICBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cblxuICAgIGkuaGFsZndheS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSkgcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkdyb3Vwcykge1xuICAgICAgICAuaWNvbnMgaS5yb3RhdGVkLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkucmlnaHQucm90YXRlZC5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgtMSwgMSkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5sZWZ0LnJvdGF0ZWQuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5oYWxmd2F5LnJvdGF0ZWQuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC0xLCAxKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5yaWdodC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5jbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLCAtMSkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5sZWZ0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLCAtMSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkuaGFsZndheS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEsIC0xKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkJvcmRlcmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJvcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkuYm9yZGVyZWQuaWNvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIHdpZHRoOiBAYm9yZGVyZWRTaXplO1xuICAgICAgICBoZWlnaHQ6IEBib3JkZXJlZFNpemU7XG4gICAgICAgIHBhZGRpbmc6IEBib3JkZXJlZFZlcnRpY2FsUGFkZGluZyBAYm9yZGVyZWRIb3Jpem9udGFsUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBAYm9yZGVyZWRTaGFkb3c7XG4gICAgICAgICYuY29sb3JlZCB3aGVuIChAdmFyaWF0aW9uSWNvbkNvbG9yZWQpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgICAgICBpLmJvcmRlcmVkLmludmVydGVkLmljb24ge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEludmVydGVkIFNoYXBlcyAqL1xuICAgIGkuaW52ZXJ0ZWQuYm9yZGVyZWQuaWNvbixcbiAgICBpLmludmVydGVkLmNpcmN1bGFyLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxuXG4gICAgaS5pbnZlcnRlZC5pY29uIHtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSWNvbkNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uSWNvbkNvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgaS5Ae2NvbG9yfS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkludmVydGVkKSB7XG4gICAgICAgICAgICBpLmludmVydGVkLkB7Y29sb3J9Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQm9yZGVyZWQpIG9yIChAdmFyaWF0aW9uSWNvbkNpcmN1bGFyKSB7XG4gICAgICAgICAgICAgICAgaS5pbnZlcnRlZC5ib3JkZXJlZC5Ae2NvbG9yfS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbiAgICAgICAgICAgICAgICBpLmludmVydGVkLmNpcmN1bGFyLkB7Y29sb3J9Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuICAgICAgICAgICAgICAgIGkuaW52ZXJ0ZWQuYm9yZGVyZWQuQHtjb2xvcn0uaWNvbnMsXG4gICAgICAgICAgICAgICAgaS5pbnZlcnRlZC5jaXJjdWxhci5Ae2NvbG9yfS5pY29ucyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5pLmljb24sXG5pLmljb25zIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25JY29uU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkljb25TaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgaS5Ae3ZhbHVlfS5Ae3ZhbHVlfS5Ae3ZhbHVlfS5pY29uLFxuICAgICAgICBpLkB7dmFsdWV9LkB7dmFsdWV9LkB7dmFsdWV9Lmljb25zIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25Hcm91cHMpIG9yIChAdmFyaWF0aW9uSWNvbkNvcm5lcikge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGkuaWNvbnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1pbi13aWR0aDogQHdpZHRoO1xuICAgICAgICBtaW4taGVpZ2h0OiBAaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgQGRpc3RhbmNlRnJvbVRleHQgMCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaS5pY29ucyAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAmQHtub3RDb3JuZXJ9QHtub3RSb3RhdGVkfUB7bm90RmxpcHBlZH0ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpLmljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgaS5pY29uc0B7bm90Qm9yZGVyZWR9QHtub3RDaXJjdWxhcn0gLmljb246Zmlyc3QtY2hpbGRAe25vdFJvdGF0ZWR9QHtub3RGbGlwcGVkfSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQ29ybmVyKSB7XG4gICAgICAgIC8qIENvcm5lciBJY29uICovXG4gICAgICAgIGkuaWNvbnMgLmNvcm5lci5pY29uIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGNvcm5lckljb25TaXplO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBjb3JuZXJJY29uU2hhZG93O1xuICAgICAgICAgICAgJkB7bm90Um90YXRlZH1Ae25vdEZsaXBwZWR9IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIHJpZ2h0XCJdIHtcbiAgICAgICAgICAgIHRvcDogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgbGVmdFwiXSB7XG4gICAgICAgICAgICB0b3A6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiBAY29ybmVyT2Zmc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBAY29ybmVyT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGkuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSByaWdodFwiXSB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkludmVydGVkKSB7XG4gICAgICAgICAgICBpLmljb25zIC5pbnZlcnRlZC5jb3JuZXIuaWNvbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBjb3JuZXJJY29uSW52ZXJ0ZWRTaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoKEB2YXJpYXRpb25JY29uR3JvdXBzKSBvciAoQHZhcmlhdGlvbkljb25Db3JuZXIpKSBhbmQgKChAdmFyaWF0aW9uSWNvbkJvcmRlcmVkKSBvciAoQHZhcmlhdGlvbkljb25DaXJjdWxhcikpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIEJvcmRlcmVkL2NpcmN1bGFyIHdpdGggY29ybmVyIG9yIGdyb3VwIGljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICBpLmJvcmRlcmVkLmljb25zLFxuICAgIGkuY2lyY3VsYXIuaWNvbnMge1xuICAgICAgICB3aWR0aDogQGJvcmRlcmVkU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAYm9yZGVyZWRTaXplO1xuICAgICAgICBib3gtc2hhZG93OiBAYm9yZGVyZWRTaGFkb3c7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICYuY29sb3JlZCB3aGVuIChAdmFyaWF0aW9uSWNvbkNvbG9yZWQpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuICAgIGkuY2lyY3VsYXIuaWNvbnMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MDBlbTtcbiAgICB9XG4gICAgaS5ib3JkZXJlZC5pY29ucyBpLmljb246Zmlyc3QtY2hpbGQsXG4gICAgaS5jaXJjdWxhci5pY29ucyBpLmljb246Zmlyc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCBJY29uICovXG4gICAgICAgIGkuYm9yZGVyZWQuaW52ZXJ0ZWQuaWNvbnMsXG4gICAgICAgIGkuY2lyY3VsYXIuaW52ZXJ0ZWQuaWNvbnMge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQ29ybmVyKSB7XG4gICAgICAgIC8qIENvcm5lciBJY29uICovXG4gICAgICAgIGkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyLFxuICAgICAgICBpLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcixcbiAgICAgICAgaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIHJpZ2h0XCJdLFxuICAgICAgICBpLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gcmlnaHRcIl0ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBAYm9yZGVyZWRHcm91cENvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIHJpZ2h0XCJdLFxuICAgICAgICBpLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgcmlnaHRcIl0ge1xuICAgICAgICAgICAgdG9wOiBAYm9yZGVyZWRHcm91cENvcm5lck9mZnNldDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIGxlZnRcIl0sXG4gICAgICAgIGkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCBsZWZ0XCJdIHtcbiAgICAgICAgICAgIHRvcDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiBAYm9yZGVyZWRHcm91cENvcm5lck9mZnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSBsZWZ0XCJdLFxuICAgICAgICBpLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBAYm9yZGVyZWRHcm91cENvcm5lck9mZnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBAYm9yZGVyZWRHcm91cENvcm5lck9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdlbmVyYXRlSWNvbnMoQG1hcCwgQGZvbnRGYW1pbHk6IGZhbHNlLCBAcHNldWRvOiBiZWZvcmUpIHtcbiAgICBlYWNoKEBtYXAsIHtcbiAgICAgICAgQGVzY2FwZWRLZXk6IHJlcGxhY2UoQGtleSwgXCJeKFswLTldKVwiLCBcIlxcMyQxIFwiKTtcbiAgICAgICAgQG5vcm1hbGl6ZWRLZXk6IHJlcGxhY2UoQGVzY2FwZWRLZXksIFwiX1wiLCBAaWNvbkNsYXNzU2VwYXJhdG9yLCBcImdcIik7XG4gICAgICAgIEB1bm9yZGVyZWRLZXk6IGUoJShcIi4lczo6JXNcIixAbm9ybWFsaXplZEtleSwgQHBzZXVkbykpO1xuICAgICAgICBAb3JkZXJlZEtleTogZSglKCdbJXMqPVwiJXNcIl06OiVzJywgQGljb25Gb3JjZWRBdHRyaWJ1dGUsIEBub3JtYWxpemVkS2V5LCBAcHNldWRvKSk7XG4gICAgICAgIEBzZWxlY3RvcktleTogaWYoQGljb25Gb3JjZWRPcmRlciBvciBAaWNvbkNsYXNzU2VwYXJhdG9yID0gXCIgXCIsIEBvcmRlcmVkS2V5LCBAdW5vcmRlcmVkS2V5KTtcbiAgICAgICAgaS5pY29uQHtzZWxlY3RvcktleX0ge1xuICAgICAgICAgICAgY29udGVudDogXCJAe3ZhbHVlfVwiO1xuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGZvbnRGYW1pbHkgPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udEZhbWlseTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uRGVwcmVjYXRlZCkge1xuICAgIC8qIERlcHJlY2F0ZWQgKkluL091dCBOYW1pbmcgQ29uZmxpY3QpICovXG4gICAgLmdlbmVyYXRlSWNvbnMoQGljb24tZGVwcmVjYXRlZC1tYXApO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uU29saWQpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU29saWQgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyogSWNvbnMgKi9cbiAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1tYXApO1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25BbGlhc2VzKSB7XG4gICAgICAgIC8qIEFsaWFzZXMgKi9cbiAgICAgICAgLmdlbmVyYXRlSWNvbnMoQGljb24tYWxpYXNlcy1tYXApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbk91dGxpbmUpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE91dGxpbmUgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgaS5pY29uLm91dGxpbmUge1xuICAgICAgICBmb250LWZhbWlseTogQG91dGxpbmVGb250TmFtZTtcbiAgICB9XG5cbiAgICAvKiBJY29ucyAqL1xuICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLW91dGxpbmUtbWFwKTtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQWxpYXNlcykge1xuICAgICAgICAvKiBBbGlhc2VzICovXG4gICAgICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLW91dGxpbmUtYWxpYXNlcy1tYXApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvblRoaW4pIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBUaGluIEljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qIEljb25zICovXG4gICAgaS5pY29uLnRoaW4ge1xuICAgICAgICBmb250LWZhbWlseTogQHRoaW5Gb250TmFtZTtcbiAgICB9XG4gICAgLmdlbmVyYXRlSWNvbnMoQGljb24tdGhpbi1tYXApO1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25BbGlhc2VzKSB7XG4gICAgICAgIC8qIEFsaWFzZXMgKi9cbiAgICAgICAgLmdlbmVyYXRlSWNvbnMoQGljb24tdGhpbi1hbGlhc2VzLW1hcCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uQnJhbmQpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBCcmFuZCBJY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAvKiBJY29ucyAqL1xuICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWJyYW5kLW1hcCwgQGJyYW5kRm9udE5hbWUpO1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25BbGlhc2VzKSB7XG4gICAgICAgIC8qIEFsaWFzZXMgKi9cbiAgICAgICAgLmdlbmVyYXRlSWNvbnMoQGljb24tYnJhbmQtYWxpYXNlcy1tYXAsIEBicmFuZEZvbnROYW1lKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25EdW90b25lKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgRHVvdG9uZSBJY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAvKiBNYWtlIGR1b3RvbmUgaWNvbnMgdXNlIHRoZSBwcm9wZXIgZm9udCAqL1xuICAgIGkuaWNvbi5kdW90b25lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBkdW90b25lRm9udE5hbWU7XG5cbiAgICAgICAgLyogVG8gcG9zaXRpb24gdGhlIHNlY29uZGFyeSBsYXllciBvbiB0b3Agb2YgdGhlIGZpcnN0IGxheWVyICovXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvKiBTZXQgdGhlIGRlZmF1bHQgb3BhY2l0eSBsZXZlbHMgYW5kIGNvbG9ycyBmb3IgZWFjaCBsYXllciAqL1xuICAgIGkuaWNvbi5kdW90b25lOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogQGR1b3RvbmVQcmltYXJ5Q29sb3I7XG4gICAgICAgIG9wYWNpdHk6IEBkdW90b25lUHJpbWFyeU9wYWNpdHk7XG4gICAgfVxuXG4gICAgaS5pY29uLmR1b3RvbmU6OmFmdGVyIHtcbiAgICAgICAgLyogUG9zaXRpb24gc2Vjb25kYXJ5IGxheWVyIHRvIHRoZSBsZWZ0LCBjZW50ZXJlZCBob3Jpem9udGFsbHkgYW5kIGFsaWduZWQgdmVydGljYWxseSB0byBmbGV4IHdpdGggZGlmZmVyZW50IGxpbmUgaGVpZ2h0cyAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IEBkdW90b25lU2Vjb25kYXJ5Q29sb3I7XG4gICAgICAgIG9wYWNpdHk6IEBkdW90b25lU2Vjb25kYXJ5T3BhY2l0eTtcbiAgICB9XG5cbiAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1kdW90b25lLW1hcCk7XG4gICAgLmdlbmVyYXRlSWNvbnMoQGljb24tZHVvdG9uZS1zZWNvbmRhcnktbWFwLCBmYWxzZSwgYWZ0ZXIpO1xuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkFsaWFzZXMpIHtcbiAgICAgICAgLyogQWxpYXNlcyAqL1xuICAgICAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1kdW90b25lLWFsaWFzZXMtbWFwKTtcbiAgICAgICAgLmdlbmVyYXRlSWNvbnMoQGljb24tZHVvdG9uZS1zZWNvbmRhcnktYWxpYXNlcy1tYXAsIGZhbHNlLCBhZnRlcik7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBDb2xvcnMgZm9yIGR1b3RvbmUgaWNvbnMsIGluIHRoZSBmb3JtIGBwcmltYXJ5LXNlY29uZGFyeWAoZS5nLiBgYmxhY2stZ3JleSBkdW90b25lIGljb25gKS5cbiAgICAgKi9cbiAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uSWNvbkNvbG9ycyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvbkljb25Db2xvcnMsIHtcbiAgICAgICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuXG4gICAgICAgICAgICBpLmljb24uZHVvdG9uZVtjbGFzcyo9XCJAe2NvbG9yfS1cIl06OmJlZm9yZSxcbiAgICAgICAgICAgIGkuaWNvbi5kdW90b25lW2NsYXNzKj1cIi1Ae2NvbG9yfVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgaS5pY29uLmludmVydGVkLmR1b3RvbmVbY2xhc3MqPVwiQHtjb2xvcn0tXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgaS5pY29uLmludmVydGVkLmR1b3RvbmVbY2xhc3MqPVwiLUB7Y29sb3J9XCJdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBJbWFnZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiaW1hZ2VcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSW1hZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGxhY2Vob2xkZXJDb2xvcjtcbn1cblxuaW1nLnVpLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLmltYWdlIHN2Zyxcbi51aS5pbWFnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5oaWRkZW4uaW1hZ2VzLFxuLnVpLnVpLmhpZGRlbi5pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5oaWRkZW4udHJhbnNpdGlvbi5pbWFnZXMsXG4udWkuaGlkZGVuLnRyYW5zaXRpb24uaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pbWFnZXMgPiAuaGlkZGVuLnRyYW5zaXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQuaW1hZ2VzLFxuICAgIC51aS5kaXNhYmxlZC5pbWFnZSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VJbmxpbmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW5saW5lXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW5saW5lLmltYWdlLFxuICAgIC51aS5pbmxpbmUuaW1hZ2Ugc3ZnLFxuICAgIC51aS5pbmxpbmUuaW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWZXJ0aWNhbCBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRvcC5hbGlnbmVkLmltYWdlLFxuICAgIC51aS50b3AuYWxpZ25lZC5pbWFnZSBzdmcsXG4gICAgLnVpLnRvcC5hbGlnbmVkLmltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlLFxuICAgIC51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBzdmcsXG4gICAgLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlLFxuICAgIC51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBzdmcsXG4gICAgLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gICAgLnVpLnRvcC5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4gICAgLnVpLmltYWdlcyAudWkudG9wLmFsaWduZWQuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAudWkubWlkZGxlLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkuaW1hZ2VzIC51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4gICAgLnVpLmltYWdlcyAudWkuYm90dG9tLmFsaWduZWQuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlUm91bmRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSb3VuZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucm91bmRlZC5pbWFnZXMgLmltYWdlLFxuICAgIC51aS5yb3VuZGVkLmltYWdlLFxuICAgIC51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UgPiAqLFxuICAgIC51aS5yb3VuZGVkLmltYWdlID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEByb3VuZGVkQm9yZGVyUmFkaXVzO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VCb3JkZXJlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJvcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYm9yZGVyZWQuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkuYm9yZGVyZWQuaW1hZ2VzIGltZyxcbiAgICAudWkuYm9yZGVyZWQuaW1hZ2VzIHN2ZyxcbiAgICAudWkuYm9yZGVyZWQuaW1hZ2UgaW1nLFxuICAgIC51aS5ib3JkZXJlZC5pbWFnZSBzdmcsXG4gICAgaW1nLnVpLmJvcmRlcmVkLmltYWdlIHtcbiAgICAgICAgYm9yZGVyOiBAaW1hZ2VCb3JkZXI7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZUNpcmN1bGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2lyY3VsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jaXJjdWxhci5pbWFnZXMsXG4gICAgLnVpLmNpcmN1bGFyLmltYWdlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudWkuY2lyY3VsYXIuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkuY2lyY3VsYXIuaW1hZ2UsXG4gICAgLnVpLmNpcmN1bGFyLmltYWdlcyAuaW1hZ2UgPiAqLFxuICAgIC51aS5jaXJjdWxhci5pbWFnZSA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZUZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmx1aWQuaW1hZ2VzLFxuICAgIC51aS5mbHVpZC5pbWFnZSxcbiAgICAudWkuZmx1aWQuaW1hZ2VzIGltZyxcbiAgICAudWkuZmx1aWQuaW1hZ2VzIHN2ZyxcbiAgICAudWkuZmx1aWQuaW1hZ2Ugc3ZnLFxuICAgIC51aS5mbHVpZC5pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlQXZhdGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEF2YXRhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmF2YXRhci5pbWFnZXMgLmltYWdlLFxuICAgIC51aS5hdmF0YXIuaW1hZ2VzIGltZyxcbiAgICAudWkuYXZhdGFyLmltYWdlcyBzdmcsXG4gICAgLnVpLmF2YXRhci5pbWFnZSBpbWcsXG4gICAgLnVpLmF2YXRhci5pbWFnZSBzdmcsXG4gICAgLnVpLmF2YXRhci5pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGF2YXRhck1hcmdpbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogQGF2YXRhclNpemU7XG4gICAgICAgIGhlaWdodDogQGF2YXRhclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlU3BhY2VkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTcGFjZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNwYWNlZC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogQHNwYWNlZERpc3RhbmNlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzcGFjZWREaXN0YW5jZTtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBzcGFjZWRcIl0uaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogQHNwYWNlZERpc3RhbmNlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IHNwYWNlZFwiXS5pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzcGFjZWREaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmxvYXRlZC5pbWFnZSxcbiAgICAudWkuZmxvYXRlZC5pbWFnZXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZmxvYXRlZEhvcml6b250YWxNYXJnaW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBmbG9hdGVkVmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIC51aS5yaWdodC5mbG9hdGVkLmltYWdlcyxcbiAgICAudWkucmlnaHQuZmxvYXRlZC5pbWFnZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZmxvYXRlZFZlcnRpY2FsTWFyZ2luO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsb2F0ZWRIb3Jpem9udGFsTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5mbG9hdGVkLmltYWdlczpsYXN0LWNoaWxkLFxuICAgIC51aS5mbG9hdGVkLmltYWdlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VDZW50ZXJlZCkge1xuICAgIC51aS5jZW50ZXJlZC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAudWkuY2VudGVyZWQuaW1hZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVkaXVtLmltYWdlcyAuaW1hZ2UsXG4udWkubWVkaXVtLmltYWdlcyBpbWcsXG4udWkubWVkaXVtLmltYWdlcyBzdmcsXG4udWkubWVkaXVtLmltYWdlIHtcbiAgICB3aWR0aDogQG1lZGl1bVdpZHRoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSW1hZ2VTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uSW1hZ2VTaXplcywge1xuICAgICAgICBAdzogQHt2YWx1ZX1XaWR0aDtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5pbWFnZXMgLmltYWdlLFxuICAgICAgICAudWkuQHt2YWx1ZX0uaW1hZ2VzIGltZyxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmltYWdlcyBzdmcsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogQEB3O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZUdyb3Vwcykge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLnVpLmltYWdlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbWFyZ2luOiAwIC1AaW1hZ2VIb3Jpem9udGFsTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5pbWFnZXMgLmltYWdlLFxuICAgIC51aS5pbWFnZXMgPiBpbWcsXG4gICAgLnVpLmltYWdlcyA+IHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIEBpbWFnZUhvcml6b250YWxNYXJnaW4gQGltYWdlVmVydGljYWxNYXJnaW47XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIElucHV0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJpbnB1dFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdENvcm5lcjogaWYoQHZhcmlhdGlvbklucHV0Q29ybmVyLCBlKFwiOm5vdCguY29ybmVyKVwiKSk7XG5Abm90QWN0aW9uOiBpZihAdmFyaWF0aW9uSW5wdXRBY3Rpb24sIGUoXCI6bm90KC5hY3Rpb24pXCIpKTtcbkBub3REaXNhYmxlZDogaWYoQHZhcmlhdGlvbklucHV0RGlzYWJsZWQsIGUoXCI6bm90KC5kaXNhYmxlZClcIikpO1xuXG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25CdXR0b25CYXNpYywgZShcIjpub3QoLmJhc2ljKVwiKSk7XG5Abm90VGVydGlhcnk6IGlmKEB2YXJpYXRpb25CdXR0b25UZXJ0aWFyeSwgZShcIjpub3QoLnRlcnRpYXJ5KVwiKSk7XG5Abm90TGluazogaWYoQHZhcmlhdGlvbkljb25MaW5rLCBlKFwiOm5vdCgubGluaylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiBAaW5wdXRDb2xvcjtcbn1cbi51aS5pbnB1dCA+IGlucHV0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBAaW5wdXRGb250O1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBjb2xvcjogQGlucHV0Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgICY6bm90KFt0eXBlPVwiY29sb3JcIl0pIHtcbiAgICAgICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBicm93c2VycyByZXF1aXJlIHRoZXNlIHJ1bGVzIHNlcGFyYXRlICovXG5cbi51aS5pbnB1dCA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBwbGFjZWhvbGRlckNvbG9yO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG4udWkuaW5wdXQgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgIGNvbG9yOiBAcGxhY2Vob2xkZXJDb2xvcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0RGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5pbnB1dCxcbiAgICAudWkuaW5wdXRAe25vdERpc2FibGVkfSBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cblxuICAgIC51aS5kaXNhYmxlZC5pbnB1dCA+IGlucHV0LFxuICAgIC51aS5pbnB1dEB7bm90RGlzYWJsZWR9IGlucHV0W2Rpc2FibGVkXSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAZGlzYWJsZWRQb2ludGVyRXZlbnRzO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmlucHV0ID4gaW5wdXQ6YWN0aXZlLFxuLnVpLmlucHV0LmRvd24gaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogQGRvd25Cb3JkZXJDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAZG93bkJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBkb3duQ29sb3I7XG4gICAgYm94LXNoYWRvdzogQGRvd25Cb3hTaGFkb3c7XG59XG5cbi51aS5mb3JtIC5maWVsZCA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmlucHV0ID4gdGV4dGFyZWE6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuZm9ybSAuZmllbGQgPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5pbnB1dCA+IGlucHV0OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6IEBzZWxlY3RlZEJvcmRlckNvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dExvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkubG9hZGluZy5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckZpbGxDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLmxvYWRpbmcuaW5wdXQgPiBpLmljb246OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgQGxvYWRlclNwZWVkIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dCxcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBmb2N1c0JvcmRlckNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBmb2N1c0JhY2tncm91bmQ7XG4gICAgY29sb3I6IEBmb2N1c0NvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBmb2N1c0JveFNoYWRvdztcbn1cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0OjpwbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBwbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG4mIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAudWkuaW5wdXQuZm9jdXMgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IEBwbGFjZWhvbGRlckZvY3VzQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSW5wdXRTdGF0ZXMgPSBmYWxzZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBTdGF0ZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICBlYWNoKEB2YXJpYXRpb25JbnB1dFN0YXRlcywge1xuICAgICAgICBAc3RhdGU6IEB2YWx1ZTtcblxuICAgICAgICAudWkuaW5wdXQuQHtzdGF0ZX0gPiBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtiYWNrZ3JvdW5kXTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyQ29sb3JdO1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2NvbG9yXTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JveFNoYWRvd107XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAc3RhdGU9ZXJyb3IpIGFuZCAoQHZhcmlhdGlvbklucHV0SW52YWxpZCkge1xuICAgICAgICAgICAgLnVpLmlucHV0ID4gaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93bik6aW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYmFja2dyb3VuZF07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJDb2xvcl07XG4gICAgICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2NvbG9yXTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3hTaGFkb3ddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmlucHV0ID4gaW5wdXQ6bm90KDotbXMtaW5wdXQtcGxhY2Vob2xkZXIpOmludmFsaWQgd2hlbiAoQHN1cHBvcnRJRSl7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYmFja2dyb3VuZF07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJDb2xvcl07XG4gICAgICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2NvbG9yXTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3hTaGFkb3ddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogUGxhY2Vob2xkZXIgKi9cbiAgICAgICAgLnVpLmlucHV0LkB7c3RhdGV9ID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dFBsYWNlaG9sZGVyQ29sb3JdO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnB1dC5Ae3N0YXRlfSA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckNvbG9yXSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRm9jdXNlZCBQbGFjZWhvbGRlciAqL1xuICAgICAgICAudWkuaW5wdXQuQHtzdGF0ZX0gPiBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0UGxhY2Vob2xkZXJGb2N1c0NvbG9yXTtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW5wdXQuQHtzdGF0ZX0gPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSl7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3JdICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRUcmFuc3BhcmVudCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgVHJhbnNwYXJlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50cmFuc3BhcmVudC5pbnB1dCA+IHRleHRhcmVhLFxuICAgIC51aS50cmFuc3BhcmVudC5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZpZWxkIC51aS50cmFuc3BhcmVudC5pbnB1dCA+IHRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogVHJhbnNwYXJlbnQgSWNvbiAqL1xuICAgIDpub3QoLmZpZWxkKSA+IC51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgICAgICAgd2lkdGg6IEB0cmFuc3BhcmVudEljb25XaWR0aDtcbiAgICB9XG4gICAgOm5vdCguZmllbGQpID4gLnVpLnVpLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQHRyYW5zcGFyZW50SWNvbk1hcmdpbjtcbiAgICB9XG4gICAgOm5vdCguZmllbGQpID4gLnVpLnVpLnVpLnRyYW5zcGFyZW50W2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAdHJhbnNwYXJlbnRJY29uTWFyZ2luO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JbnB1dEludmVydGVkKSB7XG4gICAgICAgIC8qIFRyYW5zcGFyZW50IEludmVydGVkICovXG4gICAgICAgIC51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCB7XG4gICAgICAgICAgICBjb2xvcjogQHRyYW5zcGFyZW50SW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAgICAgLnVpLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IEB0cmFuc3BhcmVudEludmVydGVkUGxhY2Vob2xkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgY29sb3I6IEB0cmFuc3BhcmVudEludmVydGVkUGxhY2Vob2xkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRJY29uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IEBpY29uV2lkdGg7XG4gICAgICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuaWNvbi5pbnB1dCA+IGkuaWNvbkB7bm90TGlua30ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLnVpLnVpLnVpLnVpLmljb24uaW5wdXRAe25vdENvcm5lcn0gPiB0ZXh0YXJlYSxcbiAgICAudWkudWkudWkudWkuaWNvbi5pbnB1dEB7bm90Q29ybmVyfSA+IGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGljb25NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbiAgICAudWkuaWNvbi5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiBAaWNvbk9mZnNldDtcbiAgICB9XG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmxpbmsuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICAgICAgICB0b3A6IEBjaXJjdWxhckljb25WZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgcmlnaHQ6IEBjaXJjdWxhckljb25Ib3Jpem9udGFsT2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIExlZnQgSWNvbiBJbnB1dCAqL1xuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpLmljb24ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogQGJvcmRlcldpZHRoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5jaXJjdWxhci5pY29uIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IEBjaXJjdWxhckljb25Ib3Jpem9udGFsT2Zmc2V0O1xuICAgIH1cbiAgICAudWkudWkudWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXJcIl0pLmlucHV0ID4gdGV4dGFyZWEsXG4gICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAaWNvbk1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXUB7bm90Q29ybmVyfS5pbnB1dCA+IHRleHRhcmVhLFxuICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl1Ae25vdENvcm5lcn0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBob3Jpem9udGFsUGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsXG4gICAgLnVpLmljb24uaW5wdXQgPiB0ZXh0YXJlYTpmb2N1cyB+IGkuaWNvbixcbiAgICAudWkuaWNvbi5pbnB1dCA+IGlucHV0OmZvY3VzIH4gaS5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogQGljb25Gb2N1c09wYWNpdHk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dExhYmVsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGFiZWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogQWRqYWNlbnQgTGFiZWwgKi9cbiAgICAudWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWVkaXVtO1xuICAgIH1cbiAgICAudWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbEB7bm90Q29ybmVyfSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAdmVydGljYWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHZlcnRpY2FsUGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBSZWd1bGFyIExhYmVsIG9uIExlZnQgKi9cbiAgICAudWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAudWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQgKyBpbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAZm9jdXNCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBSZWd1bGFyIExhYmVsIG9uIFJpZ2h0ICovXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCArIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGZvY3VzQm9yZGVyQ29sb3IgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0Q29ybmVyKSB7XG4gICAgLyogQ29ybmVyIExhYmVsICovXG4gICAgLnVpLmxhYmVsZWQuaW5wdXQgLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIHRvcDogQGxhYmVsQ29ybmVyVG9wO1xuICAgICAgICByaWdodDogQGxhYmVsQ29ybmVyUmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQGxhYmVsQ29ybmVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAvKiBTcGFjaW5nIHdpdGggY29ybmVyIGxhYmVsICovXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24sXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRNYXJnaW47XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkuZHJvcGRvd24sXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhLFxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkSWNvbklucHV0TWFyZ2luO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gaS5pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbGFiZWxlZEljb25NYXJnaW47XG4gICAgfVxuXG4gICAgLyogTGVmdCBMYWJlbGVkICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93bjpmaXJzdC1jaGlsZCxcbiAgICAudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5pY29uICsgLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gdGV4dGFyZWEsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGxhYmVsZWRNYXJnaW47XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbklucHV0SWNvbikge1xuICAgICAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24sXG4gICAgICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IHRleHRhcmVhLFxuICAgICAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZEljb25JbnB1dE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24sXG4gICAgICAgIC51aS51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IHRleHRhcmVhLFxuICAgICAgICAudWkudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkQW5kSWNvbk1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAbGFiZWxlZEljb25NYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkTWFyZ2luICogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24sXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuZHJvcGRvd24ge1xuICAgICAgICAmID4gLnNlYXJjaCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkTWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgICYgPiAubWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkSWNvbk1hcmdpbjtcbiAgICAgICAgICAgICYgPiAuaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZE1hcmdpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLUBsYWJlbGVkSWNvbk1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24ge1xuICAgICAgICAmID4gLnNlYXJjaCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkQW5kSWNvbk1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAmID4gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkQW5kSWNvbk1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24sXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24ge1xuICAgICAgICAmID4gLnNlYXJjaCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZE1hcmdpbiArIEBsYWJlbGVkSWNvbklucHV0TWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgICYgPiAucmVtb3ZlLmljb24sXG4gICAgICAgID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgIC51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pOm5vdCg6aGFzKC51aS5kcm9wZG93biB+IGlucHV0KSkgPiAudWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZE1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biB7XG4gICAgICAgICYgPiAuc2VhcmNoIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkQW5kSWNvbk1hcmdpbiArIEBsYWJlbGVkSWNvbklucHV0TWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgICYgPiAucmVtb3ZlLmljb24sXG4gICAgICAgID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRBbmRJY29uTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5pY29uLmlucHV0ID4gLnVpLnZpc2libGUuZHJvcGRvd24gfiBpLmljb24sXG4gICAgLnVpLmljb24uaW5wdXQgPiAudWkuYWN0aXZlLmRyb3Bkb3duIH4gaS5pY29uLFxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS52aXNpYmxlLmRyb3Bkb3duIH4gLnVpLmNvcm5lci5sYWJlbCxcbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuYWN0aXZlLmRyb3Bkb3duIH4gLnVpLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IEBsYWJlbGVkRHJvcGRvd25aSW5kZXg7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRJY29uKSB7XG4gICAgLnVpLmljb24uaW5wdXQgPiB0ZXh0YXJlYSB+IGkuaWNvbiB7XG4gICAgICAgIGhlaWdodDogQHRleHRhcmVhSWNvbkhlaWdodDtcbiAgICB9XG4gICAgOm5vdCguZmllbGQpID4gLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiB0ZXh0YXJlYSB+IGkuaWNvbiB7XG4gICAgICAgIGhlaWdodDogQHRyYW5zcGFyZW50VGV4dGFyZWFJY29uSGVpZ2h0O1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0Q29ybmVyKSB7XG4gICAgLyogQ29ybmVyIExhYmVsIFBvc2l0aW9uICovXG4gICAgLnVpLmlucHV0ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIHRvcDogQGJvcmRlcldpZHRoO1xuICAgICAgICByaWdodDogQGJvcmRlcldpZHRoO1xuICAgIH1cbiAgICAudWkuaW5wdXQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogQGJvcmRlcldpZHRoO1xuICAgIH1cbn1cblxuJiB3aGVuICgoQHZhcmlhdGlvbklucHV0TGFiZWxlZCkgb3IgKEB2YXJpYXRpb25JbnB1dEFjdGlvbikpIGFuZCBub3QgKEB2YXJpYXRpb25JbnB1dFN0YXRlcyA9IGZhbHNlKSB7XG4gICAgLyogTGFiZWxlZCBhbmQgYWN0aW9uIGlucHV0IHN0YXRlcyAqL1xuICAgIGVhY2goQHZhcmlhdGlvbklucHV0U3RhdGVzLCB7XG4gICAgICAgIEBzdGF0ZTogQHZhbHVlO1xuICAgICAgICBAYm9yZGVyQ29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcblxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gPiAudWkuYWN0aW9uLmlucHV0ID4gLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4gICAgICAgIC51aS5hY3Rpb24uaW5wdXQuQHtzdGF0ZX0gPiAudWkuYnV0dG9uLFxuICAgICAgICAudWkubGFiZWxlZC5pbnB1dC5Ae3N0YXRlfTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gPiAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAudWkuYnV0dG9uLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gPiAudWkubGFiZWxlZC5pbnB1dDpub3QoLnJpZ2h0KTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCxcbiAgICAgICAgLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0LkB7c3RhdGV9ID4gLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmxhYmVsZWQuaW5wdXQuQHtzdGF0ZX06bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbiAgICAgICAgLnVpLmFjdGlvbi5pbnB1dC5Ae3N0YXRlfTpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuQHtzdGF0ZX06bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCxcbiAgICAgICAgLnVpLmFjdGlvbi5pbnB1dC5Ae3N0YXRlfTpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuQHtzdGF0ZX06bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWw6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5yaWdodC5sYWJlbGVkLmlucHV0LkB7c3RhdGV9Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0QWN0aW9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEFjdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b24sXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogQHZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEB2ZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKiBJbnB1dCB3aGVuIHVpIExlZnQgKi9cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiBpbnB1dCxcbiAgICAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiBJbnB1dCB3aGVuIHVpIFJpZ2h0ICovXG4gICAgLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0LFxuICAgIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiBCdXR0b24gYW5kIERyb3Bkb3duICovXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5kcm9wZG93bjpmaXJzdC1jaGlsZCxcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnM6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5kcm9wZG93bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnM6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5kcm9wZG93bjpsYXN0LWNoaWxkLFxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uOmxhc3QtY2hpbGQsXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAvKiBJbnB1dCBGb2N1cyAqL1xuICAgIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dDpmb2N1cyxcbiAgICAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBmb2N1c0JvcmRlckNvbG9yO1xuICAgIH1cblxuICAgIC51aS51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IGlucHV0OmZvY3VzLFxuICAgIC51aS51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBmb2N1c0JvcmRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTdGFuZGFyZCAqL1xuICAgIC51aS5pbnZlcnRlZC5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLmlucHV0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLnVpLmZsdWlkLmlucHV0ID4gaW5wdXQge1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRGaWxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZpbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIHdpZHRoIGhhY2sgZm9yIGNocm9tZS9lZGdlICovXG4gICAgLnVpLmZpbGUuaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5mb3JtIC5maWVsZCA+IGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIC51aS5maWxlLmlucHV0QHtub3RBY3Rpb259IGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudWkuYWN0aW9uLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbiAgICAudWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZpbGVCdXR0b25NYXJnaW47XG4gICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBmaWxlQnV0dG9uRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBmaWxlQnV0dG9uVGV4dENvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgY29sb3I6IEBmaWxlQnV0dG9uVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAudWkuYWN0aW9uLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2UsXG4gICAgICAgIC51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGZpbGVCdXR0b25CYWNrZ3JvdW5kO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IEBmaWxlQnV0dG9uRm9udFdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIElFIG5lZWRzIGFkZGl0aW9uYWwgc3R5bGluZyBmb3IgaW5wdXQgZmllbGQgOlMgKi9cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAudWkuZmlsZS5pbnB1dCA+IGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmFjdGlvbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4gICAgLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmaWxlQnV0dG9uTWFyZ2luO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZmlsZUJ1dHRvbkZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JbnB1dEludmFsaWQpIHtcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOnJlcXVpcmVkOmludmFsaWQsXG4gICAgICAgIC51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOnJlcXVpcmVkOmludmFsaWQge1xuICAgICAgICAgICAgY29sb3I6IEBuZWdhdGl2ZVRleHRDb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBuZWdhdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQG5lZ2F0aXZlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5pbnZpc2libGUuZmlsZS5pbnB1dCxcbiAgICAudWkuaW52aXNpYmxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5idXR0b25Ae25vdEJhc2ljfUB7bm90VGVydGlhcnl9LFxuICAgIC51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYnV0dG9uQHtub3RCYXNpY31Ae25vdFRlcnRpYXJ5fSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICBjb2xvcjogQGhvdmVyZWRUZXh0Q29sb3I7XG4gICAgICAgICYuaW52ZXJ0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGZpbGVCdXR0b25JbnZlcnRlZEJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIHRoaXMgaXMgcmVsYXRlZCB0byBleGlzdGluZyBidXR0b25zLCBzbyB0aGUgYnV0dG9uIGNvbG9yIHZhcmlhYmxlIGlzIHVzZWQgaGVyZSEgKi9cbiAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uQnV0dG9uQ29sb3JzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uQnV0dG9uQ29sb3JzLCB7XG4gICAgICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgICAgIEBsaDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEhvdmVyXTtcblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLkB7Y29sb3J9LmJ1dHRvbkB7bm90QmFzaWN9QHtub3RUZXJ0aWFyeX0sXG4gICAgICAgICAgICAudWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLkB7Y29sb3J9LmJ1dHRvbkB7bm90QmFzaWN9QHtub3RUZXJ0aWFyeX0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgJi5pbnZlcnRlZCB3aGVuIChAdmFyaWF0aW9uQnV0dG9uSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvbklucHV0Q29sb3JzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uSW5wdXRDb2xvcnMsIHtcbiAgICAgICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAgICAgQGg6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5Ae2NvbG9yfS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuQHtjb2xvcn0uZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbiAgICAgICAgICAgICAgICAudWkuQHtjb2xvcn0uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuQHtjb2xvcn0uZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmlucHV0IHtcbiAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25JbnB1dFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25JbnB1dFNpemVzLCB7XG4gICAgICAgIEBzOiBAe3ZhbHVlfUlucHV0U2l6ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmlucHV0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTGFiZWxcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImxhYmVsXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90VGFnOiBpZihAdmFyaWF0aW9uTGFiZWxUYWcsIGUoXCI6bm90KC50YWcpXCIpKTtcbkBub3RJbWFnZTogaWYoQHZhcmlhdGlvbkxhYmVsSW1hZ2UsIGUoXCI6bm90KC5pbWFnZSlcIikpO1xuQG5vdFJpYmJvbjogaWYoQHZhcmlhdGlvbkxhYmVsUmliYm9uLCBlKFwiOm5vdCgucmliYm9uKVwiKSk7XG5cbkBub3RCYXNpYzogaWYoQHZhcmlhdGlvblNlZ21lbnRCYXNpYywgZShcIjpub3QoLmJhc2ljKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xuICAgIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIEBob3Jpem9udGFsTWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGJhY2tncm91bmRJbWFnZTtcbiAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAdGV4dFRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udWkubGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBMaW5rICovXG5hLnVpLmxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEluc2lkZSBMaW5rICovXG4udWkubGFiZWwgPiBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogQGxpbmtPcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IEBsaW5rVHJhbnNpdGlvbjtcbn1cbi51aS5sYWJlbCA+IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEltYWdlICovXG4udWkubGFiZWwgPiBpbWcge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IEBpbWFnZUhlaWdodDtcbn1cblxuLyogSWNvbiAqL1xuLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5sYWJlbCA+IC5pY29uLFxuLnVpLmxhYmVsID4gLmljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBAaWNvbkRpc3RhbmNlIDAgMDtcbn1cblxuLyogRGV0YWlsICovXG4udWkubGFiZWwgPiAuZGV0YWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXdlaWdodDogQGRldGFpbEZvbnRXZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBkZXRhaWxNYXJnaW47XG4gICAgb3BhY2l0eTogQGRldGFpbE9wYWNpdHk7XG59XG4udWkubGFiZWwgPiAuZGV0YWlsIC5pY29uIHtcbiAgICBtYXJnaW46IDAgQGRldGFpbEljb25EaXN0YW5jZSAwIDA7XG59XG5cbi8qIFJlbW92YWJsZSBsYWJlbCAqL1xuLnVpLmxhYmVsID4gLmNsb3NlLmljb24sXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IEBkZWxldGVTaXplO1xuICAgIG9wYWNpdHk6IEBkZWxldGVPcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IEBkZWxldGVUcmFuc2l0aW9uO1xufVxuLnVpLmxhYmVsID4gLmNsb3NlLmljb246aG92ZXIsXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEJhY2t3YXJkIGNvbXBhdGlibGUgcG9zaXRpb25pbmcgKi9cbi51aS5sYWJlbFtjbGFzcyo9XCJsZWZ0IGljb25cIl0gPiAuY2xvc2UuaWNvbixcbi51aS5sYWJlbFtjbGFzcyo9XCJsZWZ0IGljb25cIl0gPiAuZGVsZXRlLmljb24ge1xuICAgIG1hcmdpbjogMCBAZGVsZXRlTWFyZ2luIDAgMDtcbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAZGVsZXRlTWFyZ2luO1xuICAgIH1cbn1cbi51aS5sYWJlbDpub3QoLmljb24pID4gLmNsb3NlLmljb24sXG4udWkubGFiZWw6bm90KC5pY29uKSA+IC5kZWxldGUuaWNvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCBAZGVsZXRlTWFyZ2luO1xufVxuXG4vKiBMYWJlbCBmb3Igb25seSBhbiBpY29uICovXG4udWkuaWNvbi5sYWJlbCA+IC5pY29uIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogUmlnaHQgU2lkZSBJY29uICovXG4udWlbY2xhc3MqPVwicmlnaHQgaWNvblwiXS5sYWJlbCA+IC5pY29uIHtcbiAgICBtYXJnaW46IDAgMCAwIEBpY29uRGlzdGFuY2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxhYmVscyA+IC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIEBncm91cEhvcml6b250YWxNYXJnaW4gQGdyb3VwVmVydGljYWxNYXJnaW4gMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaGVhZGVyID4gLnVpLmxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiBAbGluZUhlaWdodE9mZnNldDtcbn1cblxuLyogUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gYXR0YWNoZWQgc2VnbWVudCAqL1xuLnVpLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLmxlZnQuYXR0YWNoZWQubGFiZWwsXG4udWkuYm90dG9tLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLmxlZnQuYXR0YWNoZWQubGFiZWwge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4udWkuYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AucmlnaHQuYXR0YWNoZWQubGFiZWwsXG4udWkuYm90dG9tLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmxhYmVsIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS50b3AuYXR0YWNoZWQuc2VnbWVudCA+IC51aS5ib3R0b20ubGVmdC5hdHRhY2hlZC5sYWJlbCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS50b3AuYXR0YWNoZWQuc2VnbWVudCA+IC51aS5ib3R0b20ucmlnaHQuYXR0YWNoZWQubGFiZWwge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4vKiBQYWRkaW5nIG9uIG5leHQgY29udGVudCBhZnRlciBhIGxhYmVsICovXG4udWkudG9wLmF0dGFjaGVkLmxhYmVsIH4gLnVpLmJvdHRvbS5hdHRhY2hlZC5sYWJlbCArIDpub3QoLmF0dGFjaGVkKSxcbi51aS50b3AuYXR0YWNoZWQubGFiZWwgKyA6bm90KC5hdHRhY2hlZCkge1xuICAgIG1hcmdpbi10b3A6IEBhdHRhY2hlZFNlZ21lbnRQYWRkaW5nICFpbXBvcnRhbnQ7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsIH4gOmxhc3QtY2hpbGQ6bm90KC5hdHRhY2hlZCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogQGF0dGFjaGVkU2VnbWVudFBhZGRpbmcgIWltcG9ydGFudDtcbn1cblxuLnVpLnNlZ21lbnRAe25vdEJhc2ljfSA+IC51aS50b3AuYXR0YWNoZWQubGFiZWwge1xuICAgIG1hcmdpbi10b3A6IEBhdHRhY2hlZE9mZnNldDtcbn1cbi51aS5zZWdtZW50QHtub3RCYXNpY30gPiAudWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRPZmZzZXQ7XG59XG4udWkuc2VnbWVudEB7bm90QmFzaWN9ID4gLnVpLmF0dGFjaGVkLmxhYmVsOm5vdCgucmlnaHQpIHtcbiAgICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkT2Zmc2V0O1xufVxuLnVpLnNlZ21lbnRAe25vdEJhc2ljfSA+IC51aS5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRPZmZzZXQ7XG59XG4udWkuc2VnbWVudEB7bm90QmFzaWN9ID4gLnVpLmF0dGFjaGVkLmxhYmVsOm5vdCgubGVmdCk6bm90KC5yaWdodCkge1xuICAgIHdpZHRoOiBAYXR0YWNoZWRXaWR0aE9mZnNldDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsSW1hZ2UpIHtcbiAgICAudWkuaW1hZ2UubGFiZWxzIC5sYWJlbCxcbiAgICAudWkuaW1hZ2UubGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5OTk5cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbWFnZUxhYmVsQmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogQGltYWdlTGFiZWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAaW1hZ2VMYWJlbEJvcmRlclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogQGltYWdlTGFiZWxCb3hTaGFkb3c7XG4gICAgICAgICYuYXR0YWNoZWRAe25vdEJhc2ljfSB3aGVuIChAdmFyaWF0aW9uTGFiZWxBdHRhY2hlZCkge1xuICAgICAgICAgICAgcGFkZGluZzogQGltYWdlTGFiZWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5sYWJlbHMgLmltYWdlLmxhYmVsLFxuICAgIC51aS5pbWFnZS5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGdyb3VwVmVydGljYWxNYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLmltYWdlLmxhYmVsIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgaGVpZ2h0OiBAaW1hZ2VMYWJlbEltYWdlSGVpZ2h0O1xuICAgICAgICBtYXJnaW46IEBpbWFnZUxhYmVsSW1hZ2VNYXJnaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBpbWFnZUxhYmVsSW1hZ2VCb3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpLmltYWdlLmxhYmVsIC5kZXRhaWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW1hZ2VMYWJlbERldGFpbEJhY2tncm91bmQ7XG4gICAgICAgIG1hcmdpbjogQGltYWdlTGFiZWxEZXRhaWxNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBpbWFnZUxhYmVsRGV0YWlsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAaW1hZ2VMYWJlbEJvcmRlclJhZGl1cyBAaW1hZ2VMYWJlbEJvcmRlclJhZGl1cyAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEF0dGFjaGVkKSB7XG4gICAgICAgIC51aS5ib3R0b20uYXR0YWNoZWQuaW1hZ2UubGFiZWw6bm90KC5yaWdodCkgPiBpbWcsXG4gICAgICAgIC51aS50b3AucmlnaHQuYXR0YWNoZWQuaW1hZ2UubGFiZWwgPiBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS50b3AuYXR0YWNoZWQuaW1hZ2UubGFiZWw6bm90KC5yaWdodCkgPiBpbWcsXG4gICAgICAgIC51aS5ib3R0b20ucmlnaHQuYXR0YWNoZWQuaW1hZ2UubGFiZWwgPiBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxUYWcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgVGFnXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50YWcubGFiZWxzIC5sYWJlbCxcbiAgICAudWkudGFnLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0YWdIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogQHRhZ0hvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBAdGFnVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLnRhZy5sYWJlbHMgLmxhYmVsOjpiZWZvcmUsXG4gICAgLnVpLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0b3A6IEB0YWdUcmlhbmdsZVRvcE9mZnNldDtcbiAgICAgICAgcmlnaHQ6IEB0YWdUcmlhbmdsZVJpZ2h0T2Zmc2V0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAdGFnVHJpYW5nbGVCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIHdpZHRoOiBAdGFnVHJpYW5nbGVTaXplO1xuICAgICAgICBoZWlnaHQ6IEB0YWdUcmlhbmdsZVNpemU7XG4gICAgICAgIHRyYW5zaXRpb246IEB0YWdUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC51aS50YWcubGFiZWxzIC5sYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLnRhZy5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAtKEB0YWdDaXJjbGVTaXplIC8gMik7XG4gICAgICAgIG1hcmdpbi10b3A6IC0oQHRhZ0NpcmNsZVNpemUgLyAyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRhZ0NpcmNsZUNvbG9yO1xuICAgICAgICB3aWR0aDogQHRhZ0NpcmNsZVNpemU7XG4gICAgICAgIGhlaWdodDogQHRhZ0NpcmNsZVNpemU7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0YWdDaXJjbGVCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxCYXNpYykge1xuICAgICAgICAudWkuYmFzaWMudGFnLmxhYmVscyAubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgLnVpLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogQGJhc2ljQm9yZGVyV2lkdGggMCAwIEBiYXNpY0JvcmRlcldpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICAgICAgICAgICAgcmlnaHQ6IEBiYXNpY0JvcmRlckZ1bGxXaWR0aE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMudGFnLmxhYmVscyAubGFiZWw6OmFmdGVyLFxuICAgICAgICAudWkuYmFzaWMudGFnLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNUYWdDaXJjbGVCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQ29ybmVyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb3JuZXIgTGFiZWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgd2lkdGg6IEBjb3JuZXJUcmlhbmdsZVNpemU7XG4gICAgICAgIGhlaWdodDogQGNvcm5lclRyaWFuZ2xlU2l6ZTtcbiAgICAgICAgei1pbmRleDogQGNvcm5lclRyaWFuZ2xlWkluZGV4O1xuICAgICAgICB0cmFuc2l0aW9uOiBAY29ybmVyVHJpYW5nbGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qIEljb24gTGFiZWwgKi9cbiAgICAudWkuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmNvcm5lci5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY29ybmVyVHJpYW5nbGVTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBAY29ybmVyVHJpYW5nbGVTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBAY29ybmVyVHJpYW5nbGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC51aS5jb3JuZXIubGFiZWwgLmljb24ge1xuICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBAY29ybmVySWNvblRvcE9mZnNldDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IEBjb3JuZXJJY29uUmlnaHRPZmZzZXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNvcm5lckljb25TaXplO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogTGVmdCBDb3JuZXIgKi9cbiAgICAudWkubGVmdC5jb3JuZXIubGFiZWwsXG4gICAgLnVpLmxlZnQuY29ybmVyLmxhYmVsOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAudWkubGVmdC5jb3JuZXIubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGNvcm5lclRyaWFuZ2xlU2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY29ybmVyVHJpYW5nbGVTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLnVpLmxlZnQuY29ybmVyLmxhYmVsIC5pY29uIHtcbiAgICAgICAgbGVmdDogQGNvcm5lckljb25MZWZ0T2Zmc2V0O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBTZWdtZW50ICovXG4gICAgLnVpLnNlZ21lbnQgPiAudWkuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICB9XG4gICAgLnVpLnNlZ21lbnQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsUmliYm9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSaWJib25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwO1xuICAgICAgICBib3JkZXItY29sb3I6IEByaWJib25TaGFkb3dDb2xvcjtcbiAgICB9XG5cbiAgICAudWkucmliYm9uLmxhYmVsOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIEByaWJib25UcmlhbmdsZVNpemUgQHJpYmJvblRyaWFuZ2xlU2l6ZSAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyogUG9zaXRpb25pbmcgKi9cbiAgICAudWkucmliYm9uLmxhYmVsIHtcbiAgICAgICAgbGVmdDogQHJpYmJvbk9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtQHJpYmJvblRyaWFuZ2xlU2l6ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAcmliYm9uRGlzdGFuY2U7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEByaWJib25UcmlhbmdsZVNpemU7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICAgICAgICBsZWZ0OiBAcmlnaHRSaWJib25PZmZzZXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHJpYmJvblRyaWFuZ2xlU2l6ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQHJpYmJvbkRpc3RhbmNlO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEJhc2ljKSB7XG4gICAgICAgIC51aS5iYXNpYy5yaWJib24ubGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IEBiYXNpY1JpYmJvbk9mZnNldDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAYmFzaWNSaWJib25PZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLnJpYmJvbi5sYWJlbDpub3QoW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAYmFzaWNSaWJib25UcmlhbmdsZVNpemVPZmZzZXQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAYmFzaWNSaWJib25UcmlhbmdsZVNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBiYXNpY1JpYmJvblRyaWFuZ2xlU2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBiYXNpY1JpYmJvblRyaWFuZ2xlU2l6ZU9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMucmliYm9uLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IEBiYXNpY0JvcmRlckZ1bGxXaWR0aE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMucmliYm9uLmxhYmVsOm5vdChbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdKTo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogQGJhc2ljQm9yZGVyV2lkdGhPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IEBiYXNpY0JvcmRlcldpZHRoT2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUmlnaHQgUmliYm9uICovXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogQHJpYmJvblRyaWFuZ2xlU2l6ZSBAcmliYm9uVHJpYW5nbGVTaXplIDAgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAudWkudWkuY2VudGVyLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIHRvcDogQHJpYmJvbkNlbnRlck9mZnNldDtcbiAgICAgICAgei1pbmRleDogQHJpYmJvblpJbmRleDtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5yaWJib24ubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogQHJpYmJvblRyaWFuZ2xlU2l6ZSBAcmliYm9uVHJpYW5nbGVTaXplIDAgMDtcbiAgICB9XG4gICAgLnVpLmJvdHRvbVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBAcmliYm9uVHJpYW5nbGVTaXplIDAgMCBAcmliYm9uVHJpYW5nbGVTaXplO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKiBJbnNpZGUgSW1hZ2UgKi9cbiAgICAudWkuaW1hZ2UgPiAucmliYm9uLmxhYmVsLFxuICAgIC51aS5jYXJkIC5pbWFnZSA+IC5yaWJib24ubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogQHJpYmJvbkltYWdlVG9wRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS5jYXJkIC5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwsXG4gICAgLnVpLmltYWdlID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IEByaWJib25JbWFnZU9mZnNldDtcbiAgICB9XG4gICAgLnVpLmNhcmQgLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCxcbiAgICAudWkuaW1hZ2UgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgICAgICAgbGVmdDogQHJpZ2h0UmliYm9uSW1hZ2VPZmZzZXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuY2FyZCAuaW1hZ2UgPiAudWkuYm90dG9tLnJpYmJvbi5sYWJlbCxcbiAgICAudWkuaW1hZ2UgPiAudWkuYm90dG9tLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIGJvdHRvbTogQHJpYmJvbkltYWdlQm90dG9tRGlzdGFuY2U7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBJbnNpZGUgVGFibGUgKi9cbiAgICAudWkudGFibGUgdGQgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgICAgICAgbGVmdDogQHJpYmJvblRhYmxlT2Zmc2V0O1xuICAgIH1cbiAgICAudWkudGFibGUgdGQgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgICAgICAgbGVmdDogQHJpZ2h0UmliYm9uVGFibGVPZmZzZXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxBdHRhY2hlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsLFxuICAgIC51aS5hdHRhY2hlZC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiBAYXR0YWNoZWRWZXJ0aWNhbFBhZGRpbmcgQGF0dGFjaGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cyBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJ0b3AgbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMCBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwidG9wIHJpZ2h0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cyAwIEBhdHRhY2hlZEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBsZWZ0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBhdHRhY2hlZEJvcmRlclJhZGl1cyAwIEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZEJvcmRlclJhZGl1cyAwIEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cyAwO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxEaXNhYmxlZCkge1xuICAgIC51aS5kaXNhYmxlZC5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5sYWJlbC5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAZGlzYWJsZWRQb2ludGVyRXZlbnRzO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5sYWJlbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGFiZWxIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAbGFiZWxIb3ZlckJhY2tncm91bmRJbWFnZTtcbiAgICBjb2xvcjogQGxhYmVsSG92ZXJUZXh0Q29sb3I7XG59XG4udWkubGFiZWxzIGEubGFiZWw6aG92ZXI6OmJlZm9yZSxcbmEudWkubGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgY29sb3I6IEBsYWJlbEhvdmVyVGV4dENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmFjdGl2ZS5sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsQWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGxhYmVsQWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRJbWFnZTtcbiAgICBjb2xvcjogQGxhYmVsQWN0aXZlVGV4dENvbG9yO1xufVxuLnVpLmFjdGl2ZS5sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGFiZWxBY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsQWN0aXZlQmFja2dyb3VuZEltYWdlO1xuICAgIGNvbG9yOiBAbGFiZWxBY3RpdmVUZXh0Q29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGFiZWxzIGEuYWN0aXZlLmxhYmVsOmhvdmVyLFxuYS51aS5hY3RpdmUubGFiZWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGxhYmVsQWN0aXZlSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsQWN0aXZlSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyVGV4dENvbG9yO1xufVxuLnVpLmxhYmVscyBhLmFjdGl2ZS5sYWJlbDpob3Zlcjo6YmVmb3JlLFxuYS51aS5hY3RpdmUubGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsQWN0aXZlSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsQWN0aXZlSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyVGV4dENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGFiZWxzLnZpc2libGUgLmxhYmVsLFxuLnVpLmxhYmVsLnZpc2libGU6bm90KC5kcm9wZG93bikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5sYWJlbHMuaGlkZGVuIC5sYWJlbCxcbi51aS5sYWJlbC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxCYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5iYXNpYy5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5iYXNpYy5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogQGJhc2ljQm9yZGVyO1xuICAgICAgICBjb2xvcjogQGJhc2ljQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbiAgICAgICAgcGFkZGluZy10b3A6IEBiYXNpY1ZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBiYXNpY1ZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGJhc2ljSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5iYXNpYy5sYWJlbHNAe25vdFRhZ31Ae25vdEltYWdlfUB7bm90UmliYm9ufSAubGFiZWwsXG4gICAgLnVpLmJhc2ljLmxhYmVsQHtub3RUYWd9QHtub3RJbWFnZX1Ae25vdFJpYmJvbn0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBiYXNpY0hvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEltYWdlKSB7XG4gICAgICAgIC51aS5iYXNpYy5pbWFnZS5sYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBiYXNpY0ltYWdlTGFiZWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTGluayAqL1xuICAgIC51aS5iYXNpYy5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbiAgICBhLnVpLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNIb3ZlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNIb3ZlckJveFNoYWRvdztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxQb2ludGluZykge1xuICAgICAgICAvKiBQb2ludGluZyAqL1xuICAgICAgICAudWkuYmFzaWMucG9pbnRpbmcubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sYWJlbC5mbHVpZCxcbiAgICAudWkuZmx1aWQubGFiZWxzID4gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbENlbnRlcmVkKSB7XG4gICAgLnVpLmNlbnRlcmVkLmxhYmVscyAubGFiZWwsXG4gICAgLnVpLmNlbnRlcmVkLmxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLmxhYmVscyAubGFiZWwsXG4gICAgLnVpLmludmVydGVkLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5jb3JuZXIubGFiZWw6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IEBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWw6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IEBiYXNpY0ludmVydGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibGFjaztcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBsaW5rQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkxhYmVsQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25MYWJlbENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGlzRGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc0RhcmtdO1xuICAgICAgICBAX2xhYmVsQ29sb3I6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAX2xhYmVsSW52ZXJ0ZWRDb2xvcjogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBfbGFiZWxUZXh0Q29sb3I6IEBjb2xvcnNbQEBjb2xvcl1bdGV4dF07XG4gICAgICAgIEBfbGFiZWxIb3ZlcjogQGNvbG9yc1tAQGNvbG9yXVtob3Zlcl07XG4gICAgICAgIEBfbGFiZWxJbnZlcnRlZEhvdmVyOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuICAgICAgICBAX2xhYmVsSG92ZXJUZXh0Q29sb3I6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJUZXh0XTtcbiAgICAgICAgQF9sYWJlbFJpYmJvblNoYWRvdzogQGNvbG9yc1tAQGNvbG9yXVtyaWJib25dO1xuICAgICAgICBAX2xhYmVsSW52ZXJ0ZWRSaWJib25TaGFkb3c6IEBjb2xvcnNbQEBjb2xvcl1baW52ZXJ0ZWRSaWJib25dO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5sYWJlbHMgLmxhYmVsLFxuICAgICAgICAudWkudWkudWkuQHtjb2xvcn0ubGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQF9sYWJlbENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQF9sYWJlbFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAvKiBMaW5rICovXG4gICAgICAgIC51aS5Ae2NvbG9yfS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbiAgICAgICAgYS51aS51aS51aS5Ae2NvbG9yfS5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAX2xhYmVsSG92ZXI7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBfbGFiZWxIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAX2xhYmVsSG92ZXJUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxSaWJib24pIHtcbiAgICAgICAgICAgIC8qIFJpYmJvbiAqL1xuICAgICAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LnJpYmJvbi5sYWJlbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsUmliYm9uU2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQmFzaWMpIHtcbiAgICAgICAgICAgIC8qIEJhc2ljICovXG4gICAgICAgICAgICAudWkuYmFzaWMubGFiZWxzIC5Ae2NvbG9yfS5sYWJlbCxcbiAgICAgICAgICAgIC51aS51aS51aS5iYXNpYy5Ae2NvbG9yfS5sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBfbGFiZWxDb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQF9sYWJlbENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLmxhYmVscyBhLkB7Y29sb3J9LmxhYmVsOmhvdmVyLFxuICAgICAgICAgICAgYS51aS51aS51aS5iYXNpYy5Ae2NvbG9yfS5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBfbGFiZWxIb3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQF9sYWJlbEhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQubGFiZWxzIC5Ae2NvbG9yfS5sYWJlbCxcbiAgICAgICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQF9sYWJlbEludmVydGVkQ29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLyogSW52ZXJ0ZWQgTGluayAqL1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmxhYmVscyBhLkB7Y29sb3J9LmxhYmVsOmhvdmVyLFxuICAgICAgICAgICAgYS51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQF9sYWJlbEludmVydGVkSG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRIb3ZlcjtcbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQF9sYWJlbFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbFJpYmJvbikge1xuICAgICAgICAgICAgICAgIC8qIEludmVydGVkIFJpYmJvbiAqL1xuICAgICAgICAgICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5yaWJib24ubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBfbGFiZWxJbnZlcnRlZFJpYmJvblNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEJhc2ljKSB7XG4gICAgICAgICAgICAgICAgLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5Ae2NvbG9yfS5sYWJlbCxcbiAgICAgICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuQHtjb2xvcn0ubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBfbGFiZWxJbnZlcnRlZENvbG9yO1xuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQF9sYWJlbEludmVydGVkQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5Ae2NvbG9yfS5sYWJlbDpob3ZlcixcbiAgICAgICAgICAgICAgICBhLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLkB7Y29sb3J9LmxhYmVsOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRIb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxJbnZlcnRlZEhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsVGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbiAgICAgICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLkB7Y29sb3J9LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMudGFnLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogQGludmVydGVkQm9yZGVyU2l6ZSBzb2xpZCBAX2xhYmVsSW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuQHtjb2xvcn0ubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogQGludmVydGVkQm9yZGVyU2l6ZSAwIDAgQGludmVydGVkQm9yZGVyU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogZSglKFwiY2FsYygxMDAlJSArICVkKVwiLCBAaW52ZXJ0ZWRCb3JkZXJTaXplKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaG9yaXpvbnRhbC5sYWJlbHMgLmxhYmVsLFxuLnVpLmhvcml6b250YWwubGFiZWwge1xuICAgIG1hcmdpbjogMCBAaG9yaXpvbnRhbExhYmVsTWFyZ2luIDAgMDtcbiAgICBwYWRkaW5nOiBAaG9yaXpvbnRhbExhYmVsVmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICBtaW4td2lkdGg6IEBob3Jpem9udGFsTGFiZWxNaW5XaWR0aDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQ2lyY3VsYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jaXJjdWxhci5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5jaXJjdWxhci5sYWJlbCB7XG4gICAgICAgIG1pbi13aWR0aDogQGNpcmN1bGFyTWluU2l6ZTtcbiAgICAgICAgbWluLWhlaWdodDogQGNpcmN1bGFyTWluU2l6ZTtcbiAgICAgICAgcGFkZGluZzogQGNpcmN1bGFyUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICB9XG4gICAgLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4gICAgLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVsIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogQGVtcHR5Q2lyY2xlU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAZW1wdHlDaXJjbGVTaXplO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbFBvaW50aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBQb2ludGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucG9pbnRpbmcubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnVpLmF0dGFjaGVkLnBvaW50aW5nLmxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC51aS5wb2ludGluZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IEBwb2ludGluZ0JvcmRlckNvbG9yO1xuICAgIH1cblxuICAgIC8qIEFycm93ICovXG4gICAgLnVpLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgei1pbmRleDogQHBvaW50aW5nVHJpYW5nbGVaSW5kZXg7XG4gICAgICAgIHdpZHRoOiBAcG9pbnRpbmdUcmlhbmdsZVNpemU7XG4gICAgICAgIGhlaWdodDogQHBvaW50aW5nVHJpYW5nbGVTaXplO1xuICAgICAgICB0cmFuc2l0aW9uOiBAcG9pbnRpbmdUcmlhbmdsZVRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLyogLS0tIEFib3ZlIC0tLSAqL1xuICAgIC51aS5wb2ludGluZy5sYWJlbCxcbiAgICAudWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiBAcG9pbnRpbmdWZXJ0aWNhbERpc3RhbmNlO1xuICAgIH1cbiAgICAudWkucG9pbnRpbmcubGFiZWw6OmJlZm9yZSxcbiAgICAudWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogQGJvcmRlcldpZHRoIDAgMCBAYm9yZGVyV2lkdGg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgIH1cblxuICAgIC8qIC0tLSBCZWxvdyAtLS0gKi9cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsLFxuICAgIC51aVtjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBwb2ludGluZ1ZlcnRpY2FsRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSxcbiAgICAudWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoIDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG5cbiAgICAvKiAtLS0gTGVmdCAtLS0gKi9cbiAgICAudWlbY2xhc3MqPVwibGVmdCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAcG9pbnRpbmdIb3Jpem9udGFsRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAvKiAtLS0gUmlnaHQgLS0tICovXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IHBvaW50aW5nXCJdLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAcG9pbnRpbmdIb3Jpem9udGFsRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoIDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxCYXNpYykge1xuICAgICAgICAvKiBCYXNpYyBQb2ludGluZyAqL1xuXG4gICAgICAgIC8qIC0tLSBBYm92ZSAtLS0gKi9cbiAgICAgICAgLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUsXG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBiYXNpY1BvaW50aW5nVHJpYW5nbGVPZmZzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiAtLS0gQmVsb3cgLS0tICovXG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgLnVpLmJhc2ljW2NsYXNzKj1cInBvaW50aW5nIGJlbG93XCJdLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLUBiYXNpY1BvaW50aW5nVHJpYW5nbGVPZmZzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiAtLS0gTGVmdCAtLS0gKi9cbiAgICAgICAgLnVpLmJhc2ljW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IEBiYXNpY1BvaW50aW5nVHJpYW5nbGVPZmZzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiAtLS0gUmlnaHQgLS0tICovXG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IEBiYXNpY1BvaW50aW5nVHJpYW5nbGVPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsRmxvYXRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGluZyBMYWJlbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG9hdGluZy5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogQGZsb2F0aW5nWkluZGV4O1xuICAgICAgICB0b3A6IEBmbG9hdGluZ1RvcE9mZnNldDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbiAgICAudWkucmlnaHQuYWxpZ25lZC5mbG9hdGluZy5sYWJlbCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChAZmxvYXRpbmdBbGlnbk9mZnNldCk7XG4gICAgfVxuICAgIC51aS5sZWZ0LmZsb2F0aW5nLmxhYmVsIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgLnVpLmxlZnQuYWxpZ25lZC5mbG9hdGluZy5sYWJlbCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtQGZsb2F0aW5nQWxpZ25PZmZzZXQpO1xuICAgIH1cbiAgICAudWkuYm90dG9tLmZsb2F0aW5nLmxhYmVsIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IEBmbG9hdGluZ0JvdHRvbU9mZnNldDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5sYWJlbHMgLmxhYmVsLFxuLnVpLmxhYmVsIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTGFiZWxTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTGFiZWxTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmxhYmVscyAubGFiZWwsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTGlzdFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwibGlzdFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFNlbGVjdGlvbjogaWYoQHZhcmlhdGlvbkxpc3RTZWxlY3Rpb24sIGUoXCI6bm90KC5zZWxlY3Rpb24pXCIpKTtcbkBub3RJY29uOiBpZihAdmFyaWF0aW9uTGlzdEljb24sIGUoXCI6bm90KC5pY29uKVwiKSk7XG5Abm90SG9yaXpvbnRhbDogaWYoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsLCBlKFwiOm5vdCguaG9yaXpvbnRhbClcIikpO1xuQG5vdENlbGxlZDogaWYoQHZhcmlhdGlvbkxpc3RDZWxsZWQsIGUoXCI6bm90KC5jZWxsZWQpXCIpKTtcblxuQG5vdExvYWRpbmc6IGlmKEB2YXJpYXRpb25JY29uTG9hZGluZywgZShcIjpub3QoLmxvYWRpbmcpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIExpc3RcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbnVsLnVpLmxpc3QsXG5vbC51aS5saXN0LFxuLnVpLmxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogQGxpc3RTdHlsZVR5cGU7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xufVxuXG51bC51aS5saXN0OmZpcnN0LWNoaWxkLFxub2wudWkubGlzdDpmaXJzdC1jaGlsZCxcbi51aS5saXN0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG51bC51aS5saXN0Omxhc3QtY2hpbGQsXG5vbC51aS5saXN0Omxhc3QtY2hpbGQsXG4udWkubGlzdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogTGlzdCBJdGVtICovXG51bC51aS5saXN0IGxpLFxub2wudWkubGlzdCBsaSxcbi51aS5saXN0ID4gLml0ZW0sXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IEBsaXN0U3R5bGVUeXBlO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IEBsaXN0U3R5bGVQb3NpdGlvbjtcbiAgICBwYWRkaW5nOiBAaXRlbVBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IEBpdGVtTGluZUhlaWdodDtcbn1cblxudWwudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOjphZnRlcixcbm9sLnVpLmxpc3QgPiBsaTpmaXJzdC1jaGlsZDo6YWZ0ZXIsXG4udWkubGlzdCA+IC5saXN0ID4gLml0ZW06OmFmdGVyLFxuLnVpLmxpc3QgPiAuaXRlbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxudWwudWkubGlzdCBsaTpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG51bC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiBDaGlsZCBMaXN0ICovXG51bC51aS5saXN0IHVsLFxub2wudWkubGlzdCBvbCxcbi51aS5saXN0IC5saXN0QHtub3RJY29ufSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IEBjaGlsZExpc3RQYWRkaW5nO1xufVxuXG4vKiBDaGlsZCBJdGVtICovXG51bC51aS5saXN0IHVsIGxpLFxub2wudWkubGlzdCBvbCBsaSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICAgIHBhZGRpbmc6IEBjaGlsZEl0ZW1QYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiBAY2hpbGRJdGVtTGluZUhlaWdodDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEljb24pIHtcbiAgICAvKiBJY29uICovXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbiAgICAudWkubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbWluLXdpZHRoOiAxLjU1ZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IEBpY29uT2Zmc2V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gICAgICAgICZAe25vdExvYWRpbmd9IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBpY29uRGlzdGFuY2U7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25Db250ZW50VmVydGljYWxBbGlnbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gaS5pY29uOm9ubHktY2hpbGQsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SW1hZ2UpIHtcbiAgICAvKiBJbWFnZSAqL1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VBbGlnbjtcbiAgICB9XG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpLFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBpbWFnZURpc3RhbmNlO1xuICAgIH1cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VBbGlnbjtcbiAgICB9XG5cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi8qIENvbnRlbnQgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IEBjb250ZW50TGluZUhlaWdodDtcbiAgICBjb2xvcjogQGNvbnRlbnRDb2xvcjtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJbWFnZSkgb3IgKEB2YXJpYXRpb25MaXN0SWNvbikge1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCxcbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiBpLmljb24gKyAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBAY29udGVudERpc3RhbmNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGNvbnRlbnRWZXJ0aWNhbEFsaWduO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkubG9hZGluZy5pY29uICsgLmNvbnRlbnQsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGkubG9hZGluZy5pY29uICsgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGUoJShcImNhbGMoJWQgKyAlZClcIiwgQGljb25EaXN0YW5jZSwgQGNvbnRlbnREaXN0YW5jZSkpO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJbWFnZSkge1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UgKyAuY29udGVudCxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCA+IC5saXN0LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50ID4gLmxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIZWFkZXIpIHtcbiAgICAvKiBIZWFkZXIgKi9cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBpdGVtSGVhZGVyRm9udEZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBpdGVtSGVhZGVyRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBpdGVtSGVhZGVyQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0RGVzY3JpcHRpb24pIHtcbiAgICAvKiBEZXNjcmlwdGlvbiAqL1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uLFxuICAgIC51aS5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBAaXRlbURlc2NyaXB0aW9uQ29sb3I7XG4gICAgfVxufVxuXG4vKiBDaGlsZCBMaW5rICovXG4udWkubGlzdCA+IC5pdGVtIGEsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogTGlua2luZyBJdGVtICovXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbSxcbi51aS5saXN0ID4gYS5pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IEBpdGVtTGlua0NvbG9yO1xufVxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gICAgY29sb3I6IEBpdGVtTGlua0hvdmVyQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgLyogTGlua2VkIEl0ZW0gSWNvbnMgKi9cbiAgICAudWkubGlzdCAubGlzdCA+IGEuaXRlbSA+IGkuaWNvbnMsXG4gICAgLnVpLmxpc3QgPiBhLml0ZW0gPiBpLmljb25zLFxuICAgIC51aS5saXN0IC5saXN0ID4gYS5pdGVtID4gaS5pY29uLFxuICAgIC51aS5saXN0ID4gYS5pdGVtID4gaS5pY29uIHtcbiAgICAgICAgY29sb3I6IEBpdGVtTGlua0ljb25Db2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIZWFkZXIpIHtcbiAgICAvKiBIZWFkZXIgTGluayAqL1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gYS5oZWFkZXIsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSBhLmhlYWRlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IEBpdGVtSGVhZGVyTGlua0NvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBhLmhlYWRlcjpob3ZlcixcbiAgICAudWkubGlzdCA+IC5pdGVtID4gYS5oZWFkZXI6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGl0ZW1IZWFkZXJMaW5rSG92ZXJDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEZsb2F0ZWQpIHtcbiAgICAvKiBGbG9hdGVkIENvbnRlbnQgKi9cbiAgICAudWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmxpc3Qge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ubGlzdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4gICAgLnVpLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogQGxlZnRGbG9hdE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbiAgICAudWkubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IEByaWdodEZsb2F0TWFyZ2luO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtLFxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBAbGlzdFN0eWxlVHlwZTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBAbGlzdFN0eWxlUG9zaXRpb247XG4gICAgcGFkZGluZzogQGl0ZW1WZXJ0aWNhbFBhZGRpbmcgQGl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogQGl0ZW1MaW5lSGVpZ2h0O1xufVxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSG9yaXpvbnRhbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaG9yaXpvbnRhbC5saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAaG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwubGlzdEB7bm90Q2VsbGVkfSA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbiAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4gICAgLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50LFxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBob3Jpem9udGFsVmVydGljYWxBbGlnbjtcbiAgICB9XG5cbiAgICAvKiBQYWRkaW5nIG9uIGFsbCBlbGVtZW50cyAqL1xuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbiAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SWNvbikge1xuICAgICAgICAvKiBIb3Jpem9udGFsIExpc3QgKi9cbiAgICAgICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5saXN0IC5pdGVtID4gaS5pY29ucyA+IGkuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIEBob3Jpem9udGFsSWNvbkRpc3RhbmNlIDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW1hZ2UpIG9yIChAdmFyaWF0aW9uTGlzdEljb24pIHtcbiAgICAgICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbiAgICAgICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW1hZ2UpIHtcbiAgICAgICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3REaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSxcbiAgICAudWkubGlzdCA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWRDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSxcbiAgICAgICAgLnVpLmludmVydGVkLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGlzYWJsZWRDb2xvciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEljb24pIHtcbiAgICAudWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3ZlciA+IC5pY29ucyxcbiAgICAudWkubGlzdCA+IGEuaXRlbTpob3ZlciA+IC5pY29ucyxcbiAgICAudWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3ZlciA+IGkuaWNvbixcbiAgICAudWkubGlzdCA+IGEuaXRlbTpob3ZlciA+IGkuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAaXRlbUxpbmtJY29uSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtID4gaS5pY29uLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbSA+IGkuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSWNvbkxpbmtDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SGVhZGVyKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gLmhlYWRlcixcbiAgICAgICAgLnVpLmludmVydGVkLmxpc3QgPiAuaXRlbSAuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0RGVzY3JpcHRpb24pIHtcbiAgICAgICAgLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24sXG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREZXNjcmlwdGlvbkNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbiAgICAudWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29udGVudENvbG9yO1xuICAgIH1cblxuICAgIC8qIEl0ZW0gTGluayAqL1xuICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtLFxuICAgIC51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSXRlbUxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4gICAgLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW06aG92ZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkSXRlbUxpbmtIb3ZlckNvbG9yO1xuICAgIH1cblxuICAgIC8qIExpbmtpbmcgQ29udGVudCAqL1xuICAgIC51aS5pbnZlcnRlZC5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICAgICAgICBjb2xvcjogQGludmVydGVkSXRlbUxpbmtDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1MaW5rSG92ZXJDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmltYWdlLFxuICAgIC51aS5saXN0W2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5jb250ZW50LFxuICAgIC51aS5saXN0IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmxpc3RbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0gLmltYWdlLFxuICAgIC51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5jb250ZW50LFxuICAgIC51aS5saXN0IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmxpc3RbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0gLmltYWdlLFxuICAgIC51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5jb250ZW50LFxuICAgIC51aS5saXN0IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RMaW5rKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5saW5rLmxpc3QgLml0ZW0sXG4gICAgLnVpLmxpbmsubGlzdCBhLml0ZW0sXG4gICAgLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgY29sb3I6IEBsaW5rTGlzdEl0ZW1Db2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogQGxpbmtMaXN0VHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLnVpLmxpbmsubGlzdCBhLml0ZW06aG92ZXIsXG4gICAgLnVpLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBsaW5rTGlzdEl0ZW1Ib3ZlckNvbG9yO1xuICAgIH1cbiAgICAudWkudWkubGluay5saXN0IGEuaXRlbTphY3RpdmUsXG4gICAgLnVpLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBAbGlua0xpc3RJdGVtRG93bkNvbG9yO1xuICAgIH1cbiAgICAudWkudWkubGluay5saXN0IC5hY3RpdmUuaXRlbSxcbiAgICAudWkudWkubGluay5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgY29sb3I6IEBsaW5rTGlzdEl0ZW1BY3RpdmVDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5saW5rLmxpc3QgLml0ZW0sXG4gICAgICAgIC51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpbmtMaXN0SXRlbUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtOmhvdmVyLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpbmtMaXN0SXRlbUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW06YWN0aXZlLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaW5rTGlzdEl0ZW1Eb3duQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCBhLmFjdGl2ZS5pdGVtLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaW5rTGlzdEl0ZW1BY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdFNlbGVjdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTZWxlY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3Rpb25MaXN0QmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogQHNlbGVjdGlvbkxpc3RJdGVtVmVydGljYWxQYWRkaW5nIEBzZWxlY3Rpb25MaXN0SXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBtYXJnaW46IEBzZWxlY3Rpb25MaXN0SXRlbU1hcmdpbjtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25MaXN0Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25MaXN0SXRlbUJvcmRlclJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogQHNlbGVjdGlvbkxpc3RUcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuICAgIC51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTpob3ZlcixcbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3Rpb25MaXN0SG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlbGVjdGlvbkxpc3RIb3ZlckNvbG9yO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTphY3RpdmUsXG4gICAgLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdGlvbkxpc3REb3duQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25MaXN0RG93bkNvbG9yO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4gICAgLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdGlvbkxpc3RBY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlbGVjdGlvbkxpc3RBY3RpdmVDb2xvcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU2VsZWN0aW9uTGlzdEJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uTGlzdENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uTGlzdEhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3REb3duQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0RG93bkNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0QWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0QWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0Q2VsbGVkKSBvciAoQHZhcmlhdGlvbkxpc3REaXZpZGVkKSB7XG4gICAgICAgIC8qIENlbGxlZCAvIERpdmlkZWQgU2VsZWN0aW9uIExpc3QgKi9cbiAgICAgICAgLnVpLmNlbGxlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuY2VsbGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEFuaW1hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbmltYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYW5pbWF0ZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogQGFuaW1hdGVkTGlzdFRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5hbmltYXRlZC5saXN0QHtub3RIb3Jpem9udGFsfSA+IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAYW5pbWF0ZWRMaXN0SW5kZW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEZpdHRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuZml0dGVkLmxpc3RAe25vdFNlbGVjdGlvbn0gLmxpc3QgPiAuaXRlbSxcbiAgICAudWkuZml0dGVkLmxpc3RAe25vdFNlbGVjdGlvbn0gPiAuaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgLnVpLmZpdHRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgIC51aS5maXR0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtQHNlbGVjdGlvbkxpc3RJdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLUBzZWxlY3Rpb25MaXN0SXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEJ1bGxldGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJ1bGxldGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIHVsLnVpLmxpc3QsXG4gICAgLnVpLmJ1bGxldGVkLmxpc3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGJ1bGxldERpc3RhbmNlO1xuICAgIH1cbiAgICB1bC51aS5saXN0IGxpLFxuICAgIC51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgLnVpLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgdWwudWkubGlzdCBsaTo6YmVmb3JlLFxuICAgIC51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbiAgICAudWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBidWxsZXRPZmZzZXQ7XG4gICAgICAgIGNvbnRlbnQ6IEBidWxsZXRDaGFyYWN0ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBidWxsZXRPcGFjaXR5O1xuICAgICAgICBjb2xvcjogQGJ1bGxldENvbG9yO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGJ1bGxldFZlcnRpY2FsQWxpZ247XG4gICAgfVxuXG4gICAgdWwudWkubGlzdCBsaTo6YmVmb3JlLFxuICAgIC51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gYS5pdGVtOjpiZWZvcmUsXG4gICAgLnVpLmJ1bGxldGVkLmxpc3QgPiBhLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBAYnVsbGV0TGlua0NvbG9yO1xuICAgIH1cblxuICAgIHVsLnVpLmxpc3QgdWwsXG4gICAgLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAYnVsbGV0Q2hpbGREaXN0YW5jZTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SG9yaXpvbnRhbCkge1xuICAgICAgICAvKiBIb3Jpem9udGFsIEJ1bGxldGVkICovXG4gICAgICAgIHVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCxcbiAgICAgICAgLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICB1bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGksXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGhvcml6b250YWxCdWxsZXRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIHVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIHVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTo6YmVmb3JlLFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogQGhvcml6b250YWxCdWxsZXRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICB1bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSxcbiAgICAgICAgLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdE9yZGVyZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIE9yZGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgb2wudWkubGlzdCxcbiAgICAudWkub3JkZXJlZC5saXN0LFxuICAgIC51aS5vcmRlcmVkLmxpc3QgLmxpc3RAe25vdEljb259LFxuICAgIG9sLnVpLmxpc3Qgb2wge1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBAb3JkZXJlZENvdW50TmFtZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBvcmRlcmVkQ291bnREaXN0YW5jZTtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cbiAgICBvbC51aS5saXN0IGxpLFxuICAgIC51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAudWkub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgb2wudWkubGlzdCBsaTo6YmVmb3JlLFxuICAgIC51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuICAgIC51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oQG9yZGVyZWRDb3VudERpc3RhbmNlKTtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IEBvcmRlcmVkQ291bnROYW1lO1xuICAgICAgICBjb250ZW50OiBAb3JkZXJlZENvdW50Q29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogQG9yZGVyZWRDb3VudFRleHRBbGlnbjtcbiAgICAgICAgY29sb3I6IEBvcmRlcmVkQ291bnRDb2xvcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBvcmRlcmVkQ291bnRWZXJ0aWNhbEFsaWduO1xuICAgICAgICBvcGFjaXR5OiBAb3JkZXJlZENvdW50T3BhY2l0eTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgb2wudWkuaW52ZXJ0ZWQubGlzdCBsaTo6YmVmb3JlLFxuICAgICAgICAudWkub3JkZXJlZC5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbiAgICAgICAgLnVpLm9yZGVyZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IEBvcmRlcmVkSW52ZXJ0ZWRDb3VudENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVmFsdWUgKi9cbiAgICAudWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW1bZGF0YS12YWx1ZV06OmJlZm9yZSxcbiAgICAudWkub3JkZXJlZC5saXN0ID4gLml0ZW1bZGF0YS12YWx1ZV06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS12YWx1ZSk7XG4gICAgfVxuICAgIG9sLnVpLmxpc3QgbGlbdmFsdWVdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiBDaGlsZCBMaXN0cyAqL1xuICAgIG9sLnVpLmxpc3Qgb2wsXG4gICAgLnVpLm9yZGVyZWQubGlzdCAubGlzdEB7bm90SWNvbn0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG4gICAgfVxuICAgIG9sLnVpLmxpc3Qgb2wgbGk6OmJlZm9yZSxcbiAgICAudWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAb3JkZXJlZENoaWxkQ291bnRPZmZzZXQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAgICAgLyogSG9yaXpvbnRhbCBPcmRlcmVkICovXG4gICAgICAgIG9sLnVpLmhvcml6b250YWwubGlzdCxcbiAgICAgICAgLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIG9sLnVpLmhvcml6b250YWwubGlzdCBsaTo6YmVmb3JlLFxuICAgICAgICAudWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuICAgICAgICAudWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXJnaW46IDAgQGhvcml6b250YWxPcmRlcmVkQ291bnREaXN0YW5jZSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RTdWZmaXhlZCkge1xuICAgIC8qIFN1ZmZpeGVkIE9yZGVyZWQgKi9cbiAgICBvbC51aS5zdWZmaXhlZC5saXN0IGxpOjpiZWZvcmUsXG4gICAgLnVpLnN1ZmZpeGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4gICAgLnVpLnN1ZmZpeGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBAb3JkZXJlZENvdW50Q29udGVudFN1ZmZpeGVkO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdERpdmlkZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpdmlkZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGRpdmlkZWRCb3JkZXI7XG4gICAgfVxuICAgIC51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBkaXZpZGVkQ2hpbGRMaXN0Qm9yZGVyO1xuICAgIH1cbiAgICAudWkuZGl2aWRlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBAZGl2aWRlZENoaWxkSXRlbUJvcmRlcjtcbiAgICB9XG4gICAgLnVpLmRpdmlkZWQubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogU3ViIE1lbnUgKi9cbiAgICAudWkuZGl2aWRlZC5saXN0QHtub3RIb3Jpem9udGFsfSAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogQGRpdmlkZWRCb3JkZXJXaWR0aDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0QnVsbGV0ZWQpIHtcbiAgICAgICAgLyogRGl2aWRlZCBidWxsZXRlZCAqL1xuICAgICAgICAudWkuZGl2aWRlZC5idWxsZXRlZC5saXN0QHtub3RIb3Jpem9udGFsfSxcbiAgICAgICAgLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdCAubGlzdEB7bm90SWNvbn0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtQHtub3RIb3Jpem9udGFsfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBidWxsZXREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RPcmRlcmVkKSB7XG4gICAgICAgIC8qIERpdmlkZWQgT3JkZXJlZCAqL1xuICAgICAgICAudWkuZGl2aWRlZC5vcmRlcmVkLmxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDb3VudERpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdEB7bm90SWNvbn0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAb3JkZXJlZENoaWxkQ291bnREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RTZWxlY3Rpb24pIHtcbiAgICAgICAgLyogRGl2aWRlZCBTZWxlY3Rpb24gKi9cblxuICAgICAgICAudWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SG9yaXpvbnRhbCkge1xuICAgICAgICAvKiBEaXZpZGVkIGhvcml6b250YWwgKi9cbiAgICAgICAgLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxEaXZpZGVkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuZGl2aWRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBob3Jpem9udGFsRGl2aWRlZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGRpdmlkZWRCb3JkZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQGhvcml6b250YWxEaXZpZGVkTGluZUhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5kaXZpZGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuXG4gICAgICAgIC51aS5kaXZpZGVkLmludmVydGVkLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgLnVpLmRpdmlkZWQuaW52ZXJ0ZWQubGlzdCA+IC5saXN0LFxuICAgICAgICAudWkuZGl2aWRlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBkaXZpZGVkSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdENlbGxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENlbGxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2VsbGVkLmxpc3QgPiAuaXRlbSxcbiAgICAudWkuY2VsbGVkLmxpc3QgPiAubGlzdCB7XG4gICAgICAgIGJvcmRlci10b3A6IEBjZWxsZWRCb3JkZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGNlbGxlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAY2VsbGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBAY2VsbGVkQm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG4gICAgLnVpLmNlbGxlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIFN1YiBNZW51ICovXG4gICAgLnVpLmNlbGxlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICAgIC51aS5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0QnVsbGV0ZWQpIHtcbiAgICAgICAgLyogQ2VsbGVkIEJ1bGxldGVkICovXG4gICAgICAgIC51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoQGJ1bGxldERpc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgICAudWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLml0ZW0gLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKEBidWxsZXREaXN0YW5jZSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0oQGJ1bGxldERpc3RhbmNlKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RPcmRlcmVkKSB7XG4gICAgICAgIC8qIENlbGxlZCBPcmRlcmVkICovXG4gICAgICAgIC51aS5jZWxsZWQub3JkZXJlZC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5jZWxsZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAb3JkZXJlZENvdW50RGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAb3JkZXJlZENoaWxkQ291bnREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgICAgIC8qIENlbGxlZCBIb3Jpem9udGFsICovXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAY2VsbGVkQm9yZGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbENlbGxlZFNwYWNpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbENlbGxlZFNwYWNpbmc7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQGhvcml6b250YWxDZWxsZWRMaW5lSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbiAgICAgICAgLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBjZWxsZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAgICAgLnVpLmNlbGxlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5jZWxsZWQuaW52ZXJ0ZWQubGlzdCA+IC5saXN0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNlbGxlZEludmVydGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC51aS5jZWxsZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5jZWxsZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY2VsbGVkSW52ZXJ0ZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RSZWxheGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSZWxheGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZWxheGVkLmxpc3RAe25vdEhvcml6b250YWx9ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogQHJlbGF4ZWRJdGVtVmVydGljYWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkucmVsYXhlZC5saXN0QHtub3RIb3Jpem9udGFsfSA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHJlbGF4ZWRJdGVtVmVydGljYWxQYWRkaW5nO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgICAgIC51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEByZWxheGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0IC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSxcbiAgICAgICAgLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAcmVsYXhlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RWZXJ5UmVsYXhlZCkge1xuICAgICAgICAvKiBWZXJ5IFJlbGF4ZWQgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0QHtub3RIb3Jpem9udGFsfSA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAdmVyeVJlbGF4ZWRJdGVtVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdEB7bm90SG9yaXpvbnRhbH0gPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAdmVyeVJlbGF4ZWRJdGVtVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAgICAgICAgIC51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0IC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgICAgICAudWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB2ZXJ5UmVsYXhlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpLFxuICAgICAgICAgICAgLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAdmVyeVJlbGF4ZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5saXN0IHtcbiAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25MaXN0U2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkxpc3RTaXplcywge1xuICAgICAgICBAcnM6IEB7dmFsdWV9TGlzdFNpemU7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ubGlzdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAcnM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExvYWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwibG9hZGVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90RWxhc3RpYzogaWYoQHZhcmlhdGlvbkxvYWRlckVsYXN0aWMsIGUoXCI6bm90KC5lbGFzdGljKVwiKSk7XG5Abm90RG91YmxlOiBpZihAdmFyaWF0aW9uTG9hZGVyRG91YmxlLCBlKFwiOm5vdCguZG91YmxlKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMb2FkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFN0YW5kYXJkIFNpemUgKi9cbi51aS5sb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogQGxvYWRlclRvcE9mZnNldDtcbiAgICBsZWZ0OiBAbG9hZGVyTGVmdE9mZnNldDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8qIFN0YXRpYyBTaGFwZSAqL1xuLnVpLmxvYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSBTaGFwZSAqL1xuLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBzaGFwZUJvcmRlckNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxvYWRlclNwZWVkcykge1xuICAgIC8qIFNwZWVkcyAqL1xuXG4gICAgLnVpLnVpLmZhc3QubG9hZGluZzo6YWZ0ZXIsXG4gICAgLnVpLnVpLmZhc3QubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuICAgIC51aS51aS5mYXN0LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuICAgIC51aS5mYXN0LmxvYWRlcjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBsb2FkZXJTcGVlZEZhc3Q7XG4gICAgfVxuXG4gICAgLnVpLnVpLnNsb3cubG9hZGluZzo6YWZ0ZXIsXG4gICAgLnVpLnVpLnNsb3cubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuICAgIC51aS51aS5zbG93LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuICAgIC51aS5zbG93LmxvYWRlcjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBsb2FkZXJTcGVlZFNsb3c7XG4gICAgfVxufVxuXG4vKiBBY3RpdmUgQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIGxvYWRlciB7XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU2hvdyBpbnNpZGUgYWN0aXZlIGRpbW1lciAqL1xuLnVpLmRpbW1lciA+IC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBCbGFjayBEaW1tZXIgKi9cbi51aS5kaW1tZXIgPiAudWkubG9hZGVyIHtcbiAgICBjb2xvcjogQGludmVydGVkTG9hZGVyVGV4dENvbG9yO1xufVxuLnVpLmRpbW1lciA+IC51aS5sb2FkZXJAe25vdEVsYXN0aWN9OjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkTG9hZGVyRmlsbENvbG9yO1xufVxuXG4vKiBXaGl0ZSBEaW1tZXIgKEludmVydGVkKSAqL1xuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5sb2FkZXIge1xuICAgIGNvbG9yOiBAbG9hZGVyVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5sb2FkZXJAe25vdEVsYXN0aWN9OjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogQGxvYWRlckZpbGxDb2xvcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyVGV4dCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFRleHRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnVpLnVpLnRleHQubG9hZGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVySW5kZXRlcm1pbmF0ZSkge1xuICAgIC51aS5pbmRldGVybWluYXRlLmxvYWRlcjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBAaW5kZXRlcm1pbmF0ZURpcmVjdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAaW5kZXRlcm1pbmF0ZVNwZWVkO1xuICAgIH1cbn1cblxuLnVpLmxvYWRlci5hY3RpdmUsXG4udWkubG9hZGVyLnZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmxvYWRlci5kaXNhYmxlZCxcbi51aS5sb2FkZXIuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxvYWRlciB7XG4gICAgd2lkdGg6IEBtZWRpdW07XG4gICAgaGVpZ2h0OiBAbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bUZvbnRTaXplO1xufVxuLnVpLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiBAbWVkaXVtO1xuICAgIGhlaWdodDogQG1lZGl1bTtcbiAgICBtYXJnaW46IEBtZWRpdW1PZmZzZXQ7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJUZXh0KSB7XG4gICAgLnVpLnRleHQubG9hZGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiBAbWVkaXVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogKEBtZWRpdW0gKyBAdGV4dERpc3RhbmNlKTtcbiAgICB9XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTG9hZGVyU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkxvYWRlclNpemVzLCB7XG4gICAgICAgIEBvOiBAe3ZhbHVlfU9mZnNldDtcbiAgICAgICAgQGY6IEB7dmFsdWV9Rm9udFNpemU7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ubG9hZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAcztcbiAgICAgICAgICAgIGhlaWdodDogQHM7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAZjtcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0ubG9hZGVyOjpiZWZvcmUsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAcztcbiAgICAgICAgICAgIGhlaWdodDogQHM7XG4gICAgICAgICAgICBtYXJnaW46IEBAbztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJUZXh0KSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0udGV4dC5sb2FkZXIge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogQHM7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IChAcyArIEB0ZXh0RGlzdGFuY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTG9hZGVyQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Mb2FkZXJDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuXG4gICAgICAgIC51aS51aS5Ae2NvbG9yfS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuICAgICAgICAudWkuQHtjb2xvcn0uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuICAgICAgICAudWkuQHtjb2xvcn0uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS51aS5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbiAgICAgICAgLnVpLnVpLnVpLnVpLkB7Y29sb3J9LmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnVpLnVpLkB7Y29sb3J9LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnVpLnVpLkB7Y29sb3J9LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuICAgICAgICAudWkudWkudWkuQHtjb2xvcn0ubG9hZGVyOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuICAgICAgICAudWkudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuICAgICAgICAudWkudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4udWkudWkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmc6OmJlZm9yZSxcbi51aS51aS51aS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLnVpLnVpLnVpLnVpLmVsYXN0aWMubG9hZGluZy5idXR0b246bm90KC5pbnZlcnRlZCk6bm90KC5iYXNpYyk6OmJlZm9yZSB7XG4gICAgY29sb3I6IEBpbnZlcnRlZExvYWRlckxpbmVDb2xvcjtcbn1cbi51aS5lbGFzdGljLmJhc2ljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuZWxhc3RpYy5iYXNpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBAbG9hZGVyTGluZUNvbG9yO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyRG91YmxlKSB7XG4gICAgLnVpLnVpLnVpLnVpLmRvdWJsZS5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJJbmxpbmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIElubGluZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW5saW5lLmxvYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBpbmxpbmVWZXJ0aWNhbEFsaWduO1xuICAgICAgICBtYXJnaW46IEBpbmxpbmVNYXJnaW47XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC51aS5pbmxpbmUubG9hZGVyLmFjdGl2ZSxcbiAgICAudWkuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qIENlbnRlcmVkIElubGluZSAqL1xuICAgIC51aS5jZW50ZXJlZC5pbmxpbmUubG9hZGVyLmFjdGl2ZSxcbiAgICAudWkuY2VudGVyZWQuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4udWkudWkudWkudWkudWkudWkubG9hZGluZzo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmdAe25vdERvdWJsZX06OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmdAe25vdERvdWJsZX0gLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS51aS5sb2FkaW5nQHtub3REb3VibGV9ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkZXJAe25vdERvdWJsZX06OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmNhcmQ6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuc2VnbWVudHM6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuc2VnbWVudDo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5mb3JtOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBsb2FkZXJGaWxsQ29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAbG9hZGVyRmlsbENvbG9yO1xufVxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuY2FyZEB7bm90RG91YmxlfTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50c0B7bm90RG91YmxlfTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50QHtub3REb3VibGV9OjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmZvcm1Ae25vdERvdWJsZX06OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbG9hZGVyRmlsbENvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJFbGFzdGljKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBFbGFzdGljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaW1tZXIgPiAudWkuZWxhc3RpYy5sb2FkZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTG9hZGVyTGluZUNvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLmVsYXN0aWMubG9hZGVyIHtcbiAgICAgICAgY29sb3I6IEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgfVxuICAgIC51aS51aS5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmFmdGVyLFxuICAgIC51aS51aS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAudWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbiAgICAudWkudWkuZWxhc3RpYy5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgMXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMjcsIDEuMDUsIDAuOTIsIDAuNjEpO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gICAgfVxuICAgIC51aS51aS51aS5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbiAgICAudWkudWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuICAgIC51aS51aS51aS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbiAgICAudWkudWkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbjogZWxhc3RpYy1sb2FkZXIgMXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMjcsIDEuMDUsIDAuOTIsIDAuNjEpO1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvcHVsbC8zNjNcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgLW1vei1hbmltYXRpb246IGN1cnJlbnRjb2xvci1lbGFzdGljLWxvYWRlciAxcyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4yNywgMS4wNSwgMC45MiwgMC42MSk7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxvYWRlcklubGluZSkge1xuICAgICAgICAudWkuZWxhc3RpYy5pbmxpbmUubG9hZGVyOmVtcHR5IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIDhzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJTcGVlZHMpIHtcbiAgICAgICAgLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS5zbG93LmVsYXN0aWMubG9hZGVyOjphZnRlciB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNDVzO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuICAgICAgICAudWkudWkuc2xvdy5lbGFzdGljLmxvYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmFmdGVyLFxuICAgICAgICAudWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAgICAgLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbiAgICAgICAgLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NnM7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbiAgICAgICAgLnVpLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS5mYXN0LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjY2cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGVsYXN0aWMtbG9hZGVyIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDElIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIDEuMSUsXG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAxMCUsXG4gICAgICAgIDM1LjElIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIDEwLjElLFxuICAgICAgICAzNSUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICA1MC4xJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGN1cnJlbnRjb2xvci1lbGFzdGljLWxvYWRlciB7XG4gICAgICAgIDAlLFxuICAgICAgICAxJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAxLjElLFxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAxMCUsXG4gICAgICAgIDM1LjElIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIDEwLjElLFxuICAgICAgICAzNSUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIDUwLjElIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBQbGFjZWhvbGRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwicGxhY2Vob2xkZXJcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFuaW1hdGlvbjogcGxhY2Vob2xkZXJTaGltbWVyIEBwbGFjZWhvbGRlckxvYWRpbmdBbmltYXRpb25EdXJhdGlvbiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBwbGFjZWhvbGRlckxvYWRpbmdHcmFkaWVudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEBwbGFjZWhvbGRlckxvYWRpbmdHcmFkaWVudFdpZHRoIDEwMCU7XG4gICAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJNYXhXaWR0aDtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlclNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLUBwbGFjZWhvbGRlckxvYWRpbmdHcmFkaWVudFdpZHRoIDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBAcGxhY2Vob2xkZXJMb2FkaW5nR3JhZGllbnRXaWR0aCAwO1xuICAgIH1cbn1cblxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBAY29uc2VjdXRpdmVQbGFjZWhvbGRlclNwYWNpbmc7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogQHBsYWNlaG9sZGVyQW5pbWF0aW9uSW50ZXJ2YWw7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogKEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsICogMik7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogKEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsICogMyk7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogKEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsICogNCk7XG59XG5cbi51aS5wbGFjZWhvbGRlcixcbi51aS5wbGFjZWhvbGRlciA+IDo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xufVxuXG4udWkucGxhY2Vob2xkZXIuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckltYWdlKSB7XG4gICAgLyogSW1hZ2UgKi9cbiAgICAudWkucGxhY2Vob2xkZXIgLmltYWdlOm5vdCguaGVhZGVyKTpub3QoLnVpKTpub3QoLmljb24pIHtcbiAgICAgICAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJJbWFnZUhlaWdodDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5zcXVhcmUuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC8qIDEvMSBhc3BlY3QgcmF0aW8gKi9cbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAucmVjdGFuZ3VsYXIuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC8qIDQvMyBhc3BlY3QgcmF0aW8gKi9cbiAgICAgICAgcGFkZGluZy10b3A6IDc1JTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBsYWNlaG9sZGVyTGluZSkgb3IgKEB2YXJpYXRpb25QbGFjZWhvbGRlckhlYWRlcikge1xuICAgIC8qIExpbmVzICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IEBwbGFjZWhvbGRlckxpbmVNYXJnaW47XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTo6YmVmb3JlLFxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyogQW55IExpbmVzICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHBsYWNlaG9sZGVyTGluZUhlaWdodDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOjpiZWZvcmUsXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogQHBsYWNlaG9sZGVyTGluZUhlaWdodDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHBsYWNlaG9sZGVyTGluZUhlaWdodDtcbiAgICB9XG5cbiAgICAvKiBMaW5lIE91dGRlbnQgKi9cbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDEpOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJMaW5lT25lT3V0ZGVudDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgyKTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyTGluZVR3b091dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMyk6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckxpbmVUaHJlZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoNCk6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckxpbmVGb3VyT3V0ZGVudDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCg1KTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyTGluZUZpdmVPdXRkZW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJIZWFkZXIpIHtcbiAgICAvKiBIZWFkZXIgSW1hZ2UgKyAyIExpbmVzICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLyogSGVhZGVyIExpbmUgMSAmIDIgKi9cbiAgICAudWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBwbGFjZWhvbGRlckhlYWRlckxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOjpiZWZvcmUsXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lSGVpZ2h0O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBwbGFjZWhvbGRlckhlYWRlckxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lT25lT3V0ZGVudDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bnRoLWNoaWxkKDIpOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lVHdvT3V0ZGVudDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckltYWdlKSB7XG4gICAgICAgIC8qIEltYWdlIEhlYWRlciAqL1xuICAgICAgICAudWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlciAubGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHBsYWNlaG9sZGVySW1hZ2VXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAudWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlciAubGluZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJJbWFnZVRleHRJbmRlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJMaW5lTWFyZ2luO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAcGxhY2Vob2xkZXJJbWFnZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTcGFjaW5nICovXG4udWkucGxhY2Vob2xkZXIgLmltYWdlIC5saW5lOmZpcnN0LWNoaWxkLFxuLnVpLnBsYWNlaG9sZGVyIC5wYXJhZ3JhcGggLmxpbmU6Zmlyc3QtY2hpbGQsXG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpmaXJzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiAwLjAxcHg7XG59XG4udWkucGxhY2Vob2xkZXIgLmltYWdlOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLnBhcmFncmFwaDpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJTcGFjaW5nO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBsYWNlaG9sZGVySW52ZXJ0ZWQpIHtcbiAgICAvKiBJbnZlcnRlZCBDb250ZW50IExvYWRlciAqL1xuICAgIC51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBwbGFjZWhvbGRlckludmVydGVkTG9hZGluZ0dyYWRpZW50O1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIsXG4gICAgLnVpLmludmVydGVkLnBsYWNlaG9sZGVyID4gOjpiZWZvcmUsXG4gICAgLnVpLmludmVydGVkLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyLFxuICAgIC51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAubGluZSxcbiAgICAudWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckxlbmd0aHMpIHtcbiAgICAudWkucGxhY2Vob2xkZXIgLmZ1bGwubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckZ1bGxMaW5lT3V0ZGVudDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC52ZXJ5LmxvbmcubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlclZlcnlMb25nTGluZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubG9uZy5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyTG9uZ0xpbmVPdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLm1lZGl1bS5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyTWVkaXVtTGluZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAuc2hvcnQubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlclNob3J0TGluZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAudmVyeS5zaG9ydC5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyVmVyeVNob3J0TGluZU91dGRlbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSYWlsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJyYWlsXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJhaWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmFpbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogQHdpZHRoO1xuICAgIGhlaWdodDogQGhlaWdodDtcbn1cblxuLnVpLmxlZnQucmFpbCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIEBzcGxpdERpc3RhbmNlIDAgMDtcbiAgICBtYXJnaW46IDAgQHNwbGl0RGlzdGFuY2UgMCAwO1xufVxuXG4udWkucmlnaHQucmFpbCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgMCBAc3BsaXREaXN0YW5jZTtcbiAgICBtYXJnaW46IDAgMCAwIEBzcGxpdERpc3RhbmNlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25SYWlsSW50ZXJuYWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW50ZXJuYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sZWZ0LmludGVybmFsLnJhaWwge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgQHNwbGl0RGlzdGFuY2U7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHNwbGl0RGlzdGFuY2U7XG4gICAgfVxuXG4gICAgLnVpLnJpZ2h0LmludGVybmFsLnJhaWwge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMCBAc3BsaXREaXN0YW5jZSAwIDA7XG4gICAgICAgIG1hcmdpbjogMCBAc3BsaXREaXN0YW5jZSAwIDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25SYWlsRGl2aWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXZpZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpdmlkaW5nLnJhaWwge1xuICAgICAgICB3aWR0aDogQGRpdmlkaW5nV2lkdGg7XG4gICAgfVxuICAgIC51aS5sZWZ0LmRpdmlkaW5nLnJhaWwge1xuICAgICAgICBwYWRkaW5nOiAwIEBzcGxpdERpdmlkaW5nRGlzdGFuY2UgMCAwO1xuICAgICAgICBtYXJnaW46IDAgQHNwbGl0RGl2aWRpbmdEaXN0YW5jZSAwIDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGRpdmlkaW5nQm9yZGVyO1xuICAgIH1cbiAgICAudWkucmlnaHQuZGl2aWRpbmcucmFpbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAZGl2aWRpbmdCb3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIEBzcGxpdERpdmlkaW5nRGlzdGFuY2U7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHNwbGl0RGl2aWRpbmdEaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblJhaWxEaXN0YW5jZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc3RhbmNlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2xvc2UucmFpbCB7XG4gICAgICAgIHdpZHRoOiBAY2xvc2VXaWR0aDtcbiAgICB9XG4gICAgLnVpLmNsb3NlLmxlZnQucmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgQHNwbGl0Q2xvc2VEaXN0YW5jZSAwIDA7XG4gICAgICAgIG1hcmdpbjogMCBAc3BsaXRDbG9zZURpc3RhbmNlIDAgMDtcbiAgICB9XG4gICAgLnVpLmNsb3NlLnJpZ2h0LnJhaWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBAc3BsaXRDbG9zZURpc3RhbmNlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBzcGxpdENsb3NlRGlzdGFuY2U7XG4gICAgfVxuXG4gICAgLnVpLnZlcnkuY2xvc2UucmFpbCB7XG4gICAgICAgIHdpZHRoOiBAdmVyeUNsb3NlV2lkdGg7XG4gICAgfVxuICAgIC51aS52ZXJ5LmNsb3NlLmxlZnQucmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2UgMCAwO1xuICAgICAgICBtYXJnaW46IDAgQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2UgMCAwO1xuICAgIH1cbiAgICAudWkudmVyeS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2U7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25SYWlsQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmF0dGFjaGVkLmxlZnQucmFpbCxcbiAgICAudWkuYXR0YWNoZWQucmlnaHQucmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5yYWlsIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUmFpbFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25SYWlsU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5yYWlsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSZXZlYWxcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcInJldmVhbFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFJldmVhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnJldmVhbCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDA7XG59XG5cbi51aS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogQHRvcFpJbmRleCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnVpLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogQGJvdHRvbVpJbmRleCAhaW1wb3J0YW50O1xufVxuXG4vKiBNYWtlIHN1cmUgaG92ZXJlZCBlbGVtZW50IGlzIG9uIHRvcCBvZiBvdGhlciByZXZlYWwgKi9cbi51aS5hY3RpdmUucmV2ZWFsIC52aXNpYmxlLmNvbnRlbnQsXG4udWkucmV2ZWFsOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICAgIHotaW5kZXg6IEBhY3RpdmVaSW5kZXggIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblJldmVhbFNsaWRlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTbGlkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNsaWRlLnJldmVhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnVpLnNsaWRlLnJldmVhbCA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBAc2xpZGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC51aS5zbGlkZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuc2xpZGUuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbiAgICAudWkuc2xpZGUucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLnNsaWRlLnJpZ2h0LnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLnJpZ2h0LnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50LFxuICAgIC51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuc2xpZGUudXAucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkuc2xpZGUudXAucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4gICAgLnVpLnNsaWRlLnVwLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aS5zbGlkZS5kb3duLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLmRvd24uYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLnNsaWRlLmRvd24ucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuc2xpZGUuZG93bi5hY3RpdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50LFxuICAgIC51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUmV2ZWFsRmFkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmFkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZhZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC51aS5mYWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5mYWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUmV2ZWFsTW92ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTW92ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm1vdmUucmV2ZWFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudWkubW92ZS5yZXZlYWwgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBAbW92ZVRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLnVpLm1vdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW92ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW92ZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkubW92ZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW92ZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkubW92ZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5tb3ZlLnVwLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5tb3ZlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5tb3ZlLmRvd24uYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLm1vdmUuZG93bi5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25SZXZlYWxSb3RhdGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUm90YXRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbkR1cmF0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG5cbiAgICAudWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLnJvdGF0ZS5yaWdodC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIH1cbiAgICAudWkucm90YXRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5yb3RhdGUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkucm90YXRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5yb3RhdGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEByb3RhdGVEZWdyZWVzKTtcbiAgICB9XG5cbiAgICAudWkucm90YXRlLmxlZnQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgIH1cbiAgICAudWkucm90YXRlLmxlZnQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLnJvdGF0ZS5sZWZ0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtQHJvdGF0ZURlZ3JlZXMpO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25SZXZlYWxEaXNhYmxlZCkge1xuICAgIC51aS5kaXNhYmxlZC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZGlzYWJsZWQucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmV2ZWFsID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gICAgei1pbmRleDogQG92ZXJsYXlaSW5kZXg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFZpc2libGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkudmlzaWJsZS5yZXZlYWwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJbnN0YW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmluc3RhbnQucmV2ZWFsID4gLmNvbnRlbnQge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5yZXZlYWwgPiAuY29udGVudCB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblJldmVhbFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25SZXZlYWxTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnJldmVhbCA+IC5jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTZWdtZW50XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJzZWdtZW50XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90SG9yaXpvbnRhbDogaWYoQHZhcmlhdGlvblNlZ21lbnRIb3Jpem9udGFsLCBlKFwiOm5vdCguaG9yaXpvbnRhbClcIikpO1xuQG5vdENvbXBhY3Q6IGlmKEB2YXJpYXRpb25TZWdtZW50Q29tcGFjdCwgZShcIjpub3QoLmNvbXBhY3QpXCIpKTtcbkBub3RJbnZlcnRlZDogaWYoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCwgZShcIjpub3QoLmludmVydGVkKVwiKSk7XG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25TZWdtZW50QmFzaWMsIGUoXCI6bm90KC5iYXNpYylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2VnbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnNlZ21lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbn1cblxuLnVpLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50VmVydGljYWwpIHtcbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51aS52ZXJ0aWNhbC5zZWdtZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEludmVydGVkKSB7XG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLmludmVydGVkLnNlZ21lbnRzIC5zZWdtZW50ID4gLnVpLmhlYWRlciAuc3ViLmhlYWRlcixcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudHMgLnNlZ21lbnQgPiAudWkuaGVhZGVyLFxuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50ID4gLnVpLmhlYWRlciAuc3ViLmhlYWRlcixcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCA+IC51aS5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkKSB7XG4gICAgLyogTGFiZWwgKi9cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnNlZ21lbnQgPiBbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uc2VnbWVudCA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdCguYm90dG9tKSA+IFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdCguYm90dG9tKSA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG59XG5cbi8qIEdyaWQgKi9cbi51aS5wYWdlLmdyaWQuc2VnbWVudCxcbi51aS5ncmlkID4gLnJvdyA+IC51aS5zZWdtZW50LmNvbHVtbixcbi51aS5ncmlkID4gLnVpLnNlZ21lbnQuY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogQHBhZ2VHcmlkTWFyZ2luO1xuICAgIHBhZGRpbmctYm90dG9tOiBAcGFnZUdyaWRNYXJnaW47XG59XG4udWkuZ3JpZC5zZWdtZW50IHtcbiAgICBtYXJnaW46IEBtYXJnaW47XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cblxuLyogVGFibGUgKi9cbi51aS5iYXNpYy50YWJsZS5zZWdtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlLnNlZ21lbnQge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xufVxuXG4vKiBUYWIgKi9cbi51aS5zZWdtZW50LnRhYjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRQbGFjZWhvbGRlcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBsYWNlaG9sZGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBhZGRpbmc6IEBwbGFjZWhvbGRlclBhZGRpbmc7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBwbGFjZWhvbGRlck1pbkhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogQHBsYWNlaG9sZGVyQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAcGxhY2Vob2xkZXJCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHBsYWNlaG9sZGVyQm94U2hhZG93O1xuICAgICAgICAmLnRhYiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uLFxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50IHRleHRhcmVhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5maWVsZCxcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCB0ZXh0YXJlYSxcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC51aS5pbnB1dCxcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJDb250ZW50TWF4V2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gLmJ1dHRvbixcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIC5maWVsZCxcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIHRleHRhcmVhLFxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gPiAudWkuaW5wdXQge1xuICAgICAgICBtYXgtd2lkdGg6IEBwbGFjZWhvbGRlckNvbnRlbnRNYXhXaWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50ID4gLmlubGluZSA+IC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IEBwbGFjZWhvbGRlckNvbnRlbnRJbmxpbmVCdXR0b25NYXJnaW47XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlci5zZWdtZW50ID4gLmlubGluZSA+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRQaWxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBpbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5waWxlZC5zZWdtZW50cyxcbiAgICAudWkucGlsZWQuc2VnbWVudCB7XG4gICAgICAgIG1hcmdpbjogQHBpbGVkTWFyZ2luIDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwaWxlZEJveFNoYWRvdztcbiAgICAgICAgei1pbmRleDogQHBpbGVkWkluZGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG4gICAgICAgIGJvcmRlcjogQHBpbGVkQm9yZGVyO1xuICAgICAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLnBpbGVkLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAudWkucGlsZWQuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnVpLnBpbGVkLnNlZ21lbnRzOjphZnRlcixcbiAgICAudWkucGlsZWQuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAudWkucGlsZWQuc2VnbWVudDo6YWZ0ZXIsXG4gICAgLnVpLnBpbGVkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNoYWRvdzogQHBpbGVkQm94U2hhZG93O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnBpbGVkLnNlZ21lbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogQGludmVydGVkUGlsZWRCb3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5waWxlZC5zZWdtZW50czo6YmVmb3JlLFxuICAgIC51aS5waWxlZC5zZWdtZW50OjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtQHBpbGVkRGVncmVlcyk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgfVxuICAgIC51aS5waWxlZC5zZWdtZW50czo6YWZ0ZXIsXG4gICAgLnVpLnBpbGVkLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoQHBpbGVkRGVncmVlcyk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCkge1xuICAgICAgICAvKiBQaWxlZCBBdHRhY2hlZCAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnBpbGVkLnNlZ21lbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogQHBpbGVkTWFyZ2luO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBwaWxlZE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAqOmhhcyg+IC51aS5waWxlZC5zZWdtZW50KSB7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U3RhY2tlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU3RhY2tlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc3RhY2tlZC5zZWdtZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBzdGFja2VkUGFkZGluZztcbiAgICB9XG4gICAgLnVpLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAudWkuc3RhY2tlZC5zZWdtZW50czo6YWZ0ZXIsXG4gICAgLnVpLnN0YWNrZWQuc2VnbWVudDo6YmVmb3JlLFxuICAgIC51aS5zdGFja2VkLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0oQHN0YWNrZWRIZWlnaHQgLyAyKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogQGJvcmRlcldpZHRoIHNvbGlkIEBzdGFja2VkQm9yZGVyQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdGFja2VkUGFnZUJhY2tncm91bmQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IEBzdGFja2VkSGVpZ2h0O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICAudWkuc3RhY2tlZC5zZWdtZW50czo6YmVmb3JlLFxuICAgIC51aS5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQWRkIGFkZGl0aW9uYWwgcGFnZSAqL1xuICAgIC51aS50YWxsLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAudWkudGFsbC5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAudWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50cyxcbiAgICAgICAgLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gICAgICAgICAgICBib3JkZXI6IEBib3JkZXJXaWR0aCBzb2xpZCBAaW52ZXJ0ZWRTdGFja2VkQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1YnRsZVRyYW5zcGFyZW50QmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGJvcmRlcldpZHRoIHNvbGlkIEBpbnZlcnRlZFN0YWNrZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFBhZGRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUGFkZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5wYWRkZWQuc2VnbWVudCB7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkZWRTZWdtZW50UGFkZGluZztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFZlcnlQYWRkZWQpIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnNlZ21lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogQHZlcnlQYWRkZWRTZWdtZW50UGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRWZXJ0aWNhbCkge1xuICAgICAgICAvKiBQYWRkZWQgdmVydGljYWwgKi9cbiAgICAgICAgLnVpLnBhZGRlZC5zZWdtZW50LnZlcnRpY2FsLnNlZ21lbnQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS52ZXJ0aWNhbC5zZWdtZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRDb21wYWN0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21wYWN0LnNlZ21lbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAvKiBDb21wYWN0IEdyb3VwICovXG4gICAgLnVpLmNvbXBhY3Quc2VnbWVudHMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gICAgLnVpLmNvbXBhY3Quc2VnbWVudHMgLnNlZ21lbnQsXG4gICAgLnVpLnNlZ21lbnRzIC5jb21wYWN0LnNlZ21lbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50Q2lyY3VsYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jaXJjdWxhci5zZWdtZW50IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogQGNpcmN1bGFyUGFkZGluZztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MDBlbTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSYWlzZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJhaXNlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkucmFpc2VkLnNlZ21lbnRzLFxuICAgIC51aS51aS5yYWlzZWQuc2VnbWVudCB7XG4gICAgICAgIGJveC1zaGFkb3c6IEByYWlzZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCkge1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQucmFpc2VkLnNlZ21lbnRzLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQucmFpc2VkLnNlZ21lbnQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkUmFpc2VkQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50R3JvdXBzKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyogR3JvdXAgKi9cbiAgICAudWkuc2VnbWVudHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogQGdyb3VwZWRNYXJnaW47XG4gICAgICAgIGJvcmRlcjogQGdyb3VwZWRCb3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IEBncm91cGVkQm94U2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZ3JvdXBlZEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnVpLnNlZ21lbnRzOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8qIE5lc3RlZCBTZWdtZW50ICovXG4gICAgLnVpLnNlZ21lbnRzID4gLnNlZ21lbnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiBAZ3JvdXBlZFNlZ21lbnRNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAZ3JvdXBlZFNlZ21lbnRXaWR0aDtcbiAgICAgICAgYm94LXNoYWRvdzogQGdyb3VwZWRTZWdtZW50Qm94U2hhZG93O1xuICAgICAgICBib3JkZXI6IEBncm91cGVkU2VnbWVudEJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogQGdyb3VwZWRTZWdtZW50RGl2aWRlcjtcbiAgICB9XG5cbiAgICAudWkuc2VnbWVudHNAe25vdEhvcml6b250YWx9ID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICB0b3A6IEBhdHRhY2hlZFRvcE9mZnNldDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSAqL1xuICAgIC51aS5zZWdtZW50c0B7bm90SG9yaXpvbnRhbH0gPiAuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiBAYXR0YWNoZWRCb3R0b21PZmZzZXQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm90dG9tQm94U2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIE9ubHkgKi9cbiAgICAudWkuc2VnbWVudHNAe25vdEhvcml6b250YWx9ID4gLnNlZ21lbnQ6b25seS1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogTmVzdGVkIEdyb3VwICovXG4gICAgLnVpLnNlZ21lbnRzID4gLnVpLnNlZ21lbnRzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGdyb3VwZWRTZWdtZW50RGl2aWRlcjtcbiAgICAgICAgbWFyZ2luOiBAbmVzdGVkR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS5zZWdtZW50cyA+IC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC51aS5zZWdtZW50cyA+IC5zZWdtZW50ICsgLnNlZ21lbnRzQHtub3RIb3Jpem9udGFsfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEhvcml6b250YWwpIHtcbiAgICAgICAgLyogSG9yaXpvbnRhbCBHcm91cCAqL1xuICAgICAgICAudWkuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBncm91cGVkQm94U2hhZG93O1xuICAgICAgICAgICAgbWFyZ2luOiBAZ3JvdXBlZE1hcmdpbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBncm91cGVkQm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyOiBAZ3JvdXBlZEJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAudWkud3JhcHBpbmcuaG9yaXpvbnRhbC5zZWdtZW50cyxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIE5lc3RlZCBIb3Jpem9udGFsIEdyb3VwICovXG4gICAgICAgIC51aS5zZWdtZW50cyA+IC5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAZ3JvdXBlZFNlZ21lbnREaXZpZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSG9yaXpvbnRhbCBTZWdtZW50ICovXG4gICAgICAgIC51aS5ob3Jpem9udGFsLnNlZ21lbnRzQHtub3RDb21wYWN0fSA+IC5zZWdtZW50QHtub3RDb21wYWN0fSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9TZW1hbnRpYy1PcmcvU2VtYW50aWMtVUkvaXNzdWVzLzI1NTBcbiAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBCb3JkZXIgRml4ZXMgKi9cbiAgICAgICAgLnVpLnNlZ21lbnRzID4gLmhvcml6b250YWwuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5zZWdtZW50czpub3QoLnN0YWNrYWJsZSk6bm90KC53cmFwcGluZykgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBFcXVhbCBXaWR0aCAqL1xuICAgICAgICAudWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50RGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpc2FibGVkLnNlZ21lbnRzLFxuICAgIC51aS5kaXNhYmxlZC5zZWdtZW50IHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudExvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubG9hZGluZy5zZWdtZW50cyxcbiAgICAudWkubG9hZGluZy5zZWdtZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgICAgICAgbWluLWhlaWdodDogQGxvYWRpbmdNaW5IZWlnaHQ7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLnNlZ21lbnRzOjpiZWZvcmUsXG4gICAgLnVpLmxvYWRpbmcuc2VnbWVudDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBsb2FkZXJEaW1tZXJDb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgei1pbmRleDogQGxvYWRlckRpbW1lclpJbmRleDtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuc2VnbWVudHM6OmFmdGVyLFxuICAgIC51aS5sb2FkaW5nLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgQGxvYWRlclNwZWVkIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGVyTGluZVpJbmRleDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRCYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJhc2ljLnNlZ21lbnQsXG4gICAgLnVpLnNlZ21lbnRzIC51aS5iYXNpYy5zZWdtZW50LFxuICAgIC51aS5iYXNpYy5zZWdtZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbiAgICAgICAgYm9yZGVyOiBAYmFzaWNCb3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRDbGVhcmluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2xlYXJpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNsZWFyaW5nLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TZWdtZW50Q29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TZWdtZW50Q29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgICYgd2hlbiBub3QgKEBjb2xvcj1wcmltYXJ5KSBhbmQgbm90IChAY29sb3I9c2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAudWkudWkudWkudWkudWkuQHtjb2xvcn0uc2VnbWVudEB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkudWkudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uc2VnbWVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uU2VnbWVudFBpbGVkKSBhbmQgKChAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkKSBvciAoQHZhcmlhdGlvblNlZ21lbnRTdGFja2VkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5zZWdtZW50Om5vdCgucGlsZWQpIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UGlsZWQpIGFuZCAoKEB2YXJpYXRpb25TZWdtZW50QXR0YWNoZWQpIG9yIChAdmFyaWF0aW9uU2VnbWVudFN0YWNrZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VnbWVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnNlZ21lbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLnNlZ21lbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50RmxvYXRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0ZWQuc2VnbWVudCxcbiAgICAudWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLnNlZ21lbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZmxvYXRlZERpc3RhbmNlO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsb2F0ZWREaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmludmVydGVkLnNlZ21lbnRzLFxuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCxcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnNlZ21lbnRzIC5zZWdtZW50LFxuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50LFxuICAgIC51aS5wcmltYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC8qIE5lc3RlZCAqL1xuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50IC5zZWdtZW50IHtcbiAgICAgICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50IC5pbnZlcnRlZC5zZWdtZW50IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkKSB7XG4gICAgICAgIC8qIEF0dGFjaGVkICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5hdHRhY2hlZC5zZWdtZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50TG9hZGluZykge1xuICAgICAgICAvKiBMb2FkaW5nICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnRzLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubG9hZGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmxvYWRpbmcuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAgICAgLnVpLmludmVydGVkLmxvYWRpbmcuc2VnbWVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsb2FkZXJJbnZlcnRlZERpbW1lckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEVtcGhhc2lzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNlY29uZGFyeSkge1xuICAgIC8qIFNlY29uZGFyeSAqL1xuICAgIC51aS5zZWNvbmRhcnkuc2VnbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlY29uZGFyeUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRUZXJ0aWFyeSkge1xuICAgIC8qIFRlcnRpYXJ5ICovXG4gICAgLnVpLnRlcnRpYXJ5LnNlZ21lbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGVydGlhcnlCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHRlcnRpYXJ5Q29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCkge1xuICAgICAgICAudWkudGVydGlhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGVydGlhcnlJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHRlcnRpYXJ5SW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1pZGRsZSAqL1xuICAgIC51aS5hdHRhY2hlZC5zZWdtZW50IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICB3aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgICAgICAgJkB7bm90QmFzaWN9IHtcbiAgICAgICAgICAgIGJvcmRlcjogQGF0dGFjaGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZDpub3QoLm1lc3NhZ2UpOm5vdCgudGV4dCkgKyAudWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KFtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdKTpub3QoW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdKSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVG9wICovXG4gICAgLnVpLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0b3A6IEBhdHRhY2hlZFRvcE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogQHZlcnRpY2FsTWFyZ2luO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAudWkudGFiLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSAqL1xuICAgIC51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdG9wOiBAYXR0YWNoZWRCb3R0b21PZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm90dG9tQm94U2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC51aS50YWIuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uc2VnbWVudCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNlYW1sZXNzKSB7XG4gICAgICAgIC51aS5zZWFtbGVzcy5hdHRhY2hlZC5zZWdtZW50IHtcbiAgICAgICAgICAgICY6bm90KC50b3ApOm5vdCguYm90dG9tKTpub3QoW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdKTpub3QoW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJltjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEZpdHRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5maXR0ZWQuc2VnbWVudDpub3QoLmhvcml6b250YWxseSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgIC51aS5maXR0ZWQuc2VnbWVudDpub3QoLnZlcnRpY2FsbHkpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodDtcbiAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50Lmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodDtcbiAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5yZXNpemFibGUuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgICAgICAgICAgcmVzaXplOiBAcmVzaXphYmxlRGlyZWN0aW9uO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc2VnbWVudCB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblNlZ21lbnRTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uU2VnbWVudFNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uc2VnbWVudHMgLnNlZ21lbnQsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zZWdtZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTdGVwXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgTG9hZCBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcInN0ZXBcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RDaXJjdWxhcjogaWYoQHZhcmlhdGlvblN0ZXBDaXJjdWxhciwgZShcIjpub3QoLmNpcmN1bGFyKVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25TdGVwVmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuQG5vdFVuc3RhY2thYmxlOiBpZihAdmFyaWF0aW9uU3RlcFVuc3RhY2thYmxlLCBlKFwiOm5vdCgudW5zdGFja2FibGUpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFBsdXJhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiBAc3RlcE1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kOiBAc3RlcHNCYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEBzdGVwc0JveFNoYWRvdztcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzO1xuICAgIGJvcmRlcjogQHN0ZXBzQm9yZGVyO1xufVxuLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogRmlyc3QgU3RlcHMgKi9cbi51aS5zdGVwczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogTGFzdCBTdGVwcyAqL1xuLnVpLnN0ZXBzOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFNpbmd1bGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBAanVzdGlmeUNvbnRlbnQ7XG4gICAgbWFyZ2luOiBAdmVydGljYWxNYXJnaW4gQGhvcml6b250YWxNYXJnaW47XG4gICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IEBkaXZpZGVyO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuXG4vKiBBcnJvdyAqL1xuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiBAYXJyb3dUb3BPZmZzZXQ7XG4gICAgcmlnaHQ6IEBhcnJvd1JpZ2h0T2Zmc2V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd0JhY2tncm91bmRDb2xvcjtcbiAgICB3aWR0aDogQGFycm93U2l6ZTtcbiAgICBoZWlnaHQ6IEBhcnJvd1NpemU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgICBib3JkZXItd2lkdGg6IEBhcnJvd0JvcmRlcldpZHRoO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi8qIEZpcnN0IFN0ZXAgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsUGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgMCAwIEBzdGVwc0JvcmRlclJhZGl1cztcbn1cblxuLyogTGFzdCBTdGVwICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXMgMDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBPbmx5IFN0ZXAgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFRpdGxlICovXG4udWkuc3RlcHMgLnN0ZXAgLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQHRpdGxlRm9udEZhbWlseTtcbiAgICBmb250LXNpemU6IEB0aXRsZUZvbnRTaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAdGl0bGVGb250V2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IC50aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIERlc2NyaXB0aW9uICovXG4udWkuc3RlcHMgLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogQGRlc2NyaXB0aW9uRm9udFdlaWdodDtcbiAgICBmb250LXNpemU6IEBkZXNjcmlwdGlvbkZvbnRTaXplO1xuICAgIGNvbG9yOiBAZGVzY3JpcHRpb25Db2xvcjtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLnVpLnN0ZXBzIC5zdGVwIC50aXRsZSB+IC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogQGRlc2NyaXB0aW9uRGlzdGFuY2U7XG59XG5cbi8qIEljb24gKi9cbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gICAgbWFyZ2luOiAwIEBpY29uRGlzdGFuY2UgMCAwO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gaS5pY29uLFxuLnVpLnN0ZXBzIC5zdGVwID4gaS5pY29uIH4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGFsaWduLXNlbGY6IEBpY29uQWxpZ247XG59XG5cbi8qIEhvcml6b250YWwgSWNvbiAqL1xuLnVpLnN0ZXBzQHtub3RWZXJ0aWNhbH0gLnN0ZXAgPiBpLmljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBMaW5rICovXG4udWkuc3RlcHMgLmxpbmsuc3RlcCxcbi51aS5zdGVwcyBhLnN0ZXAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAudWkuY2lyY3VsYXIuc3RlcHMge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgJkB7bm90VmVydGljYWx9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogQGNpcmN1bGFyU3RlcHNNYXJnaW47XG4gICAgICAgICAgICBtYXJnaW46IEBjaXJjdWxhclN0ZXBzUGFkZGluZztcblxuICAgICAgICAgICAgJiAuc3RlcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNpcmN1bGFyU3RlcENvbG9yO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBjaXJjdWxhclN0ZXBCb3JkZXJXaWR0aDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAY2lyY3VsYXJTdGVwUmluZ1NpemU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtQGNpcmN1bGFyU3RlcFJpbmdTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IEBjaXJjdWxhclN0ZXBJY29uRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogQGNpcmN1bGFyU3RlcENvbXBsZXRlZEljb25EaXN0YW5jZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjaXJjdWxhclN0ZXBDb250ZW50TWFyZ2luVG9wO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBAY2lyY3VsYXJTdGVwQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgICAgICYuY2VudGVyLmFsaWduZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQGNpcmN1bGFyU3RlcENvbnRlbnRDZW50ZXJBbGlnbmVkTWFyZ2luVG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgJiAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IEBjaXJjdWxhclN0ZXBDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQGNpcmN1bGFyU3RlcENvbnRlbnRDZW50ZXJBbGlnbmVkTWFyZ2luTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2lyY3VsYXJTdGVwQ29udGVudENlbnRlckFsaWduZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYm90dG9tLmFsaWduZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQGNpcmN1bGFyU3RlcENvbnRlbnRCb3R0b21BbGlnbmVkTWFyZ2luVG9wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5hbGlnbmVkKSAudGl0bGUgKyAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQGNpcmN1bGFyU3RlcENvbnRlbnREZXNjcmlwdGlvbkRpc3RhbmNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIGEuc3RlcDo6YmVmb3JlLFxuICAgICAgICAgICAgJiBhLnN0ZXA6OmFmdGVyLFxuICAgICAgICAgICAgJiBhLnN0ZXAgLmNvbnRlbnQsXG4gICAgICAgICAgICAmIC5zdGVwLmxpbmsgLmNvbnRlbnQsXG4gICAgICAgICAgICAmIC5zdGVwLmxpbms6OmJlZm9yZSxcbiAgICAgICAgICAgICYgLnN0ZXAubGluazo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgLnN0ZXAge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBAY2lyY3VsYXJTdGVwQm9yZGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogQGNpcmN1bGFyU3RlcFJpbmdTaXplO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAY2lyY3VsYXJTdGVwUmluZ1NpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBjaXJjdWxhclN0ZXBSaW5nU2l6ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjaXJjdWxhclN0ZXBDb2xvcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBjaXJjdWxhclN0ZXBJY29uU2l6ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogQGNpcmN1bGFyU3RlcEljb25TaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNpcmN1bGFyU3RlcEFjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNpcmN1bGFyU3RlcEFjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY2lyY3VsYXJTdGVwQWN0aXZlQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21wbGV0ZWQge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwMFwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogU3RlcDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogQGNpcmN1bGFyU3RlcENvbXBsZXRlZEljb25MaW5lSGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgICAgICAgLnVpLmNpcmN1bGFyLnN0ZXBzQHtub3RWZXJ0aWNhbH0gLnN0ZXA6bGFzdC1jaGlsZDpoYXMoLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmNpcmN1bGFyLnN0ZXBzQHtub3RWZXJ0aWNhbH0gLnN0ZXA6bGFzdC1jaGlsZDpoYXMoLmNlbnRlci5hbGlnbmVkLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBPcmRlcmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE9yZGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5vcmRlcmVkLnN0ZXBzIHtcbiAgICAgICAgY291bnRlci1yZXNldDogb3JkZXJlZDtcbiAgICB9XG4gICAgLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29udGVudDogY291bnRlcihvcmRlcmVkKTtcbiAgICAgICAgYWxpZ24tc2VsZjogQGljb25BbGlnbjtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAb3JkZXJlZEZvbnRGYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAb3JkZXJlZEZvbnRXZWlnaHQ7XG4gICAgfVxuICAgIC51aS5vcmRlcmVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBmb250LXNpemU6IEBpY29uU2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAaWNvbkRpc3RhbmNlO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBDaXJjdWxhcikge1xuICAgICAgICAudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKEBjaXJjdWxhclN0ZXBSaW5nU2l6ZSAtIEBjaXJjdWxhclN0ZXBCb3JkZXJXaWR0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjaXJjdWxhclN0ZXBBY3RpdmVDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhbGlnbi1zZWxmOiBAaWNvbkFsaWduO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RlcFZlcnRpY2FsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQHZlcnRpY2FsRGl2aWRlcjtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6b25seS1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBBcnJvdyAqL1xuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOjphZnRlciB7XG4gICAgICAgIHRvcDogQHZlcnRpY2FsQXJyb3dUb3BPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiBAdmVydGljYWxBcnJvd1JpZ2h0T2Zmc2V0O1xuICAgICAgICBib3JkZXItd2lkdGg6IEB2ZXJ0aWNhbEFycm93Qm9yZGVyV2lkdGg7XG4gICAgICAgIGRpc3BsYXk6IEB2ZXJ0aWNhbEFycm93RGlzcGxheTtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBAdmVydGljYWxMZWZ0QXJyb3dCb3JkZXJXaWR0aDtcbiAgICAgICAgbGVmdDogQHZlcnRpY2FsTGVmdEFycm93TGVmdE9mZnNldDtcbiAgICAgICAgcmlnaHQ6IEB2ZXJ0aWNhbExlZnRBcnJvd1JpZ2h0T2Zmc2V0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuYWN0aXZlLnN0ZXA6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogQHZlcnRpY2FsQWN0aXZlQXJyb3dEaXNwbGF5O1xuICAgIH1cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IEB2ZXJ0aWNhbExhc3RBcnJvd0Rpc3BsYXk7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5hY3RpdmUuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IEB2ZXJ0aWNhbEFjdGl2ZUxhc3RBcnJvd0Rpc3BsYXk7XG4gICAgfVxuXG4gICAgLyogQ2lyY3VsYXIgU3RlcCAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBDaXJjdWxhcikge1xuICAgICAgICAudWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICYgLnN0ZXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IEB2ZXJ0aWNhbENpcmN1bGFyU3RlcEljb25EaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBAdmVydGljYWxDaXJjdWxhclN0ZXBJY29uRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHZlcnRpY2FsQ2lyY3VsYXJTdGVwQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IEB2ZXJ0aWNhbENpcmN1bGFyU3RlcFBhZGRpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgJiAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogQGNpcmN1bGFyU3RlcEJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogQGNpcmN1bGFyU3RlcFJpbmdTaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogQHZlcnRpY2FsQ2lyY3VsYXJTdGVwTGluZURpc3RhbmNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNpcmN1bGFyU3RlcENvbXBsZXRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmNvbXBsZXRlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IEB2ZXJ0aWNhbENpcmN1bGFyU3RlcENvbXBsZXRlZEljb25EaXN0YW5jZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLVxuICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTW9iaWxlIChEZWZhdWx0KSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAoQGxhcmdlc3RNb2JpbGVTY3JlZW4pKSB7XG4gICAgLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBzdGVwc0JvcmRlcjtcbiAgICB9XG4gICAgLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQXJyb3cgKi9cbiAgICAudWkuc3RlcHNAe25vdFVuc3RhY2thYmxlfUB7bm90Q2lyY3VsYXJ9IC5zdGVwOjphZnRlciB7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgIGJvdHRvbTogLUBhcnJvd1NpemU7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU3RlcFZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5hY3RpdmUuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQ29udGVudCAqL1xuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0gLnN0ZXAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0gLnN0ZXAgPiBpLmljb24sXG4gICAgLnVpLm9yZGVyZWQuc3RlcHNAe25vdFVuc3RhY2thYmxlfUB7bm90Q2lyY3VsYXJ9IC5zdGVwOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDAgMCBAbW9iaWxlSWNvbkRpc3RhbmNlIDA7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogTGluayBIb3ZlciAqL1xuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQGhvdmVyQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGhvdmVyQ29sb3I7XG59XG5cbi8qIExpbmsgRG93biAqL1xuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDphY3RpdmU6OmFmdGVyLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDphY3RpdmUsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSBhLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IEBkb3duQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGRvd25Db2xvcjtcbn1cblxuLyogQWN0aXZlICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcC5hY3RpdmUge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZDtcbn1cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IEBhY3RpdmVCYWNrZ3JvdW5kO1xufVxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAuYWN0aXZlIC50aXRsZSB7XG4gICAgY29sb3I6IEBhY3RpdmVDb2xvcjtcbn1cbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnN0ZXBzIC5hY3RpdmUuc3RlcCBpLmljb24ge1xuICAgIGNvbG9yOiBAYWN0aXZlSWNvbkNvbG9yO1xufVxuXG4vKiBBY3RpdmUgQXJyb3cgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOjphZnRlciB7XG4gICAgZGlzcGxheTogQGFycm93RGlzcGxheTtcbn1cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5hY3RpdmUuc3RlcDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IEBhY3RpdmVBcnJvd0Rpc3BsYXk7XG59XG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgZGlzcGxheTogQGxhc3RBcnJvd0Rpc3BsYXk7XG59XG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IEBhY3RpdmVMYXN0QXJyb3dEaXNwbGF5O1xufVxuXG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5hY3RpdmUuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSBhLmFjdGl2ZS5zdGVwOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogQGFjdGl2ZUhvdmVyQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGFjdGl2ZUhvdmVyQ29sb3I7XG59XG5cbi8qIENvbXBsZXRlZCAqL1xuLnVpLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICAgIGNvbG9yOiBAY29tcGxldGVkQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBEaXNhYmxlZCkge1xuICAgIC8qIERpc2FibGVkICovXG4gICAgLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IEBkaXNhYmxlZEJhY2tncm91bmQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAudWkuc3RlcHNAe25vdENpcmN1bGFyfSAuZGlzYWJsZWQuc3RlcCxcbiAgICAudWkuc3RlcHNAe25vdENpcmN1bGFyfSAuZGlzYWJsZWQuc3RlcCAudGl0bGUsXG4gICAgLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IEBkaXNhYmxlZENvbG9yO1xuICAgIH1cbiAgICAudWkuc3RlcHNAe25vdENpcmN1bGFyfSAuZGlzYWJsZWQuc3RlcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGlzYWJsZWRCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAgICAgLnVpLmNpcmN1bGFyLnN0ZXBzIC5kaXNhYmxlZC5zdGVwIHtcbiAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IEBjaXJjdWxhclN0ZXBEaXNhYmxlZEl0ZW1PcGFjaXR5O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVGFibGV0IE9yIEJlbG93ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwc0B7bm90Q2lyY3VsYXJ9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU3RlcHMgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQHN0ZXBzQm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQXJyb3cgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogLUBhcnJvd1NpemU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ29udGVudCAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwIC5jb250ZW50IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEljb24gKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXAgPiBpLmljb24sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBAbW9iaWxlSWNvbkRpc3RhbmNlIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEZsdWlkICovXG4gICAgLnVpLmZsdWlkLnN0ZXBzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVG9wICovXG4gICAgLnVpLmF0dGFjaGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0ge1xuICAgICAgICB3aWR0aDogQGF0dGFjaGVkV2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIEBhdHRhY2hlZEhvcml6b250YWxPZmZzZXQgQGF0dGFjaGVkVmVydGljYWxPZmZzZXQ7XG4gICAgICAgIG1heC13aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuYXR0YWNoZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cyAwIDAgMDtcbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQHN0ZXBzQm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gKi9cbiAgICAudWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0ge1xuICAgICAgICBtYXJnaW46IEBhdHRhY2hlZFZlcnRpY2FsT2Zmc2V0IEBhdHRhY2hlZEhvcml6b250YWxPZmZzZXQgMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIEBzdGVwc0JvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQHN0ZXBzQm9yZGVyUmFkaXVzIDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwRXF1YWxXaWR0aCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXZlbmx5IERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm9uZS5zdGVwcyxcbiAgICAudWkudHdvLnN0ZXBzLFxuICAgIC51aS50aHJlZS5zdGVwcyxcbiAgICAudWkuZm91ci5zdGVwcyxcbiAgICAudWkuZml2ZS5zdGVwcyxcbiAgICAudWkuc2l4LnN0ZXBzLFxuICAgIC51aS5zZXZlbi5zdGVwcyxcbiAgICAudWkuZWlnaHQuc3RlcHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnVpLm9uZS5zdGVwcyA+IC5zdGVwLFxuICAgIC51aS50d28uc3RlcHMgPiAuc3RlcCxcbiAgICAudWkudGhyZWUuc3RlcHMgPiAuc3RlcCxcbiAgICAudWkuZm91ci5zdGVwcyA+IC5zdGVwLFxuICAgIC51aS5maXZlLnN0ZXBzID4gLnN0ZXAsXG4gICAgLnVpLnNpeC5zdGVwcyA+IC5zdGVwLFxuICAgIC51aS5zZXZlbi5zdGVwcyA+IC5zdGVwLFxuICAgIC51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICAgIC51aS5vbmUuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAudWkudHdvLnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAudWkudGhyZWUuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIH1cbiAgICAudWkuZm91ci5zdGVwcyA+IC5zdGVwIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgLnVpLmZpdmUuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgIC51aS5zaXguc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjYlO1xuICAgIH1cbiAgICAudWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAxNC4yODUlO1xuICAgIH1cbiAgICAudWkuZWlnaHQuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAxMi41JTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnN0ZXBzIC5zdGVwLFxuLnVpLnN0ZXAge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TdGVwU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblN0ZXBTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0ZXBzIC5zdGVwLFxuICAgICAgICAudWkuQHt2YWx1ZX0uc3RlcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBDaXJjdWxhcikge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmNpcmN1bGFyLnN0ZXBzQHtub3RWZXJ0aWNhbH0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQHMgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBAcyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBzb2xpZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmxhY2s7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHMgLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcC5hY3RpdmUsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAuYWN0aXZlOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5vcmRlcmVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmFjdGl2ZS5zdGVwIGkuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwRGlzYWJsZWQpIHtcbiAgICAgICAgLyogRGlzYWJsZWQgKi9cbiAgICAgICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREaXNhYmxlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwIC50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREaXNhYmxlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIExpbmsgSG92ZXIgKi9cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5zdGVwOmhvdmVyOjphZnRlcixcbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5zdGVwOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5zdGVwOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSG92ZXJlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBMaW5rIERvd24gKi9cbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDphY3RpdmUsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5zdGVwOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGl2ZUhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFByZXNzZWRUZXh0Q29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBDaXJjdWxhcikge1xuICAgICAgICAvKiBDaXJjdWxhciBTdGVwICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5jaXJjdWxhci5zdGVwcyB7XG4gICAgICAgICAgICAmIC5zdGVwIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmQHtub3RWZXJ0aWNhbH0ge1xuICAgICAgICAgICAgICAgICYgLnN0ZXA6bm90KC5jb21wbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIC5zdGVwOm5vdCguYWN0aXZlKTpub3QoLmNvbXBsZXRlZCk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIC5zdGVwIC5jZW50ZXIuYWxpZ25lZC5jb250ZW50IC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZENpcmN1bGFyU3RlcENvbnRlbnRDZW50ZXJBbGlnbmVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCgub3JkZXJlZCkgLnN0ZXA6bm90KC5hY3RpdmUpOm5vdCguY29tcGxldGVkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU3RlcFZlcnRpY2FsKSB7XG4gICAgICAgICAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgICAgICYgLnN0ZXA6bm90KC5hY3RpdmUpOm5vdCguY29tcGxldGVkKTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgLnN0ZXA6bm90KC5jb21wbGV0ZWQpIC5jb250ZW50OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIGFuZCBub3QgKEB2YXJpYXRpb25TdGVwQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TdGVwQ29sb3JzLCB7XG4gICAgICAgIEB2YXJpYXRpb246IEB2YWx1ZTtcbiAgICAgICAgQGNvbG9yOiBAY29sb3JzW0BAdmFyaWF0aW9uXVtjb2xvcl07XG5cbiAgICAgICAgLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLkB7dmFyaWF0aW9ufSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkudWkuQHt2YXJpYXRpb259LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLCAudWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgICYuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLkB7dmFyaWF0aW9ufS5jaXJjdWxhci5zdGVwc0B7bm90VmVydGljYWx9IC5zdGVwLCAudWkudWkudWkuY2lyY3VsYXIuc3RlcHNAe25vdFZlcnRpY2FsfSAuc3RlcC5Ae3ZhcmlhdGlvbn0ge1xuICAgICAgICAgICAgJi5jb21wbGV0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkudWkuY2lyY3VsYXIuc3RlcHNAe25vdFZlcnRpY2FsfSAuc3RlcC5Ae3ZhcmlhdGlvbn0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5Ae3ZhcmlhdGlvbn0uY2lyY3VsYXIuc3RlcHMgLnN0ZXAsIC51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5Ae3ZhcmlhdGlvbn0ge1xuICAgICAgICAgICAgJi5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBWZXJ0aWNhbCkge1xuICAgICAgICAgICAgLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5Ae3ZhcmlhdGlvbn0gLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkuQHt2YXJpYXRpb259LnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLCAudWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgICAgICAmLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU3RlcE9yZGVyZWQpIHtcbiAgICAgICAgICAgIC51aS51aS5Ae3ZhcmlhdGlvbn0uY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcCwgLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogU3RlcDtcbiAgICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQXFnQUJBQUFBQUFFWHdBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBS2hBQUFBQndBQUFBY2pPTHp4RWRFUlVZQUFBcG9BQUFBSEFBQUFDQUFKd0FZVDFNdk1nQUFBZVFBQUFCRUFBQUFWajR3U1VaamJXRndBQUFDUEFBQUFFWUFBQUZPMEJrRHgyTjJkQ0FBQUFmWUFBQUFGQUFBQUJ3R1NmK1VabkJuYlFBQUFvUUFBQVQ1QUFBSmtZb0tlRHRuWVhOd0FBQUtZQUFBQUFnQUFBQUlBQUFBRUdkc2VXWUFBQWY0QUFBQXVBQUFBTGo1eWpUK2FHVmhaQUFBQVd3QUFBQTFBQUFBTmhHQVNsVm9hR1ZoQUFBQnBBQUFBQ0FBQUFBa0Izd0RhMmh0ZEhnQUFBSW9BQUFBRkFBQUFCUU13Z0JEYkc5allRQUFCK3dBQUFBTUFBQUFEQUE0QUZ4dFlYaHdBQUFCeEFBQUFDQUFBQUFnQUtnQVIyNWhiV1VBQUFpd0FBQUJnUUFBQXVnZ3E5aUtjRzl6ZEFBQUNqUUFBQUFxQUFBQVBhN0FRSnB3Y21Wd0FBQUhnQUFBQUZZQUFBQldrcUdhLzNpY1kyQmtZR0FBWWluK20rbngvRFpmR2VSWkdFRGd2T21NWGhCOVB5SDMzLysvLzljejcyS1dBM0k1R0poQW9nQkFzQXlUQUFBQWVKeGpZR1JnWUU3N244WVF3OEx3LysvLy84eTdHSUFpS0lBVkFLZ2xCdTBBQVFBQUFBVUFGZ0FCQUFBQUFBQUNBQVlBRXdCdUFBQUFMUUFjQUFBQUFIaWNZMkJrUHM4NGdZR1ZnWU9waytrc0F3TkRQNFJtZk1OZ3hNakJ3TURFd01yTWdCVUVwTG1tTURpOFlIakJ5SnoyUDQwaGhsbU9JUkFvekFpU0F3QVlEZ3YwQkFBQUFBQUFBQUFCVkFBQUJBQUFSZ050Ly8xNG5OMk13UTNBSUF3RHp4UXhCU013Q1B0UHdSYlVDZjEwQlN3bEowdTJnWWR6SFJHYWRrcGZHV1l6UllHbHZTT3dPTXhVemJhL0d0K0E2WFEwZmhMWDZ3V0FVd2F3QUFCNG5KMVYyWGJUVmhTVlBHUndFanBrb0tBTzE5dzRVT3ZLaENrWU1Ha3F4WFloSFJ3SXJRUWRwQXgwNUozSFB1dHJqa0s3VmgvNXRPNTlQU1MwZEsyMkxKYlB2a2RiWjlnNjUwWWNJeXA5R29ocjFLR1Nsd09wckQyV1N2ZEpYTmQxTDQrVkRBWnhYYllTVDBtYnFKMGtTbXJkN0ZBdThWanJLbGtuV0NmajVTQldUMVdlWjZBTTRoUWVaVWxFRzBRYnFaY21TZUtKNHllSkZtY1FIeVZKSUNXakVLZlN5RkJDTlJyRVV0V2hUT25RcTljVGNkTkF5a2FqSG5WWVZQZER4U2ZITmFmVXJBTkdLbGM1d2hYcjFVYStHNmNETDN1UXhEckJzNjJITVI1NHJINlVLcENLa2VuSVAzWktUcFNHZ1ZSeDFLRlc0dWd3azEvM2tVd3F6VUNtakdKRnBlNkJ1TjM5ZE5zV01UMTBPcjR1U3BWR3FycTV6aWlhN2RIeHFJTW9EOW5HNmFUYzBObjI4T1VaVTFTclhYR3o3VUJtRFZ4S3lXeDBuMFFBSFNaUzQra0JUaldjQXFrWjlVZkYyZWZQQVJMSlhKU3FQRlV5aDNvRG1UTTdlM0V4N1c0bnE3SndwSjhITW05MmR1T2RoME9uVjRkLzBmb1hUT0hNUjQvaVluNCtRdnBRYW40aVRpU2xSbGpNOHFlR0gzRlhJRUs1TVlnTEY4cmdVNFE1ZEVYYTJXWmQ0N1V4OW9iUCtVcXBZVDBKMnVpaitINEsvVTRrS3h4blVhUDFTSnpOWTlkMXJkeG5VRXUxdXhjN01xOURsU0x1N3dzTHJqUG5oR0dlRmd0Vlg1NzUzZ1UwL3dhSVoveEEzalNGUy91V0tVcTBiNXVpVEx0b2lncnRFbFNsWFRiRkZPMktLYVpwejVwaWh2WWRVOHpTbmpNeTQvL0wzT2VSK3h6ZThaQ2I5bDNrcG4wUHVXbmZSMjdhRDVDYlZpRTNiUjI1YVM4Z042MUdidHBWb3pwMkJCb0dhUmRTRlVIUU5MTDZZZHhXbS9WQTFvdzBmR2xnOGk1aXlQcnFSRWVkdGJYS0g4Vi9kZUlMQjNKcG9xZTdJaGViNGk2djJ4WStQTjN1cTQrYVJ0MncxZmpHa2ZJd0hrWjZISnJRV2ZuTjRiL3RUZDB1bXU0eXFqTG9BUlZNQ3NBQVplMUFBdE02MndtazlacW4rUElIWUZ5R2VNNUtRN1ZVbnp1R3B1L2xlVi8zc1RueHZzZnR4aTYzWEhkNUNWbldEWEpqOXZEZlVtU3E2eC9sTGExVUowZXNLeWVQVldzWVF5cThLTHEra3BSN3RMVWJ2eWlwc3ZKZWxOYks1NU9RbXoyREcwSmJ0dTVoc0NOTWFjb2xIbDVUcFNnOTFGS09za01zYnluS1BPQ1Vpd3RhaHNTNERuVVBhbXZFNmFGNkdCc0xJWWFodEwwUWNFZ3BYUlhmdE1wMzhSNnJhOWpvK01VVjRlbDZjaElSbitJcSsxSHdWTmRHL2VnTzJyeG0zVEtES1ZXcXAvdU1UN0d2Mi9aUldXbWtqck1YdDFRSDF6VHJHamtWMDAva2ErQjBiemhvM1FNOVZIdzBRU05WTmNmb3hpaGpOSlkxNWQ4RWRERldmc05vMVdMN1BkeFBuYVJWckxsTG1PeWJFL2ZndEx2OUt2dTFuRnRHMXYzWEJyMXQ1SXFmSXpHL0xRcjhPd2RpdDJRTjFEdVRnUmdMeUZuUUdNWVdKbmNZcm9OdHhHMzJQeWFuLzkrR2hVVnlWenNhdTNucXc5V1RVU1YzMmZLNHkwMTJXZGVqTmtmVlRocjdDSTB0RHpmbTJPRnlMTGJFWUVHMi9zSC9NZTRCZDJsUkF1RFF5R1dZaU5wMG9aN3E0ZW9lcTdGdE9GY1NBWGJOc2VOMEFIb0FMa0hmSEx2Vzh3bUE5ZHdqNXk3QWZYSUlkc2doK0pRY2dzL0l1UVh3T1RrRVg1QkRNQ0NIWUplY093QVB5Q0Y0U0E3Qkhqa0VqOGpaQlBpU0hJS3Z5Q0dJeVNGSXlMa044SmdjZ2lma0VIeE5Ec0UzUnE1T1pQNldCOWtBK3M2aW0wQ3BuUm9jMmpoa1JxNU4yUHM4V1BhQlJXUWZXa1Rxa1pIckUrcFRIaXoxZTR0SS9jRWlVbjgwY21OQy9Za0hTLzNaSWxKL3NZalVaOGFYbVNNcHJ3NmU4NDRPL2dTWDZxMWVBQUFBUzdnQXlGSllzUUVCamxtNUNBQUlBR01nc0FFalJMQURJM0N5QkNnSlJWSkVzZ29DQnlxeEJnRkVzU1FCaUZGWXNFQ0lXTEVHQTBTeEpnR0lVVmk0QkFDSVdMRUdBVVJaV1ZsWnVBSC9oYkFFamJFRkFFUUFBSGljWTJCQUEwWU1Sc3pjL3plQ01BQVF0QVBoQUFBQUFBQUFBQUFBT0FCY0FBRUFSZ0FCQTdvQ3FBQVZBQnhBR1E4QkFBRUJRZ0FDQVFKcUFBRUFBV29BQUFCaEZCY1VBeElyQVJRSEFRWWlKd0VtTkQ4Qk5qSWZBUUUyTWg4QkZnTzZELzRVRUMwUS91TVBEMDRRTFJHb0FYWVFMaEJPRHdJakZ4RCtGQThQQVIwUUxSRk9FQkNwQVhnUUVFNFFBQUFCLy8zL3J3TjBBeDRBREFBU1FBOEFBUUVLUXdBQUFBc0FSQlVUQWhFckFSUU9BU0l1QWo0Qk1oNEJBMjUxeSszTmNRWjl3UHEvZ1FGbWVNaDNkOG52eVhkM3lRQUFBSGljZlpITFNzTkFGSWIvNlVWckN5SUtyZzhJWWhIU0M3cHhWU2xVY09taSs3U21TVXFhQ1pPcDBOZnhHZHo2Q0xwejY5YXRLOWYrU1VmQmdrM0k1RHYvdWN5Wk13QU84UTZGOVhPSnhMRkNBMCtPSzlqRmkrTXE5US9ITlRSVXhYRWRMWFhpZUlmNnRlTW16dFdqNHhhTzFCY3JxTm9lclhsWnJXQ0ZBenc2cm1BZno0NnIxTjhjMThpZmp1czRWaTNIT3poUUhjZE5qTld0NHhaTzFTdUcwTWl3Z2tHTUVCRXNCR2RVMi96MzBVVVBGNlFKSTRTUjY2Z1lLWHpPUWJndW1SR1ZucHoyZ04rTVZrbzFZRVJDOWpEbHVnQ0dPbHVaT0l5c25BM2IwdS8yTG1TeUVrMHBUdjFFL0tXTnRNbGxJRE9kMmlCSnREZlZUTnVzaHg4M2NFY3haQXNKR3pFMGczQ1orR1pyeWhiWG1HSnhqTGdNRVI3ZDR3QXdEa3dlNjFSNlhuZHIrZzNGdEN6aGx3SDN2M1BMOGNBMisxUXRDeFFUTXVWRUJLT05jc0s3S0h4ektsUHFIc3NHYVdCOEc5d1h3OG9md3I2MU01a1p2WkNSMjFveW8rZkIxREk0S3ZmSWNJVU8zMzl2SXJJMnUrcDAvc3o1R3lMSGg3MEFBQUI0bkdOZ1lvQUFMZ2JzZ0JXSUdSbVlHSmtZbVRtVE0xS1RzM01UaTdMWmtqT0xrbk5TQVRrUEJrWUFBQUFCQUFILy93QVBlSnhqWUdSZ1lPQUJZZ0VHQ1FZbUlNMEN4Q0NhRVlJQkJXMEFRQUFBQUFFQUFBQUEza3p0T0FBQUFBRFBOWmlOQUFBQUFOOWdiZjQ9XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246OmJlZm9yZSxcbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogU3RlcDtcbiAgICBjb250ZW50OiBcIlxcZTgwMFwiOyAvKiAn7qCAJyAqL1xufVxuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gVGV4dFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwidGV4dFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuc3Bhbi51aS50ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25UZXh0Q29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25UZXh0Q29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICBzcGFuLnVpLkB7Y29sb3J9LnRleHQge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRleHRJbnZlcnRlZCkge1xuICAgICAgICAgICAgc3Bhbi51aS5pbnZlcnRlZC5Ae2NvbG9yfS50ZXh0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblRleHRTdGF0ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblRleHRTdGF0ZXMsIHtcbiAgICAgICAgQHN0YXRlOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAdGV4dFN0YXRlc1tAQHN0YXRlXVtjb2xvcl07XG5cbiAgICAgICAgc3Bhbi51aS5Ae3N0YXRlfS50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UZXh0RGlzYWJsZWQpIHtcbiAgICBzcGFuLnVpLmRpc2FibGVkLnRleHQge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cbn1cblxuLyogU2l6ZXMgKi9cbnNwYW4udWkubWVkaXVtLnRleHQge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25UZXh0U2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblRleHRTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgc3Bhbi51aS5Ae3ZhbHVlfS50ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBCcmVhZGNydW1iXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJjb2xsZWN0aW9uXCI7XG5AZWxlbWVudDogXCJicmVhZGNydW1iXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBCcmVhZGNydW1iXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYnJlYWRjcnVtYiB7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xuICAgIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIDA7XG4gICAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xufVxuLnVpLmJyZWFkY3J1bWI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuYnJlYWRjcnVtYjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIERpdmlkZXIgKi9cbi51aS5icmVhZGNydW1iIC5kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3BhY2l0eTogQGRpdmlkZXJPcGFjaXR5O1xuICAgIG1hcmdpbjogMCBAZGl2aWRlclNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBAZGl2aWRlclNpemU7XG4gICAgY29sb3I6IEBkaXZpZGVyQ29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IEBkaXZpZGVyVmVydGljYWxBbGlnbjtcbn1cblxuLyogTGluayAqL1xuLnVpLmJyZWFkY3J1bWIgYSB7XG4gICAgY29sb3I6IEBsaW5rQ29sb3I7XG59XG4udWkuYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgICBjb2xvcjogQGxpbmtIb3ZlckNvbG9yO1xufVxuXG4vKiBJY29uIERpdmlkZXIgKi9cbi51aS5icmVhZGNydW1iIC5pY29uLmRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogQGljb25EaXZpZGVyU2l6ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25EaXZpZGVyVmVydGljYWxBbGlnbjtcbn1cblxuLyogU2VjdGlvbiAqL1xuLnVpLmJyZWFkY3J1bWIgYS5zZWN0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuYnJlYWRjcnVtYiAuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogQHNlY3Rpb25NYXJnaW47XG4gICAgcGFkZGluZzogQHNlY3Rpb25QYWRkaW5nO1xufVxuXG4vKiBMb29zZSBDb3VwbGluZyAqL1xuLnVpLmJyZWFkY3J1bWIuc2VnbWVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IEBzZWdtZW50UGFkZGluZztcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnJlYWRjcnVtYkludmVydGVkKSB7XG4gICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAudWkuaW52ZXJ0ZWQuYnJlYWRjcnVtYiB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmJyZWFkY3J1bWIgPiAuYWN0aXZlLnNlY3Rpb24ge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQWN0aXZlQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5icmVhZGNydW1iID4gLmRpdmlkZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkRGl2aWRlckNvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmJyZWFkY3J1bWIgLmFjdGl2ZS5zZWN0aW9uIHtcbiAgICBmb250LXdlaWdodDogQGFjdGl2ZUZvbnRXZWlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5icmVhZGNydW1iIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQnJlYWRjcnVtYlNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25CcmVhZGNydW1iU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5icmVhZGNydW1iIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGb3JtXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJjb2xsZWN0aW9uXCI7XG5AZWxlbWVudDogXCJmb3JtXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90SW5saW5lOiBpZihAdmFyaWF0aW9uRm9ybUlubGluZSwgZShcIjpub3QoLmlubGluZSlcIikpO1xuQG5vdEludmVydGVkOiBpZihAdmFyaWF0aW9uRm9ybUludmVydGVkLCBlKFwiOm5vdCguaW52ZXJ0ZWQpXCIpKTtcbkBub3RXaWRlOiBpZihAdmFyaWF0aW9uRm9ybVdpZGUsIGUoXCI6bm90KC53aWRlKVwiKSk7XG5Abm90R3JvdXBlZDogaWYoQHZhcmlhdGlvbkZvcm1Hcm91cGVkLCBlKFwiOm5vdCguZ3JvdXBlZClcIikpO1xuQG5vdFJlcXVpcmVkOiBpZihAdmFyaWF0aW9uRm9ybVJlcXVpcmVkLCBlKFwiOm5vdCgucmVxdWlyZWQpXCIpKTtcbkBub3RVbnN0YWNrYWJsZTogaWYoQHZhcmlhdGlvbkZvcm1VbnN0YWNrYWJsZSwgZShcIjpub3QoLnVuc3RhY2thYmxlKVwiKSk7XG5cbkBub3RUb2dnbGU6IGlmKEB2YXJpYXRpb25DaGVja2JveFRvZ2dsZSwgZShcIjpub3QoLnRvZ2dsZSlcIikpO1xuQG5vdFNsaWRlcjogaWYoQHZhcmlhdGlvbkNoZWNrYm94U2xpZGVyLCBlKFwiOm5vdCguc2xpZGVyKVwiKSk7XG5Abm90Q29tcGFjdDogaWYoQHZhcmlhdGlvbkRyb3Bkb3duQ29tcGFjdCwgZShcIjpub3QoLmNvbXBhY3QpXCIpKTtcbkBub3RJY29uOiBpZihAdmFyaWF0aW9uSW5wdXRJY29uLCBlKFwiOm5vdCguaWNvbilcIikpO1xuQG5vdENvcm5lcjogaWYoQHZhcmlhdGlvbkxhYmVsQ29ybmVyLCBlKFwiOm5vdCguY29ybmVyKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gPiBwIHtcbiAgICBtYXJnaW46IEBwYXJhZ3JhcGhNYXJnaW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZpZWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gLmZpZWxkIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IEBmaWVsZE1hcmdpbjtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGRzLFxuLnVpLmZvcm0gLmZpZWxkOmxhc3QtY2hpbGQsXG4udWkuZm9ybSAuZmllbGRzOmxhc3QtY2hpbGQgLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSAuZmllbGQgPiBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBAbGFiZWxNYXJnaW47XG4gICAgZm9udC1zaXplOiBAbGFiZWxGb250U2l6ZTtcbiAgICBmb250LXdlaWdodDogQGxhYmVsRm9udFdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGxhYmVsVGV4dFRyYW5zZm9ybTtcbn1cbi51aS5mb3JtQHtub3RJbnZlcnRlZH0gLmZpZWxkID4gbGFiZWw6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogQGxhYmVsQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU3RhbmRhcmQgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gdGV4dGFyZWEsXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgICB3aWR0aDogQGlucHV0V2lkdGg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogU2V0IG1heCBoZWlnaHQgb24gdW51c3VhbCBpbnB1dCAqL1xuLnVpLmZvcm0gOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsXG4udWkuZm9ybSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogQGlucHV0TGluZUhlaWdodDtcbn1cblxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gICAgZm9udC1mYW1pbHk6IEBpbnB1dEZvbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0TGluZUhlaWdodDtcbiAgICBwYWRkaW5nOiBAaW5wdXRQYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogQGlucHV0Rm9udFNpemU7XG4gICAgYmFja2dyb3VuZDogQGlucHV0QmFja2dyb3VuZDtcbiAgICBib3JkZXI6IEBpbnB1dEJvcmRlcjtcbiAgICBjb2xvcjogQGlucHV0Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0Qm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBpbnB1dEJveFNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBAaW5wdXRUcmFuc2l0aW9uO1xufVxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdIHtcbiAgICBwYWRkaW5nOiBpbml0aWFsO1xufVxuXG4udWkuZm9ybSBpbnB1dDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBUZXh0IEFyZWEgKi9cbi51aS5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIHRleHRhcmVhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBwYWRkaW5nOiBAdGV4dEFyZWFQYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IEB0ZXh0QXJlYUJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiBAdGV4dEFyZWFCb3JkZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogQGlucHV0Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0Qm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBpbnB1dEJveFNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBAdGV4dEFyZWFUcmFuc2l0aW9uO1xuICAgIGZvbnQtc2l6ZTogQHRleHRBcmVhRm9udFNpemU7XG4gICAgZm9udC1mYW1pbHk6IEBpbnB1dEZvbnQ7XG4gICAgbGluZS1oZWlnaHQ6IEB0ZXh0QXJlYUxpbmVIZWlnaHQ7XG4gICAgcmVzaXplOiBAdGV4dEFyZWFSZXNpemU7XG4gICAgbWluLWhlaWdodDogQGFjdGlvblRleHRhcmVhTWluSGVpZ2h0O1xufVxuLnVpLmlucHV0ID4gdGV4dGFyZWEge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cbi51aS5mb3JtIHRleHRhcmVhOm5vdChbcm93c10pIHtcbiAgICBoZWlnaHQ6IEB0ZXh0QXJlYUhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiBAdGV4dEFyZWFNaW5IZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogQHRleHRBcmVhTWF4SGVpZ2h0O1xufVxuXG4udWkuZm9ybSB0ZXh0YXJlYSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IEBjaGVja2JveFZlcnRpY2FsQWxpZ247XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2hlY2tib3ggbWFyZ2luXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgbGFiZWwgKyAudWkudWkuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBjaGVja2JveExhYmVsRmllbGRUb3BNYXJnaW47XG59XG4udWkuZm9ybSAuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBpbnB1dExpbmVIZWlnaHQgKyBAY2hlY2tib3hGaWVsZFRvcE1hcmdpbjtcbn1cbi51aS5mb3JtIC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9IC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS50b2dnbGUuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBpbnB1dExpbmVIZWlnaHQgKyBAY2hlY2tib3hUb2dnbGVGaWVsZFRvcE1hcmdpbjtcbn1cbi51aS5mb3JtIC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9IC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5zbGlkZXIuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBpbnB1dExpbmVIZWlnaHQgKyBAY2hlY2tib3hTbGlkZXJGaWVsZFRvcE1hcmdpbjtcbn1cbi51aS51aS5mb3JtIC5maWVsZCAuZmllbGRzIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogKEBjaGVja2JveEZpZWxkVG9wTWFyZ2luIC8gMik7XG59XG4udWkudWkuZm9ybSAuZmllbGQgLmZpZWxkcyAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkudG9nZ2xlLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiAoQGNoZWNrYm94VG9nZ2xlRmllbGRUb3BNYXJnaW4gLyAyKTtcbn1cbi51aS51aS5mb3JtIC5maWVsZCAuZmllbGRzIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5zbGlkZXIuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IChAY2hlY2tib3hTbGlkZXJGaWVsZFRvcE1hcmdpbiAvIDIpO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtVHJhbnNwYXJlbnQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFRyYW5zcGFyZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZm9ybSAuZmllbGQgLnRyYW5zcGFyZW50LmlucHV0QHtub3RJY29ufSBpbnB1dCxcbiAgICAudWkuZm9ybSAuZmllbGQgaW5wdXQudHJhbnNwYXJlbnQsXG4gICAgLnVpLmZvcm0gLmZpZWxkIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgICAgICAgcGFkZGluZzogQHRyYW5zcGFyZW50UGFkZGluZztcbiAgICB9XG5cbiAgICAudWkuZm9ybSAuZmllbGQgaW5wdXQudHJhbnNwYXJlbnQsXG4gICAgLnVpLmZvcm0gLmZpZWxkIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnB1dCB3LyBhdHRhY2hlZCBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSBpbnB1dC5hdHRhY2hlZCB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJhc2ljIFNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IEBzZWxlY3RCYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogQHNlbGVjdEJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBAc2VsZWN0Qm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBzZWxlY3RCb3hTaGFkb3c7XG4gICAgcGFkZGluZzogQHNlbGVjdFBhZGRpbmc7XG4gICAgY29sb3I6IEBzZWxlY3RDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBAc2VsZWN0VHJhbnNpdGlvbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEcm9wZG93blxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEJsb2NrICovXG4udWkuZm9ybSAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RDb21wYWN0fSB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZvcm0gLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1JbmxpbmUpIHtcbiAgICAvKiBJbmxpbmUgKi9cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbixcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVJIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQmxvY2sgKi9cbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAud2lkZS5maWVsZCAudWkuaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtSW5saW5lKSB7XG4gICAgLyogSW5saW5lICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkQHtub3RXaWRlfSAudWkuaW5wdXQsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZEB7bm90V2lkZX0gLnVpLmlucHV0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG4vKiBBdXRvIElucHV0ICovXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkIC51aS5pbnB1dCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1FcXVhbFdpZHRoKSBvciAoQHZhcmlhdGlvbkZvcm1XaWRlKSB7XG4gICAgLyogRnVsbCBXaWR0aCBJbnB1dCAqL1xuICAgIC51aS5mb3JtIC50ZW4uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAubmluZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC5laWdodC5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC5zZXZlbi5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC5zaXguZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAuZml2ZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC5mb3VyLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4gICAgLnVpLmZvcm0gLnRocmVlLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4gICAgLnVpLmZvcm0gLnR3by5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC53aWRlLmZpZWxkIC51aS5pbnB1dCBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBUeXBlcyBvZiBNZXNzYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRm9ybVN0YXRlcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uRm9ybVN0YXRlcywge1xuICAgICAgICBAc3RhdGU6IEB2YWx1ZTtcbiAgICAgICAgLnVpLmZvcm0gLkB7c3RhdGV9Lm1lc3NhZ2UsXG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfS5tZXNzYWdlOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogQXNzdW1wdGlvbnMgKi9cbi51aS5mb3JtIC5tZXNzYWdlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmFsaWRhdGlvbiBQcm9tcHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSAuZmllbGQgLnByb21wdC5sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBiYWNrZ3JvdW5kOiBAcHJvbXB0QmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogQHByb21wdEJvcmRlciAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBAcHJvbXB0VGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gICAgJiBsaTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IEBwcm9tcHRUZXh0Q29sb3I7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUlubGluZSkge1xuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgLnByb21wdCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogQGlubGluZVByb21wdE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5wcm9tcHQ6OmJlZm9yZSxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIEBpbmxpbmVQcm9tcHRCb3JkZXJXaWR0aCBAaW5saW5lUHJvbXB0Qm9yZGVyV2lkdGg7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF1dG9maWxsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSAuZmllbGQuZmllbGQgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggQGlucHV0QXV0b0ZpbGxCYWNrZ3JvdW5kIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAaW5wdXRBdXRvRmlsbEJvcmRlciAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMHB4IEBpbnB1dEF1dG9GaWxsRm9jdXNCYWNrZ3JvdW5kIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAaW5wdXRBdXRvRmlsbEZvY3VzQm9yZGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIGJyb3dzZXJzIHJlcXVpcmUgdGhlc2UgcnVsZXMgc2VwYXJhdGUgKi9cbi51aS5mb3JtIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckNvbG9yO1xufVxuLnVpLmZvcm0gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgY29sb3I6IEBpbnB1dFBsYWNlaG9sZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnVpLmZvcm0gOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBpbnB1dFBsYWNlaG9sZGVyRm9jdXNDb2xvcjtcbn1cbi51aS5mb3JtIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgICBjb2xvcjogQGlucHV0Rm9jdXNDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBpbnB1dEZvY3VzQm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0Rm9jdXNCb3JkZXJSYWRpdXM7XG4gICAgYmFja2dyb3VuZDogQGlucHV0Rm9jdXNCYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEBpbnB1dEZvY3VzQm94U2hhZG93O1xufVxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRBY3Rpb24pIHtcbiAgICAudWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIHtcbiAgICAgICAgJiBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbiAgICAgICAgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCB7XG4gICAgICAgICYgaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgICAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnVpLmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgIGNvbG9yOiBAdGV4dEFyZWFGb2N1c0NvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQHRleHRBcmVhRm9jdXNCb3JkZXJDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiBAdGV4dEFyZWFGb2N1c0JvcmRlclJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiBAdGV4dEFyZWFGb2N1c0JhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogQHRleHRBcmVhRm9jdXNCb3hTaGFkb3c7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKiBGb2N1cyAqL1xuLnVpLmZvcm0gaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgb3BhY2l0eTogQGljb25Gb2N1c09wYWNpdHk7XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Gb3JtU3RhdGVzID0gZmFsc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgZWFjaChAdmFyaWF0aW9uRm9ybVN0YXRlcywge1xuICAgICAgICBAc3RhdGU6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2NvbG9yXTtcbiAgICAgICAgQGJnOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtiYWNrZ3JvdW5kXTtcbiAgICAgICAgQGJkYzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyQ29sb3JdO1xuICAgICAgICBAbGJnOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtsYWJlbEJhY2tncm91bmRdO1xuXG4gICAgICAgIC8qIE9uIEZvcm0gKi9cbiAgICAgICAgLnVpLmZvcm0uQHtzdGF0ZX0gLkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0uQHtzdGF0ZX0gLmNvbXBhY3QuQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0uQHtzdGF0ZX0gLmljb24uQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogT24gRmllbGQocykgKi9cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5Ae3N0YXRlfS5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmNvbXBhY3QuQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5jb21wYWN0LkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmljb24uQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5pY29uLkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGxhYmVsLFxuICAgICAgICAudWkudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkubGFiZWxAe25vdENvcm5lcn0sXG4gICAgICAgIC51aS51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBsYWJlbCxcbiAgICAgICAgLnVpLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5sYWJlbEB7bm90Q29ybmVyfSxcbiAgICAgICAgLnVpLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLmlucHV0LFxuICAgICAgICAudWkudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLmlucHV0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuXG4gICAgICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAgICAgLnVpLmZvcm0gLmZpZWxkczpoYXMoLkB7c3RhdGV9KSA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkubGFiZWwsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkubGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxiZztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC5jb3JuZXIubGFiZWwsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGM7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bY29ybmVyTGFiZWxDb2xvcl07XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCB0ZXh0YXJlYSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgc2VsZWN0LFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dDpub3QoW3R5cGVdKSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IHRleHRhcmVhLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gc2VsZWN0LFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJtb250aFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlclJhZGl1c107XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3hTaGFkb3ddO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHN0YXRlPWVycm9yKSBhbmQgKEB2YXJpYXRpb25Gb3JtSW52YWxpZCkge1xuICAgICAgICAgICAgLnVpLmZvcm06bm90KC5pbml0aWFsKSAuZmllbGQgaW5wdXQ6aW52YWxpZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiZztcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJSYWRpdXNdO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JveFNoYWRvd107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gdGV4dGFyZWE6Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBzZWxlY3Q6Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0Rm9jdXNCYWNrZ3JvdW5kXTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRGb2N1c0JvcmRlckNvbG9yXTtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dEZvY3VzQ29sb3JdO1xuXG4gICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dEZvY3VzQm94U2hhZG93XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0SG92ZXJCb3JkZXJDb2xvcl07XG4gICAgICAgIH1cblxuICAgICAgICAvKiBQcmVzZXJ2ZSBOYXRpdmUgU2VsZWN0IFN0eWxpbmdzICovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBzZWxlY3Qge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b247XG4gICAgICAgIH1cblxuICAgICAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW5wdXQgU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Gb3JtVHJhbnNwYXJlbnQpIHtcbiAgICAgICAgICAgIC8qIFRyYW5zcGFyZW50ICovXG4gICAgICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnRyYW5zcGFyZW50LmlucHV0IGlucHV0LFxuICAgICAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC50cmFuc3BhcmVudC5pbnB1dCB0ZXh0YXJlYSxcbiAgICAgICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dC50cmFuc3BhcmVudCxcbiAgICAgICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bdHJhbnNwYXJlbnRCYWNrZ3JvdW5kXSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVt0cmFuc3BhcmVudENvbG9yXSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogQXV0b2ZpbGxlZCAqL1xuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0uQHtzdGF0ZX0gaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dEF1dG9GaWxsQmFja2dyb3VuZF0gaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRBdXRvRmlsbEJvcmRlckNvbG9yXSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogUGxhY2Vob2xkZXIgKi9cbiAgICAgICAgLnVpLmZvcm0gLkB7c3RhdGV9IC51aS5kcm9wZG93biA+IC5kZWZhdWx0LnRleHQsXG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfSA6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dFBsYWNlaG9sZGVyQ29sb3JdO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dFBsYWNlaG9sZGVyQ29sb3JdICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0gOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3JdO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfSA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dFBsYWNlaG9sZGVyRm9jdXNDb2xvcl0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEcm9wZG93biBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkuZHJvcGRvd24gLml0ZW0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd24sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd24gPiAudGV4dCxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93biAuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmc7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJkYyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93bjpob3ZlcixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93bjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmRjO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duTGFiZWxCYWNrZ3JvdW5kXTtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtkcm9wZG93bkxhYmVsQ29sb3JdO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSG92ZXIgKi9cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duSG92ZXJCYWNrZ3JvdW5kXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNlbGVjdGVkICovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtkcm9wZG93blNlbGVjdGVkQmFja2dyb3VuZF07XG4gICAgICAgIH1cblxuICAgICAgICAvKiBBY3RpdmUgKi9cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bZHJvcGRvd25BY3RpdmVCYWNrZ3JvdW5kXSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2hlY2tib3ggU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLmNoZWNrYm94QHtub3RUb2dnbGV9QHtub3RTbGlkZXJ9IGxhYmVsLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLmNoZWNrYm94QHtub3RUb2dnbGV9QHtub3RTbGlkZXJ9IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAuY2hlY2tib3hAe25vdFRvZ2dsZX1Ae25vdFNsaWRlcn0gbGFiZWw6OmJlZm9yZSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5jaGVja2JveEB7bm90VG9nZ2xlfUB7bm90U2xpZGVyfSBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiZztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJkYztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAuY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Gb3JtSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGxhYmVsLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLmZvcm0gLkB7c3RhdGV9LmZpZWxkIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGxiZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmZvcm0gLmZpZWxkczpoYXMoLkB7c3RhdGV9KSA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBsYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1EaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZm9ybSAuZGlzYWJsZWQuZmllbGRzIC5maWVsZCxcbiAgICAudWkuZm9ybSAuZGlzYWJsZWQuZmllbGQsXG4gICAgLnVpLmZvcm0gLmZpZWxkIDpkaXNhYmxlZCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAZGlzYWJsZWRQb2ludGVyRXZlbnRzO1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cbiAgICAudWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgPiBsYWJlbCxcbiAgICAudWkuZm9ybSAuZmllbGRzLmRpc2FibGVkID4gbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRMYWJlbE9wYWNpdHk7XG4gICAgfVxuICAgIC51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUxvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubG9hZGluZy5mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAudWkubG9hZGluZy5mb3JtOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogQGxvYWRlckRpbW1lckNvbG9yO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGVyRGltbWVyWkluZGV4O1xuICAgIH1cblxuICAgIC51aS5sb2FkaW5nLmZvcm0uc2VnbWVudHM6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5sb2FkaW5nLmZvcm06OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgQGxvYWRlclNwZWVkIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGVyTGluZVpJbmRleDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBFbGVtZW50IFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtUmVxdWlyZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUmVxdWlyZWQgRmllbGRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9ID4gLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuaW5saW5lID4gbGFiZWw6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuZ3JvdXBlZCA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiBsYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gPiAuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gbGFiZWwucmVxdWlyZWQ6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiBAcmVxdWlyZWRNYXJnaW47XG4gICAgICAgIGNvbnRlbnQ6IEByZXF1aXJlZENvbnRlbnQ7XG4gICAgICAgIGNvbG9yOiBAcmVxdWlyZWRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSA+IC5maWVsZCA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmlubGluZSA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuICAgIC51aS5mb3JtIGxhYmVsLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSA+IC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gLmNoZWNrYm94OjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbn1cblxuLnVpLnVpLnVpLnVpLmZvcm0gLmZpZWxkc0B7bm90UmVxdWlyZWR9ID4gbGFiZWw6ZW1wdHk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmZvcm0gLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gPiAuZmllbGRAe25vdFJlcXVpcmVkfSA+IGxhYmVsOmVtcHR5OjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udWkudWkudWkudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGRAe25vdFJlcXVpcmVkfSA+IGxhYmVsOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZCBDb2xvcnNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGxhYmVsLFxuICAgIC51aS5mb3JtIC5pbnZlcnRlZC5zZWdtZW50IGxhYmVsLFxuICAgIC51aS5mb3JtIC5pbnZlcnRlZC5zZWdtZW50IC51aS5jaGVja2JveCBsYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSAudWkuY2hlY2tib3ggbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBwLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGQgPiBsYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQubG9hZGluZy5mb3JtIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZExvYWRlckxpbmVDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmxvYWRpbmcuZm9ybTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGxvYWRlckludmVydGVkRGltbWVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogSW52ZXJ0ZWQgRmllbGQgKi9cbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRJbnB1dEJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkSW5wdXRCb3JkZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZElucHV0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZElucHV0Qm94U2hhZG93O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUdyb3VwZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmllbGQgR3JvdXBzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBHcm91cGVkIFZlcnRpY2FsbHkgKi9cblxuICAgIC51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IEBncm91cGVkTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5mb3JtIC5ncm91cGVkLmZpZWxkczpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMgPiBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogQGdyb3VwZWRMYWJlbE1hcmdpbjtcbiAgICAgICAgY29sb3I6IEBncm91cGVkTGFiZWxDb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiBAZ3JvdXBlZExhYmVsRm9udFNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZ3JvdXBlZExhYmVsRm9udFdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IEBncm91cGVkTGFiZWxUZXh0VHJhbnNmb3JtO1xuICAgIH1cblxuICAgIC51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyAuZmllbGQsXG4gICAgLnVpLmZvcm0gLmdyb3VwZWQuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBAZ3JvdXBlZEZpZWxkTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZ3JvdXBlZC5pbmxpbmUuZmllbGRzIC51aS5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBncm91cGVkSW5saW5lQ2hlY2tib3hCb3R0b21NYXJnaW47XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTcGxpdCBmaWVsZHMgKi9cbi51aS5mb3JtIC5maWVsZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IEBmaWVsZHNNYXJnaW47XG59XG4udWkuZm9ybSAuZmllbGRzID4gLmZpZWxkIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IChAZ3V0dGVyV2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG59XG4udWkuZm9ybSAuZmllbGRzID4gLmZpZWxkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtRXF1YWxXaWR0aCkge1xuICAgIC8qIE90aGVyIENvbWJpbmF0aW9ucyAqL1xuICAgIC51aS5mb3JtIC50d28uZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQGZvdXJDb2x1bW47XG4gICAgfVxuICAgIC51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLmZpdmUuZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZm9ybSAuc2l4LmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQHNpeENvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAc2V2ZW5Db2x1bW47XG4gICAgfVxuICAgIC51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQGVpZ2h0Q29sdW1uO1xuICAgIH1cbiAgICAudWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC5uaW5lLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAbmluZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnRlbi5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEB0ZW5Db2x1bW47XG4gICAgfVxufVxuXG4vKiBTd2FwIHRvIGZ1bGwgd2lkdGggb24gbW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgLnVpLmZvcm0gLmZpZWxkcyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudWkuZm9ybUB7bm90VW5zdGFja2FibGV9IC5maWVsZHNAe25vdFVuc3RhY2thYmxlfSA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm1Ae25vdFVuc3RhY2thYmxlfSAuZmllbGRzQHtub3RVbnN0YWNrYWJsZX0gPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQG9uZUNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgQHJvd0Rpc3RhbmNlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybVdpZGUpIHtcbiAgICAvKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4gICAgLnVpLmZvcm0gLmZpZWxkcyAud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAb25lV2lkZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyV2lkdGggLyAyKTtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAub25lLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQG9uZVdpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC50d28ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdHdvV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnRocmVlLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHRocmVlV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZvdXIud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZm91cldpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5maXZlLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQGZpdmVXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuc2l4LndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHNpeFdpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5zZXZlbi53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBzZXZlbldpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5laWdodC53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBlaWdodFdpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5uaW5lLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQG5pbmVXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAudGVuLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHRlbldpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5lbGV2ZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnR3ZWx2ZS53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEB0d2VsdmVXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAudGhpcnRlZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZm91cnRlZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZmlmdGVlbi53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnNpeHRlZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFcXVhbCBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1FcXVhbFdpZHRoKSB7XG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmZvcm0gLmZpZWxkcyA+IC5maWVsZCxcbiAgICAudWkuZm9ybSBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUlubGluZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElubGluZSBGaWVsZHNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIHtcbiAgICAgICAgbWFyZ2luOiBAZmllbGRNYXJnaW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogQGlubGluZUZpZWxkc01hcmdpbjtcbiAgICB9XG5cbiAgICAvKiBJbmxpbmUgTGFiZWwgKi9cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IGxhYmVsLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IGxhYmVsLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBmb250LXNpemU6IEBpbmxpbmVMYWJlbEZvbnRTaXplO1xuICAgICAgICBmb250LXdlaWdodDogQGlubGluZUxhYmVsRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBpbmxpbmVMYWJlbENvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogQGlubGluZUxhYmVsVGV4dFRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAvKiBHcm91cGVkIElubGluZSBMYWJlbCAqL1xuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwge1xuICAgICAgICBtYXJnaW46IEBncm91cGVkSW5saW5lTGFiZWxNYXJnaW47XG4gICAgfVxuXG4gICAgLyogSW5saW5lIElucHV0ICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gaW5wdXQsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gc2VsZWN0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBpbnB1dCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gc2VsZWN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOiBAaW5saW5lSW5wdXRTaXplO1xuICAgIH1cblxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAuY2FsZW5kYXI6bm90KC5wb3B1cCksXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCAuY2FsZW5kYXI6bm90KC5wb3B1cCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5jYWxlbmRhcjpub3QoLnBvcHVwKSA+IC5pbnB1dCA+IGlucHV0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApID4gLmlucHV0ID4gaW5wdXQge1xuICAgICAgICB3aWR0aDogQGlubGluZUNhbGVuZGFyV2lkdGg7XG4gICAgfVxuXG4gICAgLyogTGFiZWwgKi9cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiA6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCBAaW5saW5lTGFiZWxEaXN0YW5jZSAwIDA7XG4gICAgfVxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IDpvbmx5LWNoaWxkLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiA6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKiBXaWRlICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCA+IGlucHV0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkID4gc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtLFxuLnVpLmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkZvcm1TaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uRm9ybVNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uZm9ybSxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbiAgICAgICAgLnVpLkB7dmFsdWV9LmZvcm0gLmZpZWxkIC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBHcmlkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJjb2xsZWN0aW9uXCI7XG5AZWxlbWVudDogXCJncmlkXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90QWxpZ25lZDogaWYoQHZhcmlhdGlvbkdyaWRBbGlnbmVkLCBlKFwiOm5vdCguYWxpZ25lZClcIikpO1xuQG5vdEp1c3RpZmllZDogaWYoQHZhcmlhdGlvbkdyaWRKdXN0aWZpZWQsIGUoXCI6bm90KC5qdXN0aWZpZWQpXCIpKTtcbkBub3RTdHJldGNoZWQ6IGlmKEB2YXJpYXRpb25HcmlkU3RyZXRjaGVkLCBlKFwiOm5vdCguc3RyZXRjaGVkKVwiKSk7XG5Abm90U3RhY2thYmxlOiBpZihAdmFyaWF0aW9uR3JpZFN0YWNrYWJsZSwgZShcIjpub3QoLnN0YWNrYWJsZSlcIikpO1xuQG5vdEhvcml6b250YWxseTogaWYoQHZhcmlhdGlvbkdyaWRIb3Jpem9udGFsLCBlKFwiOm5vdCguaG9yaXpvbnRhbGx5KVwiKSk7XG5Abm90VmVydGljYWxseTogaWYoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCwgZShcIjpub3QoLnZlcnRpY2FsbHkpXCIpKTtcblxuQG5vdEF0dGFjaGVkOiBpZihAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkLCBlKFwiOm5vdCguYXR0YWNoZWQpXCIpKTtcbkBub3RDb21wYWN0OiBpZihAdmFyaWF0aW9uU2VnbWVudENvbXBhY3QsIGUoXCI6bm90KC5jb21wYWN0KVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25TZWdtZW50VmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUmVtb3ZlIEd1dHRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5ncmlkIHtcbiAgICBtYXJnaW46IC0oQHJvd1NwYWNpbmcgLyAyKSAtKEBndXR0ZXJXaWR0aCAvIDIpO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIHtcbiAgICAudWkucmVsYXhlZC5ncmlkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0oQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0oQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUHJlc2VydmUgUm93cyBTcGFjaW5nIG9uIENvbnNlY3V0aXZlIEdyaWRzICovXG4udWkuZ3JpZCArIC5ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiBAY29uc2VjdXRpdmVHcmlkRGlzdGFuY2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2x1bW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTdGFuZGFyZCAxNiBjb2x1bW4gKi9cbi51aS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBAb25lV2lkZTtcbiAgICBwYWRkaW5nLWxlZnQ6IChAZ3V0dGVyV2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnVpLmdyaWQgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IChAZ3V0dGVyV2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmdyaWQgPiAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy10b3A6IChAcm93U3BhY2luZyAvIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFZlcnRpY2FsIHBhZGRpbmcgd2hlbiBubyByb3dzICovXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICBwYWRkaW5nLXRvcDogKEByb3dTcGFjaW5nIC8gMik7XG4gICAgcGFkZGluZy1ib3R0b206IChAcm93U3BhY2luZyAvIDIpO1xufVxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZ3JpZCA+IC5yb3cgPiBpbWcsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IEBjb2x1bW5NYXhJbWFnZVdpZHRoO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIENvbGxhcHNlIE1hcmdpbiBvbiBDb25zZWN1dGl2ZSBHcmlkICovXG4udWkuZ3JpZCA+IC51aS5ncmlkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmdyaWQgPiAudWkuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBTZWdtZW50IGluc2lkZSBBbGlnbmVkIEdyaWQgKi9cbi51aS5ncmlkIC5hbGlnbmVkLnJvdyA+IC5jb2x1bW4gPiAuc2VnbWVudEB7bm90Q29tcGFjdH1Ae25vdEF0dGFjaGVkfSxcbi51aS5hbGlnbmVkLmdyaWQgLmNvbHVtbiA+IC5zZWdtZW50QHtub3RDb21wYWN0fUB7bm90QXR0YWNoZWR9IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogQWxpZ24gRGl2aWRlcnMgd2l0aCBHdXR0ZXIgKi9cbi51aS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlciB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogKEByb3dTcGFjaW5nIC8gMikgKEBndXR0ZXJXaWR0aCAvIDIpO1xufVxuLnVpLmdyaWQgLmNvbHVtbiArIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IGUoJShcImNhbGMoNTAlJSAtICVkKVwiLCAoQHJvd1NwYWNpbmcgLyAyKSkpO1xufVxuXG4vKiBSZW1vdmUgQm9yZGVyIG9uIExhc3QgSG9yaXpvbnRhbCBTZWdtZW50ICovXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQgPiAuaG9yaXpvbnRhbC5zZWdtZW50LFxuLnVpLmdyaWQgPiAuY29sdW1uOmxhc3QtY2hpbGQgPiAuaG9yaXpvbnRhbC5zZWdtZW50IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkUGFnZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFBhZ2UgR3JpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogQG1vYmlsZVdpZHRoO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbW9iaWxlR3V0dGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQG1vYmlsZUd1dHRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgICAgICAudWkucGFnZS5ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGFibGV0V2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRhYmxldE1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRhYmxldE1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRhYmxldEd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEB0YWJsZXRHdXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RTbWFsbE1vbml0b3IpIHtcbiAgICAgICAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogQGNvbXB1dGVyV2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGNvbXB1dGVyTWFyZ2luO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAY29tcHV0ZXJNYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBjb21wdXRlckd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBjb21wdXRlckd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RMYXJnZU1vbml0b3IpIHtcbiAgICAgICAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogQGxhcmdlTW9uaXRvcldpZHRoO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBsYXJnZU1vbml0b3JNYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBsYXJnZU1vbml0b3JNYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYXJnZU1vbml0b3JHdXR0ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFyZ2VNb25pdG9yR3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAudWkucGFnZS5ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JXaWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAd2lkZXNjcmVlbk1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHdpZGVzY3JlZW5NYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB3aWRlc2NyZWVuTW9uaXRvckd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEB3aWRlc2NyZWVuTW9uaXRvckd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBDb2x1bW4gQ291bnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEFzc3VtZSBmdWxsIHdpZHRoIHdpdGggb25lIGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm9ubHktY2hpbGQsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOm9ubHktY2hpbGQge1xuICAgIHdpZHRoOiBAb25lQ29sdW1uO1xufVxuXG4vKiBHcmlkIEJhc2VkICovXG4udWlbY2xhc3MqPVwib25lIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwib25lIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAb25lQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQHR3b0NvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAdGhyZWVDb2x1bW47XG59XG4udWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBmb3VyQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAZml2ZUNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBzaXhDb2x1bW47XG59XG4udWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQHNldmVuQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBlaWdodENvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQG5pbmVDb2x1bW47XG59XG4udWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAdGVuQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQGVsZXZlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEB0d2VsdmVDb2x1bW47XG59XG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQHRoaXJ0ZWVuQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBmb3VydGVlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQGZpZnRlZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBzaXh0ZWVuQ29sdW1uO1xufVxuXG4vKiBSb3cgQmFzZWQgT3ZlcnJpZGVzICovXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZpdmVDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXhDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHNldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBlaWdodENvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBuaW5lQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWxldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdHdlbHZlQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aGlydGVlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91cnRlZW5Db2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZmlmdGVlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXh0ZWVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIGFuZCAoQHZhcmlhdGlvbkdyaWRQYWdlKSB7XG4gICAgLyogQ2VsbGVkIFBhZ2UgKi9cbiAgICAudWkuY2VsbGVkLnBhZ2UuZ3JpZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkV2lkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29sdW1uIFdpZHRoXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBzaXhXaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBuaW5lV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBXaWR0aCBwZXIgRGV2aWNlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1vYmlsZSBTaXppbmcgQ29tYmluYXRpb25zICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAbW9iaWxlQnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBuaW5lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVGFibGV0IFNpemluZyBDb21iaW5hdGlvbnMgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG5pbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d2VsdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBDb21wdXRlci9EZXNrdG9wIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG5pbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d2VsdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIExhcmdlIE1vbml0b3IgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdExhcmdlTW9uaXRvcikge1xuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFdpZGVzY3JlZW4gU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZW50ZXJlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENlbnRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jZW50ZXJlZC5ncmlkLFxuICAgIC51aS5jZW50ZXJlZC5ncmlkID4gLnJvdyxcbiAgICAudWkuZ3JpZCA+IC5jZW50ZXJlZC5yb3cge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAudWkuY2VudGVyZWQuZ3JpZCA+IC5jb2x1bW5Ae25vdEFsaWduZWR9QHtub3RKdXN0aWZpZWR9Om5vdCgucm93KSxcbiAgICAudWkuY2VudGVyZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uQHtub3RBbGlnbmVkfUB7bm90SnVzdGlmaWVkfSxcbiAgICAudWkuZ3JpZCAuY2VudGVyZWQucm93ID4gLmNvbHVtbkB7bm90QWxpZ25lZH1Ae25vdEp1c3RpZmllZH0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC51aS5ncmlkID4gLmNlbnRlcmVkLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5yb3cgPiAuY2VudGVyZWQuY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkUmVsYXhlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJlbGF4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJlbGF4ZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5yZWxheGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5yZWxheGVkLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IChAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQ291cGxpbmcgd2l0aCBVSSBEaXZpZGVyICovXG4gICAgLnVpLnJlbGF4ZWQuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIsXG4gICAgLnVpLmdyaWQgLnJlbGF4ZWQucm93ICsgLnVpLmRpdmlkZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogKEByZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlcixcbiAgICAgICAgLnVpLmdyaWQgW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5yb3cgKyAudWkuZGl2aWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IChAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkUGFkZGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUGFkZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5wYWRkZWQuZ3JpZEB7bm90VmVydGljYWxseX1Ae25vdEhvcml6b250YWxseX0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRIb3Jpem9udGFsKSB7XG4gICAgICAgIFtjbGFzcyo9XCJob3Jpem9udGFsbHkgcGFkZGVkXCJdLnVpLmdyaWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnRpY2FsKSB7XG4gICAgICAgIFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgXCJGbG9hdGVkXCJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmdyaWQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aS5ncmlkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZERpdmlkZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkQm9yZGVyO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICAvKiBTd2FwIGZyb20gcGFkZGluZyB0byBtYXJnaW4gb24gY29sdW1ucyB0byBoYXZlIGRpdmlkZXJzIGFsaWduICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoQHJvd1NwYWNpbmcgLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IChAcm93U3BhY2luZyAvIDIpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTm8gZGl2aWRlciBvbiBmaXJzdCBjb2x1bW4gb24gcm93ICovXG4gICAgLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgIC51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICAvKiBObyBzcGFjZSBvbiB0b3Agb2YgZmlyc3Qgcm93ICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEaXZpZGVkIFJvdyAqL1xuICAgIC51aS5ncmlkID4gLmRpdmlkZWQucm93ID4gLmNvbHVtbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkQm9yZGVyO1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IGUoJShcImNhbGMoMTAwJSUgLSAlZClcIiwgQGd1dHRlcldpZHRoKSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkUGFkZGVkKSB7XG4gICAgICAgIC8qIFBhZGRlZCBIb3Jpem9udGFsbHkgRGl2aWRlZCAqL1xuICAgICAgICBbY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5kaXZpZGVkLmdyaWQsXG4gICAgICAgIC51aS5wYWRkZWQuZGl2aWRlZC5ncmlkQHtub3RWZXJ0aWNhbGx5fUB7bm90SG9yaXpvbnRhbGx5fSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVydGljYWwpIHtcbiAgICAgICAgLyogRmlyc3QgUm93IFZlcnRpY2FsbHkgRGl2aWRlZCAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgRGl2aWRlZCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkSW52ZXJ0ZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRJbnZlcnRlZEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkUmVsYXhlZCkgYW5kIChAdmFyaWF0aW9uR3JpZFZlcnRpY2FsKSB7XG4gICAgICAgIC8qIFJlbGF4ZWQgKi9cbiAgICAgICAgLnVpLnJlbGF4ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICB3aWR0aDogZSglKFwiY2FsYygxMDAlJSAtICVkKVwiLCBAcmVsYXhlZEd1dHRlcldpZHRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogZSglKFwiY2FsYygxMDAlJSAtICVkKVwiLCBAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQ2VsbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIENlbGxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2VsbGVkLmdyaWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBAY2VsbGVkTWFyZ2luO1xuICAgICAgICBib3gtc2hhZG93OiBAY2VsbGVkR3JpZERpdmlkZXI7XG4gICAgfVxuXG4gICAgLnVpLmNlbGxlZC5ncmlkID4gLnJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQGNlbGxlZFJvd0RpdmlkZXI7XG4gICAgfVxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgYm94LXNoYWRvdzogQGNlbGxlZENvbHVtbkRpdmlkZXI7XG4gICAgfVxuXG4gICAgLnVpLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgICAudWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nOiBAY2VsbGVkUGFkZGluZztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIHtcbiAgICAgICAgLnVpLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAY2VsbGVkUmVsYXhlZFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBjZWxsZWRWZXJ5UmVsYXhlZFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJbnRlcm5hbGx5IENlbGxlZCAqL1xuICAgIC51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZlcnRpY2FsbHkgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBUb3AgQWxpZ25lZCAqL1xuICAgIC51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBNaWRkbGUgQWxpZ25lZCAqL1xuICAgIC51aVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSBBbGlnbmVkICovXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29sdW1uOm5vdCgucm93KSxcbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRTdHJldGNoZWQpIHtcbiAgICAvKiBTdHJldGNoZWQgKi9cbiAgICAudWkuc3RyZXRjaGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuc3RyZXRjaGVkLmdyaWQgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gLnN0cmV0Y2hlZC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gLnN0cmV0Y2hlZC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5ncmlkID4gLnJvdyA+IC5zdHJldGNoZWQuY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAudWkuc3RyZXRjaGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+ICosXG4gICAgLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbiA+ICosXG4gICAgLnVpLmdyaWQgPiAuc3RyZXRjaGVkLnJvdyA+IC5jb2x1bW4gPiAqLFxuICAgIC51aS5ncmlkID4gLnN0cmV0Y2hlZC5jb2x1bW46bm90KC5yb3cpID4gKixcbiAgICAudWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiA+ICoge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQWxpZ25lZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvcml6b250YWxseSBDZW50ZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBMZWZ0IEFsaWduZWQgKi9cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmNvbHVtbixcbiAgICAudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyogQ2VudGVyIEFsaWduZWQgKi9cblxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSaWdodCBBbGlnbmVkICovXG5cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZEp1c3RpZmllZCkge1xuICAgIC8qIEp1c3RpZmllZCAqL1xuICAgIC51aS5qdXN0aWZpZWQuZ3JpZCA+IC5jb2x1bW4sXG4gICAgLnVpLmp1c3RpZmllZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuanVzdGlmaWVkLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLnVpLmdyaWQgPiAuanVzdGlmaWVkLmNvbHVtbixcbiAgICAudWkudWkuZ3JpZCA+IC5yb3cgPiAuanVzdGlmaWVkLmNvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb2xvcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkdyaWRDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkdyaWRDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcblxuICAgICAgICAudWkuZ3JpZCA+IC5Ae2NvbG9yfS5yb3csXG4gICAgICAgIC51aS5ncmlkID4gLkB7Y29sb3J9LmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gLkB7Y29sb3J9LmNvbHVtbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZEVxdWFsV2lkdGgpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRXF1YWwgV2lkdGhcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAud2lkZS5jb2x1bW4sXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAucm93ID4gLndpZGUuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLnJvdyA+IC53aWRlLmNvbHVtbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRSZXZlcnNlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJldmVyc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTW9iaWxlICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmdyaWQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZ3JpZCA+IC5yb3csXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5yb3cge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkLFxuICAgICAgICAudWkuc3RhY2thYmxlW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZERpdmlkZWQpIHtcbiAgICAgICAgICAgIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGRpdmlkZWRCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZENlbGxlZCkge1xuICAgICAgICAgICAgLyogQ2VsbGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjZWxsZWRDb2x1bW5EaXZpZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBUYWJsZXQgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZERpdmlkZWQpIHtcbiAgICAgICAgICAgIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGRpdmlkZWRCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZENlbGxlZCkge1xuICAgICAgICAgICAgLyogQ2VsbGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjZWxsZWRDb2x1bW5EaXZpZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBDb21wdXRlciAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5yb3cge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWREaXZpZGVkKSB7XG4gICAgICAgICAgICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgICAgIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjZWxsZWRDb2x1bW5EaXZpZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZERvdWJsaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIERvdWJsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFRhYmxldCBPbmx5ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aS5kb3VibGluZy5ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyxcbiAgICAgICAgLnVpLmRvdWJsaW5nLmdyaWQgPiAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IChAcm93U3BhY2luZyAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKEByb3dTcGFjaW5nIC8gMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZEB7bm90U3RyZXRjaGVkfSA+IC5kb3VibGluZy5yb3dAe25vdFN0cmV0Y2hlZH0gPiAuY29sdW1uQHtub3RTdHJldGNoZWR9LFxuICAgICAgICAudWkuZG91YmxpbmcuZ3JpZEB7bm90U3RyZXRjaGVkfSA+IC5yb3dAe25vdFN0cmV0Y2hlZH0gPiAuY29sdW1uQHtub3RTdHJldGNoZWR9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZml2ZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeENvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE1vYmlsZSBPbmx5ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gICAgICAgIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoQHJvd1NwYWNpbmcgLyAyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IChAcm93U3BhY2luZyAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91ckNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgYm9keSA+IC51aS5zdGFja2FibGUuZ3JpZCxcbiAgICAgICAgLnVpOm5vdCguc2VnbWVudCk6bm90KC5ncmlkKSAudWkuc3RhY2thYmxlLmdyaWQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHN0YWNrYWJsZU1vYmlsZUd1dHRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHN0YWNrYWJsZU1vYmlsZUd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLndpZGUuY29sdW1uLFxuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgPiAud2lkZS5jb2x1bW4sXG4gICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4uZ3JpZCA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4ucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkuZ3JpZCA+IC5zdGFja2FibGUuc3RhY2thYmxlLnN0YWNrYWJsZS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IChAc3RhY2thYmxlUm93U3BhY2luZyAvIDIpIChAc3RhY2thYmxlR3V0dGVyIC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkQHtub3RWZXJ0aWNhbGx5fSA+IC5yb3cge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvdXBsaW5nICovXG4gICAgICAgIC51aS5jb250YWluZXIgPiAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLFxuICAgICAgICAudWkuY29udGFpbmVyID4gLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEb24ndCBwYWQgaW5zaWRlIHNlZ21lbnQgb3IgbmVzdGVkIGdyaWQgKi9cbiAgICAgICAgLnVpLmdyaWQgLnVpLnN0YWNrYWJsZS5ncmlkLFxuICAgICAgICAudWkuc2VnbWVudEB7bm90VmVydGljYWx9IC51aS5zdGFja2FibGUucGFnZS5ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKEBzdGFja2FibGVHdXR0ZXIgLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLShAc3RhY2thYmxlR3V0dGVyIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEaXZpZGVkIFN0YWNrYWJsZSAqL1xuICAgICAgICAudWkuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZEludmVydGVkKSB7XG4gICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQHN0YWNrYWJsZUludmVydGVkTW9iaWxlQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkQHtub3RWZXJ0aWNhbGx5fS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkQHtub3RWZXJ0aWNhbGx5fS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQHN0YWNrYWJsZU1vYmlsZUJvcmRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAc3RhY2thYmxlUm93U3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IEBzdGFja2FibGVSb3dTcGFjaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZENlbGxlZCkge1xuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkRGl2aWRlZCkge1xuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkQHtub3RWZXJ0aWNhbGx5fS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgICAgICAudWkuc3RhY2thYmxlLmRpdmlkZWRAe25vdFZlcnRpY2FsbHl9LmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE9ubHkgKERldmljZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFRoZXNlIGluY2x1ZGUgYXJiaXRyYXJ5IGNsYXNzIHJlcGV0aXRpb25zIGZvciBmb3JjZWQgc3BlY2lmaWNpdHkgKi9cblxuLyogTW9iaWxlIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLnRhYmxldCksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5ncmlkOm5vdCgudGFibGV0KSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLnJvdzpub3QoLnRhYmxldCksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogQ29tcHV0ZXIgT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFNtYWxsTW9uaXRvcikge1xuICAgIC51aS51aS51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIExhcmdlIFNjcmVlbiBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdExhcmdlTW9uaXRvcikge1xuICAgIC51aS51aS51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFdpZGVzY3JlZW4gT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDb21wYWN0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS5jb21wYWN0LmdyaWQge1xuICAgICAgICBtYXJnaW46IC0oQGNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cblxuICAgIC51aS51aS51aS5jb21wYWN0LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWkudWkudWkuY29tcGFjdC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IChAY29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IChAY29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgfVxuXG4gICAgLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IChAY29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IChAY29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgfVxuXG4gICAgLyogUm93ICovXG4gICAgLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+IC5yb3cge1xuICAgICAgICBwYWRkaW5nOiAoQGNvbXBhY3RSb3dTcGFjaW5nIC8gMikgMDtcbiAgICB9XG5cbiAgICAvKiBDb2x1bW5zICovXG4gICAgLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IChAY29tcGFjdFJvd1NwYWNpbmcgLyAyKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IChAY29tcGFjdFJvd1NwYWNpbmcgLyAyKTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIGFuZCAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgLyogUmVsYXhlZCArIENlbGxlZCAqL1xuICAgICAgICAudWkuY29tcGFjdC5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS5jb21wYWN0LnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAY29tcGFjdENlbGxlZFJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpLmNvbXBhY3RbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgICAgICAudWkuY29tcGFjdFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogQGNvbXBhY3RDZWxsZWRWZXJ5UmVsYXhlZFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBWZXJ5IGNvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlDb21wYWN0KSB7XG4gICAgICAgIC51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW46IC0oQHZlcnlDb21wYWN0R3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChAdmVyeUNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKEB2ZXJ5Q29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAqIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKEB2ZXJ5Q29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQHZlcnlDb21wYWN0R3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFJvdyAqL1xuICAgICAgICAudWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAucm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IChAdmVyeUNvbXBhY3RSb3dTcGFjaW5nIC8gMikgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvbHVtbnMgKi9cbiAgICAgICAgLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IChAdmVyeUNvbXBhY3RSb3dTcGFjaW5nIC8gMik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKEB2ZXJ5Q29tcGFjdFJvd1NwYWNpbmcgLyAyKTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkUmVsYXhlZCkgYW5kIChAdmFyaWF0aW9uR3JpZENlbGxlZCkge1xuICAgICAgICAgICAgLyogUmVsYXhlZCArIENlbGxlZCAqL1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogQHZlcnlDb21wYWN0Q2VsbGVkUmVsYXhlZFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl1bY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBAdmVyeUNvbXBhY3RDZWxsZWRWZXJ5UmVsYXhlZFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQXR0YWNoZWQpIHtcbiAgICAudWkuZ3JpZCAubGVmdC5hdHRhY2hlZC5jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAudWkuZ3JpZCAucmlnaHQuYXR0YWNoZWQuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBNZW51XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJjb2xsZWN0aW9uXCI7XG5AZWxlbWVudDogXCJtZW51XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90U2Vjb25kYXJ5OiBpZihAdmFyaWF0aW9uTWVudVNlY29uZGFyeSwgZShcIjpub3QoLnNlY29uZGFyeSlcIikpO1xuQG5vdFRleHQ6IGlmKEB2YXJpYXRpb25NZW51VGV4dCwgZShcIjpub3QoLnRleHQpXCIpKTtcbkBub3RUYWJ1bGFyOiBpZihAdmFyaWF0aW9uTWVudVRhYnVsYXIsIGUoXCI6bm90KC50YWJ1bGFyKVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25NZW51VmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuQG5vdEJvcmRlcmxlc3M6IGlmKEB2YXJpYXRpb25NZW51Qm9yZGVybGVzcywgZShcIjpub3QoLmJvcmRlcmxlc3MpXCIpKTtcbkBub3RGbHVpZDogaWYoQHZhcmlhdGlvbk1lbnVGbHVpZCwgZShcIjpub3QoLmZsdWlkKVwiKSk7XG5Abm90V3JhcHBpbmc6IGlmKEB2YXJpYXRpb25NZW51V3JhcHBpbmcsIGUoXCI6bm90KC53cmFwcGluZylcIikpO1xuXG5Abm90VXB3YXJkOiBpZihAdmFyaWF0aW9uRHJvcGRvd25VcHdhcmQsIGUoXCI6bm90KC51cHdhcmQpXCIpKTtcbkBub3RGbG9hdGluZzogaWYoQHZhcmlhdGlvbkxhYmVsRmxvYXRpbmcsIGUoXCI6bm90KC5mbG9hdGluZylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udEZhbWlseTtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBtaW4taGVpZ2h0OiBAbWluSGVpZ2h0O1xufVxuXG4udWkubWVudTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVpLm1lbnU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVudTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFN1Yi1NZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gLml0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVpLm1lbnUgLml0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IEBpdGVtQmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiBAaXRlbVZlcnRpY2FsUGFkZGluZyBAaXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAaXRlbVRleHRUcmFuc2Zvcm07XG4gICAgY29sb3I6IEBpdGVtVGV4dENvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBAaXRlbUZvbnRXZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogQGl0ZW1UcmFuc2l0aW9uO1xufVxuXG4udWkubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKiBCb3JkZXIgKi9cbi51aS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IEBkaXZpZGVyU2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBAZGl2aWRlckJhY2tncm91bmQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFRleHQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC50ZXh0Lml0ZW0gPiAqLFxuLnVpLm1lbnUgLml0ZW0gPiBhOm5vdCgudWkpLFxuLnVpLm1lbnUgLml0ZW0gPiBwOm9ubHktY2hpbGQge1xuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIGxpbmUtaGVpZ2h0OiBAdGV4dExpbmVIZWlnaHQ7XG59XG4udWkubWVudSAuaXRlbSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVudSAuaXRlbSA+IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICBmbG9hdDogQGljb25GbG9hdDtcbiAgICBtYXJnaW46IEBpY29uTWFyZ2luO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudUB7bm90VmVydGljYWx9IC5pdGVtID4gLmJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogQGJ1dHRvbk9mZnNldDtcbiAgICBtYXJnaW46IEBidXR0b25NYXJnaW47XG4gICAgcGFkZGluZy1ib3R0b206IEBidXR0b25WZXJ0aWNhbFBhZGRpbmc7XG4gICAgcGFkZGluZy10b3A6IEBidXR0b25WZXJ0aWNhbFBhZGRpbmc7XG4gICAgZm9udC1zaXplOiBAYnV0dG9uU2l6ZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLVxuIEdyaWQgLyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51ID4gLmdyaWQsXG4udWkubWVudSA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gLml0ZW0gPiAuaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IEBpbnB1dE9mZnNldDtcbiAgICBtYXJnaW46IEBpbnB1dFZlcnRpY2FsTWFyZ2luIDA7XG59XG4udWkubWVudSAuaXRlbSA+IC5pbnB1dCBpbnB1dCB7XG4gICAgZm9udC1zaXplOiBAaW5wdXRTaXplO1xuICAgIHBhZGRpbmctdG9wOiBAaW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IEBpbnB1dFZlcnRpY2FsUGFkZGluZztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLmhlYWRlci5pdGVtLFxuLnVpLnZlcnRpY2FsLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogQGhlYWRlckJhY2tncm91bmQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBoZWFkZXJUZXh0VHJhbnNmb3JtO1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyV2VpZ2h0O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IC5oZWFkZXI6bm90KC51aSkge1xuICAgICAgICBtYXJnaW46IEB2ZXJ0aWNhbEhlYWRlck1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiBAdmVydGljYWxIZWFkZXJGb250U2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB2ZXJ0aWNhbEhlYWRlckZvbnRXZWlnaHQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5tZW51IC5pdGVtID4gaS5kcm9wZG93bi5pY29uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiBAZHJvcGRvd25JY29uRmxvYXQ7XG4gICAgbWFyZ2luOiAwIDAgMCBAZHJvcGRvd25JY29uRGlzdGFuY2U7XG59XG5cbi8qIE1lbnUgKi9cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgICBtaW4td2lkdGg6IGUoXCJjYWxjKDEwMCUgLSAxcHgpXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzIEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXM7XG4gICAgYmFja2dyb3VuZDogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICBtYXJnaW46IEBkcm9wZG93bk1lbnVEaXN0YW5jZSAwIDA7XG4gICAgYm94LXNoYWRvdzogQGRyb3Bkb3duTWVudUJveFNoYWRvdztcbn1cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtOm5vdCguY29sdW1uKSAubWVudSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogTWVudSBJdGVtcyAqL1xuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogQGRyb3Bkb3duSXRlbUZvbnRTaXplICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogQGRyb3Bkb3duSXRlbVBhZGRpbmcgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25JdGVtQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBAZHJvcGRvd25JdGVtQ29sb3IgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGRyb3Bkb3duSXRlbVRleHRUcmFuc2Zvcm0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogQGRyb3Bkb3duSXRlbUZvbnRXZWlnaHQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBAZHJvcGRvd25JdGVtQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogQGRyb3Bkb3duSXRlbVRyYW5zaXRpb24gIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25Ib3ZlcmVkSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGRyb3Bkb3duSG92ZXJlZEl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLnNlbGVjdGVkLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEBkcm9wZG93blNlbGVjdGVkSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGRyb3Bkb3duU2VsZWN0ZWRJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5hY3RpdmUuaXRlbSB7XG4gICAgYmFja2dyb3VuZDogQGRyb3Bkb3duQWN0aXZlSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogQGRyb3Bkb3duQWN0aXZlSXRlbUZvbnRXZWlnaHQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGRyb3Bkb3duQWN0aXZlSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5kcm9wZG93bi5pdGVtIC5tZW51IC5pdGVtOm5vdCguZmlsdGVyZWQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmljb25zLFxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IEBkcm9wZG93bkl0ZW1JY29uRm9udFNpemUgIWltcG9ydGFudDtcbiAgICBmbG9hdDogQGRyb3Bkb3duSXRlbUljb25GbG9hdDtcbiAgICBtYXJnaW46IEBkcm9wZG93bkl0ZW1JY29uTWFyZ2luICFpbXBvcnRhbnQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVTZWNvbmRhcnkpIG9yIChAdmFyaWF0aW9uTWVudVRleHQpIHtcbiAgICAvKiBTZWNvbmRhcnkgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSxcbiAgICAudWkudGV4dC5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzO1xuICAgICAgICBtYXJnaW4tdG9wOiBAc2Vjb25kYXJ5RHJvcGRvd25NZW51RGlzdGFuY2U7XG4gICAgfVxufVxuXG4vKiBQb2ludGluZyAqL1xuLnVpLm1lbnUgLnBvaW50aW5nLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICAgIG1hcmdpbi10b3A6IEBwb2ludGluZ0Ryb3Bkb3duTWVudURpc3RhbmNlO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAvKiBJbnZlcnRlZCAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IC5zZWFyY2guZHJvcGRvd24uaXRlbSA+IC5zZWFyY2gsXG4gICAgLnVpLmludmVydGVkLm1lbnUgLnNlYXJjaC5kcm9wZG93bi5pdGVtID4gLnRleHQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uRHJvcGRvd25Db2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gPiBpLmljb24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICAvKiBJRSBuZWVkcyAwLCBhbGwgb3RoZXJzIHN1cHBvcnQgbWF4LWNvbnRlbnQgdG8gc2hvdyBkcm9wZG93biBpY29uIGlubGluZSwgc28ga2VlcCBib3RoIHNldHRpbmdzISAqL1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAZHJvcGRvd25NZW51RGlzdGFuY2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBkcm9wZG93blZlcnRpY2FsTWVudUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzIEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXMgQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0udXB3YXJkIC5tZW51IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbUB7bm90VXB3YXJkfSAubWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW0ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLyogRXZlbmx5IERpdmlkZWQgKi9cbi51aS5pdGVtLm1lbnUgLmRyb3Bkb3duIC5tZW51IC5pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLml0ZW0gPiAubGFiZWxAe25vdEZsb2F0aW5nfSB7XG4gICAgbWFyZ2luLWxlZnQ6IEBsYWJlbFRleHRNYXJnaW47XG4gICAgcGFkZGluZzogQGxhYmVsVmVydGljYWxQYWRkaW5nIEBsYWJlbEhvcml6b250YWxQYWRkaW5nO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiBAbGFiZWxPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBsYWJlbE9mZnNldDtcbiAgICAgICAgcGFkZGluZzogQGxhYmVsVmVydGljYWxQYWRkaW5nIEBsYWJlbEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbn1cbi51aS5tZW51IC5pdGVtID4gLmZsb2F0aW5nLmxhYmVsIHtcbiAgICBwYWRkaW5nOiBAbGFiZWxWZXJ0aWNhbFBhZGRpbmcgQGxhYmVsSG9yaXpvbnRhbFBhZGRpbmc7XG59XG4udWkubWVudSAuaXRlbSA+IC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogQGxhYmVsQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGxhYmVsVGV4dENvbG9yO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuaW1hZ2UubGFiZWwgaW1nIHtcbiAgICBtYXJnaW46IEBpbWFnZUxhYmVsSW1hZ2VNYXJnaW47XG4gICAgaGVpZ2h0OiBAaW1hZ2VMYWJlbEhlaWdodDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSW1hZ2VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogQGltYWdlTWFyZ2luO1xuICAgIHdpZHRoOiBAaW1hZ2VXaWR0aDtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpOm9ubHktY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogQHZlcnRpY2FsSW1hZ2VXaWR0aDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExpc3Rcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBNZW51IGRpdmlkZXIgc2hvdWxkbid0IGFwcGx5ICovXG4udWkubWVudSAubGlzdCAuaXRlbTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTaWRlYmFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTaG93IHZlcnRpY2FsIGRpdmlkZXJzIGJlbG93IGxhc3QgKi9cblxuICAgIC51aS52ZXJ0aWNhbC5zaWRlYmFyLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnNpZGViYXIubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS5tZW51ID4gLnVpLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAudWkubWVudUB7bm90U2Vjb25kYXJ5fUB7bm90VGV4dH1Ae25vdFRhYnVsYXJ9QHtub3RCb3JkZXJsZXNzfSA+IC5jb250YWluZXIgPiAuaXRlbTpub3QoLnJpZ2h0KUB7bm90Qm9yZGVybGVzc306Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogQGRpdmlkZXJTaXplIHNvbGlkIEBkaXZpZGVyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLm1lbnVAe25vdFNlY29uZGFyeX1Ae25vdFRleHR9QHtub3RUYWJ1bGFyfUB7bm90Qm9yZGVybGVzc30gPiAuY29udGFpbmVyID4gLnJpZ2h0Lml0ZW1Ae25vdEJvcmRlcmxlc3N9Omxhc3QtY2hpbGQsXG4gICAgLnVpLm1lbnVAe25vdFNlY29uZGFyeX1Ae25vdFRleHR9QHtub3RUYWJ1bGFyfUB7bm90Qm9yZGVybGVzc30gPiAuY29udGFpbmVyID4gLnJpZ2h0Lm1lbnUgPiAuaXRlbUB7bm90Qm9yZGVybGVzc306bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGRpdmlkZXJTaXplIHNvbGlkIEBkaXZpZGVyQmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGluay5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkubWVudSAubGluay5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogQGhvdmVySXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBob3Zlckl0ZW1UZXh0Q29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFByZXNzZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGluay5tZW51IC5pdGVtOmFjdGl2ZSxcbi51aS5tZW51IC5saW5rLml0ZW06YWN0aXZlLFxuLnVpLm1lbnUgYS5pdGVtOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogQHByZXNzZWRJdGVtQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHByZXNzZWRJdGVtVGV4dENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEBhY3RpdmVJdGVtQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGFjdGl2ZUl0ZW1UZXh0Q29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IEBhY3RpdmVJdGVtRm9udFdlaWdodDtcbiAgICBib3gtc2hhZG93OiBAYWN0aXZlSXRlbUJveFNoYWRvdztcbn1cbi51aS5tZW51IC5hY3RpdmUuaXRlbSA+IGkuaWNvbiB7XG4gICAgb3BhY2l0eTogQGFjdGl2ZUljb25PcGFjaXR5O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBBY3RpdmUgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVIb3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAYWN0aXZlSG92ZXJJdGVtQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnVpLm1lbnUgLml0ZW0uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogQGRpc2FibGVkVGV4dENvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbkZsb2F0ZWQgTWVudSAvIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTGVmdCBGbG9hdGVkICovXG4udWkubWVudUB7bm90VmVydGljYWx9IC5sZWZ0Lml0ZW0sXG4udWkubWVudUB7bm90VmVydGljYWx9IC5sZWZ0Lm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJpZ2h0IEZsb2F0ZWQgKi9cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gLnJpZ2h0Lml0ZW0sXG4udWkubWVudUB7bm90VmVydGljYWx9IC5yaWdodC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gOm5vdCguZHJvcGRvd24pID4gLmxlZnQubWVudSxcbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gOm5vdCguZHJvcGRvd24pID4gLnJpZ2h0Lm1lbnUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG59XG5cbi8qIENlbnRlciAqL1xuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAuY2VudGVyLml0ZW0sXG4udWkubWVudUB7bm90VmVydGljYWx9IC5jZW50ZXIubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBTd2FwcGVkIEJvcmRlcnMgKi9cbi51aS5tZW51IC5yaWdodC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAucmlnaHQubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG59XG5cbi8qIFJlbW92ZSBPdXRlciBCb3JkZXJzICovXG4udWkubWVudSAuY2VudGVyLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLm1lbnUgLmNlbnRlci5tZW51ID4gLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBWZXJ0aWNhbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZDogQHZlcnRpY2FsQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIC0tLSBJdGVtIC0tLSAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IEB2ZXJ0aWNhbEl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIC0tLSBMYWJlbCAtLS0gKi9cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IC5sYWJlbCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIC0tLSBJY29uIC0tLSAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaS5pY29uLFxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaS5pY29ucyB7XG4gICAgICAgIHdpZHRoOiBAaWNvbldpZHRoO1xuICAgICAgICBmbG9hdDogQHZlcnRpY2FsSWNvbkZsb2F0O1xuICAgICAgICBtYXJnaW46IEB2ZXJ0aWNhbEljb25NYXJnaW47XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsICsgaS5pY29uIHtcbiAgICAgICAgZmxvYXQ6IEBsYWJlbEFuZEljb25GbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAbGFiZWxBbmRJY29uTWFyZ2luO1xuICAgIH1cblxuICAgIC8qIC0tLSBCb3JkZXIgLS0tICovXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBAZGl2aWRlclNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6IEB2ZXJ0aWNhbERpdmlkZXJCYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tIFN1YiBNZW51IC0tLSAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLm1lbnUge1xuICAgICAgICBtYXJnaW46IEBzdWJNZW51TWFyZ2luO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAubWVudSAuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IEBzdWJNZW51VmVydGljYWxQYWRkaW5nIEBzdWJNZW51SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogQHN1Yk1lbnVGb250U2l6ZTtcbiAgICAgICAgY29sb3I6IEBzdWJNZW51VGV4dENvbG9yO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSBhLml0ZW06aG92ZXIsXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAZGFya1RleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgQWN0aXZlICovXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGFjdGl2ZUl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxBY3RpdmVCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgPiAuYWN0aXZlLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOm9ubHktY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdWJNZW51QWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBzdWJNZW51QWN0aXZlRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBzdWJNZW51QWN0aXZlVGV4dENvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVRhYnVsYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVGFidWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRhYnVsYXIubWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnRhYnVsYXIuZmx1aWQubWVudSB7XG4gICAgICAgIHdpZHRoOiBAdGFidWxhckZsdWlkV2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiBAdGFidWxhck9wcG9zaXRlQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IEB0YWJ1bGFyVmVydGljYWxQYWRkaW5nIEB0YWJ1bGFySG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiBAdGFidWxhclRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLnRhYnVsYXIubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciAqL1xuICAgIC51aS50YWJ1bGFyLm1lbnUgLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IEB0YWJ1bGFySG92ZXJlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEB0YWJ1bGFyQWN0aXZlQ29sb3I7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IEB0YWJ1bGFyQm9yZGVyV2lkdGg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB0YWJ1bGFyQWN0aXZlV2VpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtQHRhYnVsYXJCb3JkZXJXaWR0aDtcbiAgICAgICAgYm94LXNoYWRvdzogQHRhYnVsYXJBY3RpdmVCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEB0YWJ1bGFyQm9yZGVyUmFkaXVzIEB0YWJ1bGFyQm9yZGVyUmFkaXVzIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvdXBsaW5nIHdpdGggc2VnbWVudCBmb3IgYXR0YWNobWVudCAqL1xuICAgIC51aS50YWJ1bGFyLm1lbnUgfiAuYXR0YWNoZWQ6bm90KC50b3ApLnNlZ21lbnQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnRvcC5hdHRhY2hlZC5zZWdtZW50ICsgLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiBAdGFidWxhckZsdWlkV2lkdGg7XG4gICAgICAgIGxlZnQ6IC1AdGFidWxhckZsdWlkT2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSBWZXJ0aWNhbCBUYWJ1bGFyICovXG4gICAgLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCBAdGFidWxhckJvcmRlckNvbG9yO1xuICAgIH1cbiAgICAudWkuYm90dG9tLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC51aS5ib3R0b20udGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEB0YWJ1bGFyQWN0aXZlQ29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICAgICAgbWFyZ2luOiAtQHRhYnVsYXJCb3JkZXJXaWR0aCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEB0YWJ1bGFyQm9yZGVyUmFkaXVzIEB0YWJ1bGFyQm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCBUYWJ1bGFyIChMZWZ0KSAqL1xuICAgICAgICAudWkudmVydGljYWwudGFidWxhci5tZW51IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyVmVydGljYWxCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwudGFidWxhci5tZW51IC5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAdGFidWxhckFjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAdGFidWxhckJvcmRlckNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwIC1AdGFidWxhckJvcmRlcldpZHRoIDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEB0YWJ1bGFyQm9yZGVyUmFkaXVzIDAgMCBAdGFidWxhckJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVmVydGljYWwgUmlnaHQgVGFidWxhciAqL1xuICAgICAgICAudWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyVmVydGljYWxCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCBAdGFidWxhckJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRhYnVsYXJBY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEB0YWJ1bGFyQWN0aXZlQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIC1AdGFidWxhckJvcmRlcldpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAdGFidWxhckJvcmRlclJhZGl1cyBAdGFidWxhckJvcmRlclJhZGl1cyAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEcm9wZG93biAqL1xuICAgIC51aS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogQHRhYnVsYXJPcHBvc2l0ZUJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0sXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFRhYnVsYXJBY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRUYWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnRhYnVsYXIubWVudSAuaXRlbTpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRhYnVsYXJIb3ZlcmVkVGV4dENvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQYWdpbmF0aW9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWdpbmF0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGFnaW5hdGlvbi5tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG4gICAgLnVpLmNvbXBhY3QubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG4gICAgLnVpLnBhZ2luYXRpb24ubWVudUB7bm90V3JhcHBpbmd9IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbSB7XG4gICAgICAgIG1pbi13aWR0aDogQHBhZ2luYXRpb25NaW5XaWR0aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAudWkucGFnaW5hdGlvbi5tZW51IC5pY29uLml0ZW0gaS5pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkucGFnaW5hdGlvbi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb25BY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHBhZ2luYXRpb25BY3RpdmVUZXh0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51U2Vjb25kYXJ5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTZWNvbmRhcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zZWNvbmRhcnkubWVudSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlCYWNrZ3JvdW5kO1xuICAgICAgICBtYXJnaW4tbGVmdDogLUBzZWNvbmRhcnlJdGVtU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtQHNlY29uZGFyeUl0ZW1TcGFjaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSXRlbSAqL1xuICAgIC51aS5zZWNvbmRhcnkubWVudSAuaXRlbSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBAc2Vjb25kYXJ5SXRlbVBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogQHNlY29uZGFyeUl0ZW1NYXJnaW47XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogQHNlY29uZGFyeUl0ZW1UcmFuc2l0aW9uO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc2Vjb25kYXJ5SXRlbUJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBObyBEaXZpZGVyICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5oZWFkZXIuaXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogQHNlY29uZGFyeUhlYWRlckJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlY29uZGFyeUhlYWRlckJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLyogSW1hZ2UgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IGEuaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlIb3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlY29uZGFyeUhvdmVySXRlbUNvbG9yO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSAqL1xuICAgIC51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5QWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5QWN0aXZlSXRlbUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc2Vjb25kYXJ5SXRlbUJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgSG92ZXIgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlY29uZGFyeUFjdGl2ZUhvdmVySXRlbUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5QWN0aXZlSG92ZXJJdGVtQ29sb3I7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOm5vdCguZGlzYWJsZWQpLFxuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4gICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOmhvdmVyLFxuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlJbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHNlY29uZGFyeUludmVydGVkQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEZpeCBpdGVtIG1hcmdpbnMgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aS5zZWNvbmRhcnkuaXRlbS5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVBdHRhY2hlZCkge1xuICAgICAgICAudWkuc2Vjb25kYXJ5LmF0dGFjaGVkLm1lbnUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFNlY29uZGFyeSBWZXJ0aWNhbFxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgICAgIC8qIFN1YiBNZW51ICovXG4gICAgICAgIC51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogQHNlY29uZGFyeU1lbnVTdWJNZW51TWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiBAc2Vjb25kYXJ5TWVudVN1Yk1lbnVJdGVtTWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZzogQHNlY29uZGFyeU1lbnVTdWJNZW51SXRlbVBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2Vjb25kYXJ5LnZlcnRpY2FsLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IEBzZWNvbmRhcnlWZXJ0aWNhbEl0ZW1NYXJnaW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAc2Vjb25kYXJ5VmVydGljYWxJdGVtQm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLmhlYWRlci5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTdWIgTWVudSAqL1xuICAgICAgICAudWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiAubWVudSAuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTZWNvbmRhcnkgUG9pbnRpbmdcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aCBzb2xpZCBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC1Ac2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBzZWNvbmRhcnlQb2ludGluZ0l0ZW1WZXJ0aWNhbFBhZGRpbmcgQHNlY29uZGFyeVBvaW50aW5nSXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogQHNlY29uZGFyeUl0ZW1UcmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSA+IC5sYWJlbEB7bm90RmxvYXRpbmd9IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AbGFiZWxWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQGxhYmVsVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSA+IC5jaXJjdWxhci5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtQGNpcmN1bGFyTGFiZWxWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQGNpcmN1bGFyTGFiZWxWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJdGVtIFR5cGVzICovXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaGVhZGVyLml0ZW0ge1xuICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0hlYWRlckNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC50ZXh0Lml0ZW0ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEhvdmVyICovXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uaXRlbTpob3ZlcixcbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSBhLml0ZW06aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSG92ZXJUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBQcmVzc2VkICovXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uaXRlbTphY3RpdmUsXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAubGluay5pdGVtOmFjdGl2ZSxcbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IGEuaXRlbTphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0JvcmRlckNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQWN0aXZlICovXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVGb250V2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZVRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFjdGl2ZSBIb3ZlciAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlSG92ZXJCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVIb3ZlclRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFjdGl2ZSBEcm9wZG93biAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlRHJvcGRvd25Cb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgICAgIC8qIFZlcnRpY2FsIFBvaW50aW5nICovXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aCBzb2xpZCBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBzZWNvbmRhcnlQb2ludGluZ0JvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBzZWNvbmRhcnlWZXJ0aWNhbFBvaW50aW5nSXRlbU1hcmdpbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogVmVydGljYWwgQWN0aXZlICovXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZUJvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVJbnZlcnRlZCkge1xuICAgICAgICAgICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAgICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdJbnZlcnRlZEJvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLml0ZW06bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdJbnZlcnRlZEl0ZW1UZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRJdGVtSGVhZGVyQ29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogSG92ZXIgKi9cbiAgICAgICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAubGluay5pdGVtOmhvdmVyLFxuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IGEuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0ludmVydGVkSXRlbUhvdmVyVGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBBY3RpdmUgKi9cbiAgICAgICAgICAgIC51aS51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRBY3RpdmVCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRBY3RpdmVDb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVRleHQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBUZXh0IE1lbnVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50ZXh0Lm1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogQHRleHRNZW51TWFyZ2luO1xuICAgIH1cbiAgICAudWkudGV4dC5tZW51IC5pdGVtIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IEB0ZXh0TWVudUl0ZW1NYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEB0ZXh0TWVudUl0ZW1QYWRkaW5nO1xuICAgICAgICBmb250LXdlaWdodDogQHRleHRNZW51SXRlbUZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAdGV4dE1lbnVJdGVtQ29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IEB0ZXh0TWVudUl0ZW1UcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qIEJvcmRlciAqL1xuICAgIC51aS50ZXh0Lm1lbnUgLml0ZW06OmJlZm9yZSxcbiAgICAudWkudGV4dC5tZW51IC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLnRleHQubWVudSAuaGVhZGVyLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IEB0ZXh0TWVudUhlYWRlckNvbG9yO1xuICAgICAgICBmb250LXNpemU6IEB0ZXh0TWVudUhlYWRlclNpemU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAdGV4dE1lbnVIZWFkZXJUZXh0VHJhbnNmb3JtO1xuICAgICAgICBmb250LXdlaWdodDogQHRleHRNZW51SGVhZGVyRm9udFdlaWdodDtcbiAgICB9XG5cbiAgICAvKiBJbWFnZSAqL1xuICAgIC51aS50ZXh0Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogLS0tIGZsdWlkIHRleHQgLS0tICovXG4gICAgLnVpLnRleHQuaXRlbS5tZW51IC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLyogLS0tIHZlcnRpY2FsIHRleHQgLS0tICovXG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiBAdGV4dFZlcnRpY2FsTWVudU1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwudGV4dC5tZW51OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRleHQubWVudTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IEB0ZXh0VmVydGljYWxNZW51SXRlbU1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gICAgICAgICAgICBmbG9hdDogQHRleHRWZXJ0aWNhbE1lbnVJY29uRmxvYXQ7XG4gICAgICAgICAgICBtYXJnaW46IEBpY29uTWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogQHRleHRWZXJ0aWNhbE1lbnVIZWFkZXJNYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAvKiBWZXJ0aWNhbCBTdWIgTWVudSAqL1xuICAgICAgICAudWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiBAdGV4dE1lbnVTdWJNZW51TWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogQHRleHRNZW51U3ViTWVudUl0ZW1NYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nOiBAdGV4dE1lbnVTdWJNZW51SXRlbVBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0gaG92ZXIgLS0tICovXG4gICAgLnVpLnRleHQubWVudSAuaXRlbTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8qIC0tLSBhY3RpdmUgLS0tICovXG4gICAgLnVpLnRleHQubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogQHRleHRNZW51QWN0aXZlSXRlbUZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAdGV4dE1lbnVBY3RpdmVJdGVtQ29sb3I7XG4gICAgfVxuXG4gICAgLyogLS0tIGFjdGl2ZSBob3ZlciAtLS0gKi9cbiAgICAudWkudGV4dC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51UG9pbnRpbmcpIHtcbiAgICAgICAgLyogRGlzYWJsZSBCYXJpYXRpb25zICovXG4gICAgICAgIC51aS50ZXh0LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVBdHRhY2hlZCkge1xuICAgICAgICAudWkudGV4dC5hdHRhY2hlZC5tZW51IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC50ZXh0Lm1lbnUsXG4gICAgICAgIC51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLml0ZW0sXG4gICAgICAgIC51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLml0ZW06aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGbHVpZCkge1xuICAgICAgICAvKiBGbHVpZCAqL1xuICAgICAgICAudWkuZmx1aWQudGV4dC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51SWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEljb24gT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC8qIFZlcnRpY2FsIE1lbnUgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLmljb24ubWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEl0ZW0gKi9cbiAgICAudWkuaWNvbi5tZW51IC5pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBAaWNvbk1lbnVUZXh0QWxpZ247XG4gICAgICAgIGNvbG9yOiBAaWNvbk1lbnVJdGVtQ29sb3I7XG4gICAgfVxuXG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5pY29uLm1lbnUgLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLyogSWNvbiBHbHlwaCAqL1xuICAgIC51aS5pY29uLm1lbnUgaS5pY29uOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8qICh4KSBJdGVtIEljb24gKi9cbiAgICAudWkubWVudSAuaWNvbi5pdGVtID4gaS5pY29uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsIEljb24gKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLnVpLnZlcnRpY2FsLmljb24ubWVudSAuaXRlbSA+IGkuaWNvbjpub3QoLmRyb3Bkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmljb24ubWVudSAuaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogQGljb25NZW51SW52ZXJ0ZWRJdGVtQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVMYWJlbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMYWJlbGVkIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1lbnUgKi9cbiAgICAudWkubGFiZWxlZC5pY29uLm1lbnUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogSXRlbSAqL1xuICAgIC51aS5sYWJlbGVkLmljb24ubWVudSAuaXRlbSB7XG4gICAgICAgIG1pbi13aWR0aDogQGxhYmVsZWRJY29uTWluV2lkdGg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5sYWJlbGVkLmljb24ubWVudSA+IC5yaWdodC5tZW51ID4gLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93biksXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5tZW51ID4gLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogQGxhYmVsZWRJY29uU2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0byBAbGFiZWxlZEljb25UZXh0TWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGbHVpZCkge1xuICAgICAgICAvKiBGbHVpZCAqL1xuICAgICAgICAudWkuZmx1aWQubGFiZWxlZC5pY29uLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICYucG9pbnRpbmcgLmFjdGl2ZS5pdGVtOjphZnRlciB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBAZGl2aWRlclNpemU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdmVydGljYWxEaXZpZGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSAubGVmdC5tZW51LFxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lm1lbnUsXG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSAucmlnaHQuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSAuY2VudGVyLm1lbnUsXG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSAuY2VudGVyLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5tZW51LFxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmNlbnRlci5tZW51LFxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQubWVudSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1lbnVDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbk1lbnVDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcblxuICAgICAgICAmIHdoZW4gbm90IChAY29sb3I9c2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAudWkudWkudWkubWVudSAuQHtjb2xvcn0uYWN0aXZlLml0ZW0sXG4gICAgICAgICAgICAudWkudWkuQHtjb2xvcn0ubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4gICAgICAgICAgICAudWkudWkuQHtjb2xvcn0ubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZUJvcmRlckNvbG9yID0gY3VycmVudENvbG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLm1lbnUge1xuICAgICAgICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIE1lbnUgSXRlbSAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IC5pdGVtLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5pdGVtID4gYTpub3QoLnVpKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSXRlbVRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLm1lbnUgLml0ZW0ubWVudSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN1Yk1lbnVCYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8qIC0tLSBCb3JkZXIgLS0tICovXG4gICAgLnVpLmludmVydGVkLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZERpdmlkZXJCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRWZXJ0aWNhbERpdmlkZXJCYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU3ViIE1lbnUgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLm1lbnUgLml0ZW0sXG4gICAgICAgIC51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtIGE6bm90KC51aSkge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN1Yk1lbnVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEhlYWRlciAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC51aS51aS5pbnZlcnRlZC5tZW51IC5pdGVtLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZERpc2FibGVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC8qIC0tLSBIb3ZlciAtLS0gKi9cbiAgICAudWkubGluay5pbnZlcnRlZC5tZW51IC5pdGVtOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4gICAgLnVpLmludmVydGVkLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtIC5tZW51IGEuaXRlbTpob3ZlcixcbiAgICAgICAgLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdWJNZW51QmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdWJNZW51SG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLSBQcmVzc2VkIC0tLSAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTphY3RpdmUsXG4gICAgLnVpLmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRNZW51UHJlc3NlZEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZW51UHJlc3NlZENvbG9yO1xuICAgIH1cblxuICAgIC8qIC0tLSBBY3RpdmUgLS0tICovXG4gICAgLnVpLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEFjdGl2ZUNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3ViTWVudUFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU3ViTWVudUFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93QWN0aXZlQ29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tIEFjdGl2ZSBIb3ZlciAtLS0gKi9cbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3RpdmVIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRBY3RpdmVIb3ZlckNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93QWN0aXZlSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUZsb2F0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0ZWQubWVudSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgQGZsb2F0ZWREaXN0YW5jZSAwIDA7XG4gICAgfVxuICAgIC51aS5mbG9hdGVkLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWkucmlnaHQuZmxvYXRlZC5tZW51IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBmbG9hdGVkRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51Q2VudGVyZWQpIHtcbiAgICAudWkuY2VudGVyLmFsaWduZWQubWVudUB7bm90Rmx1aWR9LFxuICAgIC51aS5jZW50ZXJlZC5tZW51QHtub3RGbHVpZH0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIH1cbiAgICAudWkuY2VudGVyLmFsaWduZWQubWVudSAuaXRlbSxcbiAgICAudWkuY2VudGVyZWQubWVudSAuaXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1lbnVDb2xvcnMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25NZW51Q29sb3JzLCB7XG4gICAgICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcblxuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGNvbG9yPXNlY29uZGFyeSkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5tZW51IC5Ae2NvbG9yfS5hY3RpdmUuaXRlbSxcbiAgICAgICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZERpdmlkZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5wb2ludGluZy5Ae2NvbG9yfS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUZpdHRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5maXR0ZWQubWVudSAuaXRlbSxcbiAgICAudWkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4gICAgLnVpLm1lbnUgLmZpdHRlZC5pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSxcbiAgICAudWkuaG9yaXpvbnRhbGx5LmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuICAgIC51aS5tZW51IC5ob3Jpem9udGFsbHkuZml0dGVkLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0sXG4gICAgLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4gICAgLnVpLm1lbnUgLnZlcnRpY2FsbHkuZml0dGVkLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBpdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBpdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51Qm9yZGVybGVzcykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQm9yZGVybGVzc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJvcmRlcmxlc3MubWVudSAuaXRlbTo6YmVmb3JlLFxuICAgIC51aS5ib3JkZXJsZXNzLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW06OmJlZm9yZSxcbiAgICAudWkubWVudSAuYm9yZGVybGVzcy5pdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51Q29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tcGFjdC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICAgICAgICAgICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICAgICAgLyogSUUgaGFjayB0byBtYWtlIGRyb3Bkb3duIGljb25zIGFwcGVhciBpbmxpbmUgKi9cbiAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmNvbXBhY3QubWVudUB7bm90U2Vjb25kYXJ5fSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICB9XG4gICAgLnVpLmNvbXBhY3QubWVudSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLnVpLmNvbXBhY3QudmVydGljYWwubWVudSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51Rmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubWVudS5mbHVpZCxcbiAgICAudWkudmVydGljYWwubWVudS5mbHVpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51RXF1YWxXaWR0aCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBFdmVubHkgU2l6ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLm1lbnUgPiAuaXRlbSxcbiAgICAudWkuaXRlbS5tZW51LFxuICAgIC51aS5pdGVtLm1lbnUgLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51QHtub3RUYWJ1bGFyfSxcbiAgICAudWkuYXR0YWNoZWQuaXRlbS5tZW51QHtub3RUYWJ1bGFyfSB7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLm1lbnUgPiAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUsXG4gICAgLnVpLml0ZW0ubWVudSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51aS5tZW51LnR3by5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLnVpLm1lbnUudGhyZWUuaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIH1cbiAgICAudWkubWVudS5mb3VyLml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgICAudWkubWVudS5maXZlLml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgICAudWkubWVudS5zaXguaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNi42NjYlO1xuICAgIH1cbiAgICAudWkubWVudS5zZXZlbi5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE0LjI4NSU7XG4gICAgfVxuICAgIC51aS5tZW51LmVpZ2h0Lml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTIuNSU7XG4gICAgfVxuICAgIC51aS5tZW51Lm5pbmUuaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMS4xMSU7XG4gICAgfVxuICAgIC51aS5tZW51LnRlbi5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICB9XG4gICAgLnVpLm1lbnUuZWxldmVuLml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogOS4wOSU7XG4gICAgfVxuICAgIC51aS5tZW51LnR3ZWx2ZS5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDguMzMzJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGaXhlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm1lbnUuZml4ZWQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnVpLm1lbnUuZml4ZWQsXG4gICAgLnVpLm1lbnUuZml4ZWQgLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLm1lbnUuZml4ZWQgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuZml4ZWQubWVudSxcbiAgICAudWlbY2xhc3MqPVwidG9wIGZpeGVkXCJdLm1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJ0b3AgZml4ZWRcIl0ubWVudSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBmaXhlZFwiXS5tZW51IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gZml4ZWRcIl0ubWVudSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZml4ZWRcIl0ubWVudSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogQ291cGxpbmcgd2l0aCBHcmlkICovXG4gICAgLnVpLmZpeGVkLm1lbnUgKyAudWkuZ3JpZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAZml4ZWRQcmVjZWRpbmdHcmlkTWFyZ2luO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBQb2ludGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucG9pbnRpbmcubWVudSAuaXRlbTo6YWZ0ZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogKEBhcnJvd0JvcmRlcldpZHRoIC8gMikgMCAwO1xuICAgICAgICB3aWR0aDogQGFycm93U2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAYXJyb3dTaXplO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBhcnJvd0JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dCb3JkZXI7XG4gICAgICAgIHotaW5kZXg6IEBhcnJvd1pJbmRleDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGFycm93VHJhbnNpdGlvbjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtKEBhcnJvd0JvcmRlcldpZHRoIC8gMikgMCAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGFycm93Qm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOjphZnRlcixcbiAgICAudWkudmVydGljYWwucG9pbnRpbmcubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtOjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvKiBEb24ndCBkb3VibGUgdXAgcG9pbnRlcnMgKi9cbiAgICAudWkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW06OmFmdGVyLFxuICAgIC51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSAubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDb2xvcnMgKi9cbiAgICAudWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93SG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd0FjdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAudWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93QWN0aXZlSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93VmVydGljYWxIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93VmVydGljYWxBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwucG9pbnRpbmcubWVudSAubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd1ZlcnRpY2FsU3ViTWVudUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGbHVpZCkgYW5kIChAdmFyaWF0aW9uR3JpZFN0YWNrYWJsZSkge1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkuZmx1aWQudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25NZW51Q29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25NZW51Q29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG5cbiAgICAgICAgLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLkB7Y29sb3J9LmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51QXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTWlkZGxlICovXG4gICAgLnVpLmF0dGFjaGVkLm1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiAwIEBhdHRhY2hlZEhvcml6b250YWxPZmZzZXQ7XG4gICAgICAgIHdpZHRoOiBAYXR0YWNoZWRXaWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiBAYXR0YWNoZWRXaWR0aDtcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVudTpub3QoLnRvcCkge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC8qIFRvcCAqL1xuICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubWVudSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdG9wOiBAYXR0YWNoZWRUb3BPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLm1lbnVbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gKi9cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLm1lbnUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5tZW51Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8qIEF0dGFjaGVkIE1lbnUgSXRlbSAqL1xuICAgIC51aS50b3AuYXR0YWNoZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgMDtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5hdHRhY2hlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIFRhYnVsYXIgQXR0YWNoZWQgKi9cbiAgICAudWkuYXR0YWNoZWQubWVudUB7bm90VGFidWxhcn1Ae25vdFRleHR9IHtcbiAgICAgICAgYm9yZGVyOiBAYXR0YWNoZWRCb3JkZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVJbnZlcnRlZCkge1xuICAgICAgICAudWkuYXR0YWNoZWQuaW52ZXJ0ZWQubWVudSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVRhYnVsYXIpIHtcbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uaW52ZXJ0ZWQudGFidWxhci5tZW51IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBAaW52ZXJ0ZWRUYWJ1bGFyQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVUYWJ1bGFyKSB7XG4gICAgICAgIC51aS5hdHRhY2hlZC50YWJ1bGFyLm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVdyYXBwaW5nKSB7XG4gICAgLnVpLndyYXBwaW5nLm1lbnUge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICYgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJkB7bm90U2Vjb25kYXJ5fUB7bm90VGV4dH1Ae25vdFRhYnVsYXJ9QHtub3RCb3JkZXJsZXNzfSAuaXRlbSB7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSxcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAZGl2aWRlclNpemUgc29saWQgQGRpdmlkZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVXcmFwcGVkKSB7XG4gICAgICAgIC51aS53cmFwcGVkLm1lbnVAe25vdFNlY29uZGFyeX1Ae25vdFRleHR9QHtub3RUYWJ1bGFyfUB7bm90Qm9yZGVybGVzc30gLml0ZW0ge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IHtcbiAgICAgICAgd2lkdGg6IEBtZWRpdW1XaWR0aDtcbiAgICB9XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTWVudVNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25NZW51U2l6ZXMsIHtcbiAgICAgICAgQHc6IEB7dmFsdWV9V2lkdGg7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ubWVudSxcbiAgICAgICAgLnVpLkB7dmFsdWV9Lm1lbnUgLmRyb3Bkb3duLFxuICAgICAgICAudWkuQHt2YWx1ZX0ubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBAdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEludmVydGVkIGRyb3Bkb3duc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IC51aS5pbnZlcnRlZC5pbnZlcnRlZC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREcm9wZG93bkJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogQGludmVydGVkRHJvcGRvd25NZW51Qm94U2hhZG93O1xufVxuXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgY29sb3I6IEBpbnZlcnRlZERyb3Bkb3duSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5hY3RpdmUuaXRlbSB7XG4gICAgYmFja2dyb3VuZDogQGludmVydGVkRHJvcGRvd25BY3RpdmVJdGVtQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBAaW52ZXJ0ZWREcm9wZG93bkFjdGl2ZUl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQGludmVydGVkRHJvcGRvd25Ib3ZlcmVkSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGludmVydGVkRHJvcGRvd25Ib3ZlcmVkSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREcm9wZG93blNlbGVjdGVkSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGludmVydGVkRHJvcGRvd25TZWxlY3RlZEl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pbnZlcnRlZC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkRHJvcGRvd25NZW51Qm94U2hhZG93O1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS50b3AubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEB0b3BNZW51QWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEB0b3BNZW51QWN0aXZlSXRlbUNvbG9yO1xufVxuXG4udWkudG9wLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkudG9wLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS50b3AubWVudSBhLml0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEB0b3BNZW51SG92ZXJJdGVtQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHRvcE1lbnVIb3Zlckl0ZW1Db2xvcjtcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG4udWkudG9wLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAdG9wTWVudUFjdGl2ZUhvdmVySXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEB0b3BNZW51QWN0aXZlSG92ZXJJdGVtQ29sb3I7XG59IiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTWVzc2FnZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwibWVzc2FnZVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIDA7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbn1cblxuLnVpLm1lc3NhZ2U6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVzc2FnZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSGVhZGVyICovXG4udWkubWVzc2FnZSAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBAaGVhZGVyRGlzcGxheTtcbiAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICAgIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbn1cblxuLyogRGVmYXVsdCBmb250IHNpemUgKi9cbi51aS5tZXNzYWdlIC5oZWFkZXI6bm90KC51aSkge1xuICAgIGZvbnQtc2l6ZTogQGhlYWRlckZvbnRTaXplO1xufVxuXG4vKiBQYXJhZ3JhcGggKi9cbi51aS5tZXNzYWdlIHAge1xuICAgIG9wYWNpdHk6IEBtZXNzYWdlVGV4dE9wYWNpdHk7XG4gICAgbWFyZ2luOiBAbWVzc2FnZVBhcmFncmFwaE1hcmdpbiAwO1xufVxuLnVpLm1lc3NhZ2UgcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5tZXNzYWdlIC5oZWFkZXIgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiBAaGVhZGVyUGFyYWdyYXBoRGlzdGFuY2U7XG59XG5cbi8qIExpc3QgKi9cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogQGxpc3RPcGFjaXR5O1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IEBsaXN0U3R5bGVQb3NpdGlvbjtcbiAgICBtYXJnaW46IEBsaXN0TWFyZ2luIDAgMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIEBsaXN0SXRlbU1hcmdpbiBAbGlzdEl0ZW1JbmRlbnQ7XG4gICAgcGFkZGluZzogMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIuKAolwiO1xuICAgIGxlZnQ6IC0xZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lc3NhZ2VJY29uKSB7XG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbnMsXG4gICAgLnVpLmljb24ubWVzc2FnZSA+IGkuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGljb25EaXN0YW5jZTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgQGljb25EaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQ2xvc2UgSWNvbiAqL1xuLnVpLm1lc3NhZ2UgPiAuY2xvc2UuaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBAY2xvc2VUb3BEaXN0YW5jZTtcbiAgICByaWdodDogQGNsb3NlUmlnaHREaXN0YW5jZTtcbiAgICBvcGFjaXR5OiBAY2xvc2VPcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IEBjbG9zZVRyYW5zaXRpb247XG59XG4udWkubWVzc2FnZSA+IC5jbG9zZS5pY29uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBGaXJzdCAvIExhc3QgRWxlbWVudCAqL1xuLnVpLm1lc3NhZ2UgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVzc2FnZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgICBtYXJnaW46IDAgLUBib3JkZXJXaWR0aDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5pY29uLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhpZGRlbi5oaWRkZW4uaGlkZGVuLmhpZGRlbi5tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbk1lc3NhZ2VDZW50ZXJlZCkge1xuICAgIC51aS5jZW50ZXJlZC5tZXNzYWdlLFxuICAgIC51aS5jZW50ZXIuYWxpZ25lZC5tZXNzYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgJiA+IC5jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZVJpZ2h0QWxpZ25lZCkge1xuICAgIC51aS5yaWdodC5hbGlnbmVkLm1lc3NhZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lc3NhZ2VDb21wYWN0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbXBhY3QubWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAudWkuY29tcGFjdC5pY29uLm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRZT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRYT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBhdHRhY2hlZFhPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC5tZXNzYWdlOm5vdCgudG9wKTpub3QoLmJvdHRvbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiBAYXR0YWNoZWRZT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAudWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiBAYXR0YWNoZWRZT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3R0b21Cb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYXR0YWNoZWQubWVzc2FnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlSWNvbikge1xuICAgICAgICAudWkuYXR0YWNoZWQuaWNvbi5tZXNzYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlSWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmljb24ubWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAudWkuaWNvbi5tZXNzYWdlID4gLmljb25zLFxuICAgIC51aS5pY29uLm1lc3NhZ2UgPiBpLmljb246bm90KC5jbG9zZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbiAgICAgICAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gICAgICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmljb24ubWVzc2FnZSA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25WZXJ0aWNhbEFsaWduO1xuICAgIH1cblxuICAgIC51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbnMgKyAuY29udGVudCxcbiAgICAudWkuaWNvbi5tZXNzYWdlID4gaS5pY29uOm5vdCguY2xvc2UpICsgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBpY29uQ29udGVudERpc3RhbmNlO1xuICAgIH1cbiAgICAudWkuaWNvbi5tZXNzYWdlID4gaS5jaXJjdWxhciB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlRmxvYXRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbG9hdGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0aW5nLm1lc3NhZ2Uge1xuICAgICAgICBib3gtc2hhZG93OiBAZmxvYXRpbmdCb3hTaGFkb3c7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTWVzc2FnZUNvbnNlcXVlbmNlcyA9IGZhbHNlKSB7XG4gICAgQGNvbnNlcXVlbmNlczoge1xuICAgICAgICBAcG9zaXRpdmU6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBwb3NpdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGhlYWRlcjogQHBvc2l0aXZlSGVhZGVyQ29sb3I7XG4gICAgICAgICAgICBib3hTaGFkb3c6IEBwb3NpdGl2ZUJveFNoYWRvdztcbiAgICAgICAgICAgIGJveEZsb2F0U2hhZG93OiBAcG9zaXRpdmVCb3hGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgIHRleHQ6IEBwb3NpdGl2ZVRleHRDb2xvcjtcbiAgICAgICAgICAgIGludmVydGVkVGV4dDogQHBvc2l0aXZlQm9yZGVyQ29sb3I7XG4gICAgICAgIH07XG4gICAgICAgIEBuZWdhdGl2ZToge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQG5lZ2F0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaGVhZGVyOiBAbmVnYXRpdmVIZWFkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveFNoYWRvdzogQG5lZ2F0aXZlQm94U2hhZG93O1xuICAgICAgICAgICAgYm94RmxvYXRTaGFkb3c6IEBuZWdhdGl2ZUJveEZsb2F0aW5nU2hhZG93O1xuICAgICAgICAgICAgdGV4dDogQG5lZ2F0aXZlVGV4dENvbG9yO1xuICAgICAgICAgICAgaW52ZXJ0ZWRUZXh0OiBAbmVnYXRpdmVCb3JkZXJDb2xvcjtcbiAgICAgICAgfTtcbiAgICAgICAgQGluZm86IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbmZvQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaGVhZGVyOiBAaW5mb0hlYWRlckNvbG9yO1xuICAgICAgICAgICAgYm94U2hhZG93OiBAaW5mb0JveFNoYWRvdztcbiAgICAgICAgICAgIGJveEZsb2F0U2hhZG93OiBAaW5mb0JveEZsb2F0aW5nU2hhZG93O1xuICAgICAgICAgICAgdGV4dDogQGluZm9UZXh0Q29sb3I7XG4gICAgICAgICAgICBpbnZlcnRlZFRleHQ6IEBmb3JtSW5mb0xhYmVsQmFja2dyb3VuZDtcbiAgICAgICAgfTtcbiAgICAgICAgQHdhcm5pbmc6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB3YXJuaW5nQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaGVhZGVyOiBAd2FybmluZ0hlYWRlckNvbG9yO1xuICAgICAgICAgICAgYm94U2hhZG93OiBAd2FybmluZ0JveFNoYWRvdztcbiAgICAgICAgICAgIGJveEZsb2F0U2hhZG93OiBAd2FybmluZ0JveEZsb2F0aW5nU2hhZG93O1xuICAgICAgICAgICAgdGV4dDogQHdhcm5pbmdUZXh0Q29sb3I7XG4gICAgICAgICAgICBpbnZlcnRlZFRleHQ6IEBmb3JtV2FybmluZ0xhYmVsQmFja2dyb3VuZDtcbiAgICAgICAgfTtcbiAgICAgICAgQGVycm9yOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZXJyb3JCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBoZWFkZXI6IEBlcnJvckhlYWRlckNvbG9yO1xuICAgICAgICAgICAgYm94U2hhZG93OiBAZXJyb3JCb3hTaGFkb3c7XG4gICAgICAgICAgICBib3hGbG9hdFNoYWRvdzogQGVycm9yQm94RmxvYXRpbmdTaGFkb3c7XG4gICAgICAgICAgICB0ZXh0OiBAZXJyb3JUZXh0Q29sb3I7XG4gICAgICAgICAgICBpbnZlcnRlZFRleHQ6IEBmb3JtRXJyb3JMYWJlbEJhY2tncm91bmQ7XG4gICAgICAgIH07XG4gICAgICAgIEBzdWNjZXNzOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc3VjY2Vzc0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGhlYWRlcjogQHN1Y2Nlc3NIZWFkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveFNoYWRvdzogQHN1Y2Nlc3NCb3hTaGFkb3c7XG4gICAgICAgICAgICBib3hGbG9hdFNoYWRvdzogQHN1Y2Nlc3NCb3hGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgIHRleHQ6IEBzdWNjZXNzVGV4dENvbG9yO1xuICAgICAgICAgICAgaW52ZXJ0ZWRUZXh0OiBAZm9ybVN1Y2Nlc3NMYWJlbEJhY2tncm91bmQ7XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8qIENvbG9ycyAqL1xuXG4gICAgZWFjaChAdmFyaWF0aW9uTWVzc2FnZUNvbnNlcXVlbmNlcywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGJnOiBAY29uc2VxdWVuY2VzW0BAY29sb3JdW2JhY2tncm91bmRdO1xuICAgICAgICBAaGQ6IEBjb25zZXF1ZW5jZXNbQEBjb2xvcl1baGVhZGVyXTtcbiAgICAgICAgQGJzOiBAY29uc2VxdWVuY2VzW0BAY29sb3JdW2JveFNoYWRvd107XG4gICAgICAgIEBiZnM6IEBjb25zZXF1ZW5jZXNbQEBjb2xvcl1bYm94RmxvYXRTaGFkb3ddO1xuICAgICAgICBAdDogQGNvbnNlcXVlbmNlc1tAQGNvbG9yXVt0ZXh0XTtcbiAgICAgICAgQGl0OiBAY29uc2VxdWVuY2VzW0BAY29sb3JdW2ludmVydGVkVGV4dF07XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9Lm1lc3NhZ2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJnO1xuICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9Lm1lc3NhZ2UsXG4gICAgICAgIC51aS5hdHRhY2hlZC5Ae2NvbG9yfS5tZXNzYWdlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBicztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIC51aS5mbG9hdGluZy5Ae2NvbG9yfS5tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAYmZzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlIC5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBoZDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5tZXNzYWdlLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9Lm1lc3NhZ2UgLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1lc3NhZ2VDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbk1lc3NhZ2VDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBiZzogQGNvbG9yc1tAQGNvbG9yXVtiYWNrZ3JvdW5kXTtcbiAgICAgICAgQGhkOiBAY29sb3JzW0BAY29sb3JdW2hlYWRlcl07XG4gICAgICAgIEBiczogQGNvbG9yc1tAQGNvbG9yXVtib3hTaGFkb3ddO1xuICAgICAgICBAYmZzOiBAY29sb3JzW0BAY29sb3JdW2JveEZsb2F0U2hhZG93XTtcbiAgICAgICAgQHQ6IEBjb2xvcnNbQEBjb2xvcl1bdGV4dF07XG4gICAgICAgIEBpc1ZlcnlEYXJrOiBAY29sb3JzW0BAY29sb3JdW2lzVmVyeURhcmtdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlIHtcbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlLFxuICAgICAgICAudWkuYXR0YWNoZWQuQHtjb2xvcn0ubWVzc2FnZSB7XG4gICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBicztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIC51aS5mbG9hdGluZy5Ae2NvbG9yfS5tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAYmZzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlIC5oZWFkZXIge1xuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGhkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUludmVydGVkKSB7XG4gICAgLnVpLmludmVydGVkLm1lc3NhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25NZXNzYWdlU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbk1lc3NhZ2VTaXplcywge1xuICAgICAgICBAczogQHt2YWx1ZX1NZXNzYWdlU2l6ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9Lm1lc3NhZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUYWJsZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwidGFibGVcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RVbnN0YWNrYWJsZTogaWYoQHZhcmlhdGlvblRhYmxlVW5zdGFja2FibGUsIGUoXCI6bm90KC51bnN0YWNrYWJsZSlcIikpO1xuQG5vdFJvd1NwYW5uZWQ6IGlmKEB2YXJpYXRpb25UYWJsZVJvd1NwYW5uZWQsIGUoXCI6bm90KC5yb3dzcGFubmVkKVwiKSk7XG5Abm90RnVsbFdpZHRoOiBpZihAdmFyaWF0aW9uVGFibGVGdWxsV2lkdGgsIGUoXCI6bm90KC5mdWxsLXdpZHRoKVwiKSk7XG5Abm90TWFya2VkOiBpZihAdmFyaWF0aW9uVGFibGVNYXJrZWQsIGUoXCI6bm90KC5tYXJrZWQpXCIpKTtcbkBub3RTb3J0YWJsZTogaWYoQHZhcmlhdGlvblRhYmxlU29ydGFibGUsIGUoXCI6bm90KC5zb3J0YWJsZSlcIikpO1xuQG5vdFN0cmlwZWQ6IGlmKEB2YXJpYXRpb25UYWJsZVN0cmlwZWQsIGUoXCI6bm90KC5zdHJpcGVkKVwiKSk7XG5Abm90SW52ZXJ0ZWQ6IGlmKEB2YXJpYXRpb25UYWJsZUludmVydGVkLCBlKFwiOm5vdCguaW52ZXJ0ZWQpXCIpKTtcbkBub3RCYXNpYzogaWYoQHZhcmlhdGlvblRhYmxlQmFzaWMsIGUoXCI6bm90KC5iYXNpYylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBQcm90b3R5cGUgKi9cbi51aS50YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBib3JkZXItY29sbGFwc2U6IEBib3JkZXJDb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogQGJvcmRlclNwYWNpbmc7XG59XG5cbi51aS50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLnRhYmxlID4gdGhlYWQsXG4udWkudGFibGUgPiB0Ym9keSB7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQYXJ0c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogVGFibGUgQ29udGVudCAqL1xuLnVpLnRhYmxlIHRoLFxuLnVpLnRhYmxlIHRkIHtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSb3dTcGFubmVkKSB7XG4gICAgLyogUm93c3BhbiBoZWxwZXIgY2xhc3MgKi9cbiAgICAudWkudGFibGUgdGgucm93c3Bhbm5lZCxcbiAgICAudWkudGFibGUgdGQucm93c3Bhbm5lZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiBIZWFkZXJzICovXG4udWkudGFibGUgPiB0aGVhZCB7XG4gICAgYm94LXNoYWRvdzogQGhlYWRlckJveFNoYWRvdztcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IEBoZWFkZXJCYWNrZ3JvdW5kO1xuICAgIHRleHQtYWxpZ246IEBoZWFkZXJBbGlnbjtcbiAgICBjb2xvcjogQGhlYWRlckNvbG9yO1xuICAgIHBhZGRpbmc6IEBoZWFkZXJWZXJ0aWNhbFBhZGRpbmcgQGhlYWRlckhvcml6b250YWxQYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaGVhZGVyVmVydGljYWxBbGlnbjtcbiAgICBmb250LXN0eWxlOiBAaGVhZGVyRm9udFN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGhlYWRlclRleHRUcmFuc2Zvcm07XG4gICAgYm9yZGVyLWJvdHRvbTogQGhlYWRlckJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogQGhlYWRlckRpdmlkZXI7XG59XG5cbi51aS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi51aS50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgMDtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgMCAwO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG59XG5cbi8qIEZvb3RlciAqL1xuLnVpLnRhYmxlID4gdGZvb3Qge1xuICAgIGJveC1zaGFkb3c6IEBmb290ZXJCb3hTaGFkb3c7XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBib3JkZXItdG9wOiBAZm9vdGVyQm9yZGVyO1xuICAgIGJhY2tncm91bmQ6IEBmb290ZXJCYWNrZ3JvdW5kO1xuICAgIHRleHQtYWxpZ246IEBmb290ZXJBbGlnbjtcbiAgICBjb2xvcjogQGZvb3RlckNvbG9yO1xuICAgIHBhZGRpbmc6IEBmb290ZXJWZXJ0aWNhbFBhZGRpbmcgQGZvb3Rlckhvcml6b250YWxQYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAZm9vdGVyVmVydGljYWxBbGlnbjtcbiAgICBmb250LXN0eWxlOiBAZm9vdGVyRm9udFN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiBAZm9vdGVyRm9udFdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGZvb3RlclRleHRUcmFuc2Zvcm07XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgQGJvcmRlclJhZGl1cztcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyAwO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGg6b25seS1jaGlsZCxcbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIFRhYmxlIFJvdyAqL1xuLnVpLnRhYmxlID4gdHIgPiB0ZCxcbi51aS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogQHJvd0JvcmRlcjtcbn1cbi51aS50YWJsZSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udWkudGFibGUgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFJlcGVhdGVkIHRib2R5ICovXG4udWkudGFibGUgPiB0Ym9keSArIHRib2R5IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICAgIGJvcmRlci10b3A6IEByb3dCb3JkZXI7XG59XG5cbi8qIFRhYmxlIENlbGxzICovXG4udWkudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkudGFibGUgPiB0ciA+IHRkIHtcbiAgICBwYWRkaW5nOiBAY2VsbFZlcnRpY2FsUGFkZGluZyBAY2VsbEhvcml6b250YWxQYWRkaW5nO1xuICAgIHRleHQtYWxpZ246IEBjZWxsVGV4dEFsaWduO1xufVxuXG4vKiBJY29ucyAqL1xuLnVpLnRhYmxlID4gaS5pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25WZXJ0aWNhbEFsaWduO1xufVxuLnVpLnRhYmxlID4gaS5pY29uOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogVGFibGUgU2VnbWVudCAqL1xuLnVpLnRhYmxlLnNlZ21lbnQge1xuICAgIHBhZGRpbmc6IDA7XG59XG4udWkudGFibGUuc2VnbWVudDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudGFibGUuc2VnbWVudC5zdGFja2VkOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRoZWFkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGhlYWQgPiB0cixcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0cixcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdHIsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGJvZHkgPiB0ciA+IHRoQHtub3RSb3dTcGFubmVkfSxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290ID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0ciA+IHRkQHtub3RSb3dTcGFubmVkfSxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5ID4gdHIgPiB0ZEB7bm90Um93U3Bhbm5lZH0sXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyID4gdGRAe25vdFJvd1NwYW5uZWR9IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogQHJlc3BvbnNpdmVIZWFkZXJEaXNwbGF5O1xuICAgIH1cbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290IHtcbiAgICAgICAgZGlzcGxheTogQHJlc3BvbnNpdmVGb290ZXJEaXNwbGF5O1xuICAgIH1cbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyLFxuICAgIC51aS51aS51aS51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGhlYWQgPiB0cixcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5ID4gdHIsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEByZXNwb25zaXZlUm93VmVydGljYWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHJlc3BvbnNpdmVSb3dWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS51aS51aS51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdHIgPiB0aCxcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyID4gdGQsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IEByZXNwb25zaXZlQ2VsbFZlcnRpY2FsUGFkZGluZyBAcmVzcG9uc2l2ZUNlbGxIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVDZWxsQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEByZXNwb25zaXZlQ2VsbEhlYWRlckZvbnRXZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogRGVmaW5pdGlvbiBUYWJsZSAqL1xuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlTWFya2VkKSBhbmQgbm90IChAdmFyaWF0aW9uVGFibGVDb2xvcnMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25UYWJsZUNvbG9ycywge1xuICAgICAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgICAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSB0cltjbGFzcyo9XCJAe2NvbG9yfSBtYXJrZWRcIl0ge1xuICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93LCBAY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAYyBpbnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93LCBAY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAbCBpbnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nKSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhCb2R5SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhCb2R5SGVpZ2h0O1xuICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nKSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdNb2JpbGVNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdNb2JpbGVNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ01vYmlsZU1heEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ01vYmlsZU1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdNb2JpbGVNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhCb2R5SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0O1xuICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLFxuICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCxcbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgICAgICAmID4gdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdXNlQ3VzdG9tU2Nyb2xsYmFycykge1xuICAgICAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLFxuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LFxuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBDYW1vdWZsYWdlIHNjcm9sbGJhcnMsIHdlIG5lZWQgdGhlbSBvbmx5IHRvIGdhaW4gdGhlIHNhbWUgd2lkdGggYXMgdGJvZHkgKi9cbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZm9vdGVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBmb290ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRIZWFkZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEZvb3RlckJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRm9vdGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAmIHdoZW4gKEB1c2VDdXN0b21TY3JvbGxiYXJzKSB7XG4gICAgICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQsXG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogY3VycmVudENvbG9yIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgLyogSUUgc2Nyb2xsYmFyIGNvbG9yIG5lZWRzIGhleCB2YWx1ZXMgKi9cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgICAgICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBoZWFkZXJCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGZvb3RlckJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkRm9vdGVyQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRJbmFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICAgIC8qIElFMTEgKi9cbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgICAgICAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kIEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgLnVpLnJlc2l6YWJsZS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgICAgICAgICByZXNpemU6IEByZXNpemFibGVEaXJlY3Rpb247XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBPdmVyZmxvd2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nVGFibGV0TWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nVGFibGV0TWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdUYWJsZXRNYXhIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdUYWJsZXRNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nVGFibGV0TWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ0NvbXB1dGVyTWF4SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1dpZGVzY3JlZW5NYXhIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFVJIEltYWdlICovXG4udWkudGFibGUgLmNvbGxhcHNpbmcgLmltYWdlLFxuLnVpLnRhYmxlIC5jb2xsYXBzaW5nIC5pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb21wbGV4XG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3RydWN0dXJlZCkge1xuICAgIC51aS5zdHJ1Y3R1cmVkLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB9XG4gICAgLnVpLnN0cnVjdHVyZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICBib3JkZXItbGVmdDogQGhlYWRlckRpdmlkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGhlYWRlckRpdmlkZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU29ydGFibGUpIHtcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBzb3J0YWJsZUJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQHNvcnRhYmxlQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQmFzaWMpIHtcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0ciA+IHRoLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5iYXNpYy50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAYmFzaWNUYWJsZUhlYWRlckRpdmlkZXI7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBiYXNpY1RhYmxlSGVhZGVyRGl2aWRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUNlbGxlZCkge1xuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0ciA+IHRoLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0ciA+IHRkLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQGNlbGxCb3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBjZWxsQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZURlZmluaXRpb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIERlZmluaXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGhlYWRAe25vdEZ1bGxXaWR0aH0gPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBkZWZpbml0aW9uSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBkZWZpbml0aW9uSGVhZGVyRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBkZWZpbml0aW9uSGVhZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IC1AY29sb3JlZEJvcmRlclNpemVDb3ZlciAtQGNvbG9yZWRCb3JkZXJTaXplIDAgQGNvbG9yZWRCb3JkZXJTaXplQ292ZXIgQGRlZmluaXRpb25QYWdlQmFja2dyb3VuZDtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL3B1bGwvODg0XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkQHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0aDpmaXJzdC1jaGlsZDpub3QoOmVtcHR5KSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3RAe25vdEZ1bGxXaWR0aH0gPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBkZWZpbml0aW9uRm9vdGVyQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBkZWZpbml0aW9uRm9vdGVyRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBkZWZpbml0aW9uRm9vdGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IC1AY29sb3JlZEJvcmRlclNpemVDb3ZlciBAY29sb3JlZEJvcmRlclNpemUgMCBAY29sb3JlZEJvcmRlclNpemVDb3ZlciBAZGVmaW5pdGlvblBhZ2VCYWNrZ3JvdW5kO1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvcHVsbC84ODRcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIC8qIEhpZ2hsaWdodCBEZWZpbmluZyBDb2x1bW4gKi9cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQ6bm90KC5pZ25vcmVkKSxcbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOm5vdCguaWdub3JlZCksXG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQuZGVmaW5pdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBkZWZpbml0aW9uQ29sdW1uQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBkZWZpbml0aW9uQ29sdW1uRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBkZWZpbml0aW9uQ29sdW1uQ29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAZGVmaW5pdGlvbkNvbHVtblRleHRUcmFuc2Zvcm07XG4gICAgICAgIGJveC1zaGFkb3c6IEBkZWZpbml0aW9uQ29sdW1uQm94U2hhZG93O1xuICAgICAgICB0ZXh0LWFsaWduOiBAZGVmaW5pdGlvbkNvbHVtblRleHRBbGlnbjtcbiAgICAgICAgZm9udC1zaXplOiBAZGVmaW5pdGlvbkNvbHVtbkZvbnRTaXplO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBkZWZpbml0aW9uQ29sdW1uSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBkZWZpbml0aW9uQ29sdW1uSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogRml4IDJuZCBDb2x1bW4gKi9cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkQHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0aDpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItbGVmdDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdEB7bm90RnVsbFdpZHRofSA+IHRyID4gdGg6bnRoLWNoaWxkKDIpLFxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3RAe25vdEZ1bGxXaWR0aH0gPiB0ciA+IHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgIH1cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6bnRoLWNoaWxkKDIpLFxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUG9zaXRpdmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBQb3NpdGl2ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnBvc2l0aXZlLFxuICAgIC51aS51aS50YWJsZSB0ZC5wb3NpdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwb3NpdGl2ZUJveFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZDogQHBvc2l0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogQHBvc2l0aXZlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnBvc2l0aXZlLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgdGQucG9zaXRpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkUG9zaXRpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkUG9zaXRpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVOZWdhdGl2ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBOZWdhdGl2ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlIHRyLm5lZ2F0aXZlLFxuICAgIC51aS51aS50YWJsZSB0ZC5uZWdhdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBuZWdhdGl2ZUJveFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZDogQG5lZ2F0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogQG5lZ2F0aXZlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLm5lZ2F0aXZlLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgdGQubmVnYXRpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTmVnYXRpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTmVnYXRpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVFcnJvcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRXJyb3JcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS51aS50YWJsZSB0ci5lcnJvcixcbiAgICAudWkudWkudGFibGUgdGQuZXJyb3Ige1xuICAgICAgICBib3gtc2hhZG93OiBAZXJyb3JCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBlcnJvckJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6IEBlcnJvckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5lcnJvcixcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEVycm9yQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEVycm9yQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlV2FybmluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBXYXJuaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkudWkudWkudGFibGUgdHIud2FybmluZyxcbiAgICAudWkudWkudGFibGUgdGQud2FybmluZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IEB3YXJuaW5nQm94U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAd2FybmluZ0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6IEB3YXJuaW5nQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLndhcm5pbmcsXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC53YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFdhcm5pbmdCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkV2FybmluZ0NvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUFjdGl2ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3RpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS51aS50YWJsZSB0ci5hY3RpdmUsXG4gICAgLnVpLnVpLnRhYmxlIHRkLmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhY3RpdmVCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmFjdGl2ZSxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbiAgICAudWkudWkudWkudGFibGUgdHIgdGQuZGlzYWJsZWQsXG4gICAgLnVpLnRhYmxlIHRyLmRpc2FibGVkOmhvdmVyLFxuICAgIC51aS50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogQGRpc2FibGVkVGV4dENvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5LFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoQHtub3RSb3dTcGFubmVkfSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkQHtub3RSb3dTcGFubmVkfSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGRAe25vdFJvd1NwYW5uZWR9LFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGRAe25vdFJvd1NwYW5uZWR9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IEByZXNwb25zaXZlSGVhZGVyRGlzcGxheTtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IEByZXNwb25zaXZlRm9vdGVyRGlzcGxheTtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIsXG4gICAgICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgICAgICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyLFxuICAgICAgICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAcmVzcG9uc2l2ZVJvd1ZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAcmVzcG9uc2l2ZVJvd1ZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogQHJlc3BvbnNpdmVDZWxsVmVydGljYWxQYWRkaW5nIEByZXNwb25zaXZlQ2VsbEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVDZWxsQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgLyogRGVmaW5pdGlvbiBUYWJsZSAqL1xuICAgICAgICAgICAgLnVpLmRlZmluaXRpb25bY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlTWFya2VkKSBhbmQgbm90IChAdmFyaWF0aW9uVGFibGVDb2xvcnMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25UYWJsZUNvbG9ycywge1xuICAgICAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgICAgICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBtYXJrZWRcIl0ge1xuICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93LCBAY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAYyBpbnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93LCBAY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAbCBpbnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICBUZXh0IEFsaWdubWVudFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRhYmxlW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbiAgICAudWkudGFibGUgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC51aS50YWJsZVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSxcbiAgICAudWkudGFibGUgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAudWkudGFibGVbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSxcbiAgICAudWkudGFibGUgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVmVydGljYWwgQWxpZ25tZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudGFibGVbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0sXG4gICAgLnVpLnRhYmxlIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIC51aS50YWJsZVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSxcbiAgICAudWkudGFibGUgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLFxuICAgIC51aS50YWJsZSBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVDb2xsYXBzaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29sbGFwc2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRhYmxlIHRoLmNvbGxhcHNpbmcsXG4gICAgLnVpLnRhYmxlIHRkLmNvbGxhcHNpbmcge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVGaXhlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZpeGVkLnRhYmxlIHtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG5cbiAgICAudWkuZml4ZWQudGFibGUgdGgsXG4gICAgLnVpLmZpeGVkLnRhYmxlIHRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNlbGVjdGFibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNlbGVjdGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS5zZWxlY3RhYmxlLnRhYmxlID4gdGJvZHkgPiB0cjpob3ZlcixcbiAgICAudWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3RhYmxlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWxlY3RhYmxlVGV4dENvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS5zZWxlY3RhYmxlLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0cjpob3ZlcixcbiAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdGFibGVJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHNlbGVjdGFibGVJbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNlbGVjdGFibGUgQ2VsbCBMaW5rICovXG4gICAgLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZSA+IGE6bm90KC51aSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC51aS50YWJsZTpub3QoLmNvbXBhY3QpIHRib2R5IHRyIHRkLnNlbGVjdGFibGUgPiBhOm5vdCgudWkpIHtcbiAgICAgICAgcGFkZGluZzogQGNlbGxWZXJ0aWNhbFBhZGRpbmcgQGNlbGxIb3Jpem9udGFsUGFkZGluZztcbiAgICB9XG4gICAgLnVpLnRhYmxlID4gdHIgPiB0ZC5zZWxlY3RhYmxlLFxuICAgIC51aS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zZWxlY3RhYmxlLFxuICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgICAudWkuc2VsZWN0YWJsZS50YWJsZSA+IHRyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUVycm9yKSB7XG4gICAgICAgIC8qIE90aGVyIFN0YXRlcyAqL1xuICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5lcnJvcjpob3ZlcixcbiAgICAgICAgLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuZXJyb3I6aG92ZXIsXG4gICAgICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBlcnJvckJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAZXJyb3JDb2xvckhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlV2FybmluZykge1xuICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci53YXJuaW5nOmhvdmVyLFxuICAgICAgICAudWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS53YXJuaW5nOmhvdmVyLFxuICAgICAgICAudWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC53YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB3YXJuaW5nQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgY29sb3I6IEB3YXJuaW5nQ29sb3JIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUFjdGl2ZSkge1xuICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5hY3RpdmU6aG92ZXIsXG4gICAgICAgIC51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmFjdGl2ZTpob3ZlcixcbiAgICAgICAgLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUG9zaXRpdmUpIHtcbiAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIucG9zaXRpdmU6aG92ZXIsXG4gICAgICAgIC51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnBvc2l0aXZlOmhvdmVyLFxuICAgICAgICAudWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5wb3NpdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAcG9zaXRpdmVCYWNrZ3JvdW5kSG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogQHBvc2l0aXZlQ29sb3JIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU5lZ2F0aXZlKSB7XG4gICAgICAgIC51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLm5lZ2F0aXZlOmhvdmVyLFxuICAgICAgICAudWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5uZWdhdGl2ZTpob3ZlcixcbiAgICAgICAgLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQubmVnYXRpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQG5lZ2F0aXZlQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgY29sb3I6IEBuZWdhdGl2ZUNvbG9ySG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTWlkZGxlICovXG4gICAgLnVpLmF0dGFjaGVkLnRhYmxlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICB3aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyOiBAYXR0YWNoZWRCb3JkZXI7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC50YWJsZTpub3QoLnRvcCkge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC8qIFRvcCAqL1xuICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0udGFibGUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkVG9wT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tdG9wOiBAdmVydGljYWxNYXJnaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS50YWJsZVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSAqL1xuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3RyaXBlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdHJpcGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBUYWJsZSBTdHJpcGluZyAqL1xuICAgIC51aS5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbiAgICAudWkuc3RyaXBlZC50YWJsZSA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdHJpcGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAvKiBTdHJpcGVzICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbiAgICAgICAgLnVpLmludmVydGVkLnN0cmlwZWQudGFibGUgPiB0Ym9keSA+IHRyOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkU3RyaXBlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTZWxlY3RhYmxlKSB7XG4gICAgICAgIC8qIEFsbG93IHN0cmlwZWQgYWN0aXZlIGhvdmVyICovXG4gICAgICAgIC51aS5zdHJpcGVkLnNlbGVjdGFibGUuc2VsZWN0YWJsZS5zZWxlY3RhYmxlLnRhYmxlIHRib2R5IHRyLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgY29sb3I6IEBhY3RpdmVDb2xvckhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgU2luZ2xlIExpbmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkudGFibGVbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblRhYmxlQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25UYWJsZUNvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAdDogQGNvbG9yc1tAQGNvbG9yXVt0ZXh0XTtcbiAgICAgICAgQGh0OiBAY29sb3JzW0BAY29sb3JdW2hvdmVyVGV4dF07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcbiAgICAgICAgQGxoOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuICAgICAgICBAcjogQGNvbG9yc1tAQGNvbG9yXVtyaWJib25dO1xuICAgICAgICBAYjogQGNvbG9yc1tAQGNvbG9yXVticmlnaHRdO1xuICAgICAgICBAYmg6IEBjb2xvcnNbQEBjb2xvcl1bYnJpZ2h0SG92ZXJdO1xuICAgICAgICBAaXNEYXJrOiBAY29sb3JzW0BAY29sb3JdW2lzRGFya107XG4gICAgICAgIEBpc1ZlcnlEYXJrOiBAY29sb3JzW0BAY29sb3JdW2lzVmVyeURhcmtdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS50YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQGM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LnRhYmxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLkB7Y29sb3J9LFxuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LkB7Y29sb3J9IHtcbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gdHIgPiB0aCxcbiAgICAgICAgICAgICAgICA+IHRyID4gdGQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLkB7Y29sb3J9LFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5Ae2NvbG9yfSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICAgICAgICAgICYgPiB0ciA+IHRoLFxuICAgICAgICAgICAgICAgICAgICA+IHRyID4gdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0sXG4gICAgICAgIC51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAudWkudWkudGFibGUgdGRbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSxcbiAgICAgICAgLnVpLnVpLnVpLnVpLnRhYmxlIHRyLkB7Y29sb3J9QHtub3RNYXJrZWR9LFxuICAgICAgICAudWkudWkudGFibGUgdGguQHtjb2xvcn1Ae25vdE1hcmtlZH0sXG4gICAgICAgIC51aS51aS50YWJsZSB0ZC5Ae2NvbG9yfUB7bm90TWFya2VkfSB7XG4gICAgICAgICAgICAmIHdoZW4gKEBzdGF0ZU1hcmtlcldpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBzdGF0ZU1hcmtlcldpZHRoIDAgMCBAciBpbnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0gPiB0aCxcbiAgICAgICAgLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdID4gdGgsXG4gICAgICAgIC51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSA+IHRkLFxuICAgICAgICAudWkudGFibGUgPiB0aGVhZCA+IHRyLkB7Y29sb3J9QHtub3RNYXJrZWR9ID4gdGgsXG4gICAgICAgIC51aS50YWJsZSA+IHRmb290ID4gdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH0gPiB0aCxcbiAgICAgICAgLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSA+IHRkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0sXG4gICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSxcbiAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLkB7Y29sb3J9QHtub3RNYXJrZWR9LFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLkB7Y29sb3J9QHtub3RNYXJrZWR9LFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLkB7Y29sb3J9QHtub3RNYXJrZWR9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdID4gdGgsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0gPiB0aCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSA+IHRkLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSA+IHRoLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSA+IHRoLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSA+IHRkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdOmhvdmVyLFxuICAgICAgICAgICAgLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXTpob3ZlcixcbiAgICAgICAgICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0sXG4gICAgICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfTpob3ZlcixcbiAgICAgICAgICAgIC51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLkB7Y29sb3J9QHtub3RNYXJrZWR9OmhvdmVyLFxuICAgICAgICAgICAgLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuQHtjb2xvcn1Ae25vdE1hcmtlZH0ge1xuICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl06aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXTpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLkB7Y29sb3J9QHtub3RNYXJrZWR9OmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLkB7Y29sb3J9QHtub3RNYXJrZWR9OmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLkB7Y29sb3J9QHtub3RNYXJrZWR9IHtcbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVNYXJrZWQpIHtcbiAgICAgICAgICAgIC51aS50YWJsZSB0ZFtjbGFzcyo9XCJAe2NvbG9yfSBtYXJrZWRcIl0sXG4gICAgICAgICAgICAudWkudGFibGUgdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAtQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBjIGluc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBtYXJrZWRcIl0ge1xuICAgICAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBsIGluc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAbCBpbnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRXF1YWxXaWR0aCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2x1bW4gQ291bnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEdyaWQgQmFzZWQgKi9cbiAgICAudWkub25lLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAb25lQ29sdW1uO1xuICAgIH1cbiAgICAudWkudHdvLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uO1xuICAgIH1cbiAgICAudWkudGhyZWUuY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvdXIuY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZml2ZS5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQGZpdmVDb2x1bW47XG4gICAgfVxuICAgIC51aS5zaXguY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBzaXhDb2x1bW47XG4gICAgfVxuICAgIC51aS5zZXZlbi5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQHNldmVuQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZWlnaHQuY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBlaWdodENvbHVtbjtcbiAgICB9XG4gICAgLnVpLm5pbmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBuaW5lQ29sdW1uO1xuICAgIH1cbiAgICAudWkudGVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAdGVuQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZWxldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAZWxldmVuQ29sdW1uO1xuICAgIH1cbiAgICAudWkudHdlbHZlLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAdHdlbHZlQ29sdW1uO1xuICAgIH1cbiAgICAudWkudGhpcnRlZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEB0aGlydGVlbkNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvdXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAZm91cnRlZW5Db2x1bW47XG4gICAgfVxuICAgIC51aS5maWZ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAZmlmdGVlbkNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnNpeHRlZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBzaXh0ZWVuQ29sdW1uO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVXaWRlKSB7XG4gICAgLyogQ29sdW1uIFdpZHRoICovXG4gICAgLnVpLnRhYmxlIHRoLm9uZS53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5vbmUud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAb25lV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnR3by53aWRlLFxuICAgIC51aS50YWJsZSB0ZC50d28ud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAdHdvV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnRocmVlLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLnRocmVlLndpZGUge1xuICAgICAgICB3aWR0aDogQHRocmVlV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmZvdXIud2lkZSxcbiAgICAudWkudGFibGUgdGQuZm91ci53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBmb3VyV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmZpdmUud2lkZSxcbiAgICAudWkudGFibGUgdGQuZml2ZS53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnNpeC53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5zaXgud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAc2l4V2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnNldmVuLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLnNldmVuLndpZGUge1xuICAgICAgICB3aWR0aDogQHNldmVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmVpZ2h0LndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLmVpZ2h0LndpZGUge1xuICAgICAgICB3aWR0aDogQGVpZ2h0V2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLm5pbmUud2lkZSxcbiAgICAudWkudGFibGUgdGQubmluZS53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBuaW5lV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnRlbi53aWRlLFxuICAgIC51aS50YWJsZSB0ZC50ZW4ud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAdGVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmVsZXZlbi53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5lbGV2ZW4ud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnR3ZWx2ZS53aWRlLFxuICAgIC51aS50YWJsZSB0ZC50d2VsdmUud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnRoaXJ0ZWVuLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLnRoaXJ0ZWVuLndpZGUge1xuICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmZvdXJ0ZWVuLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLmZvdXJ0ZWVuLndpZGUge1xuICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLmZpZnRlZW4ud2lkZSxcbiAgICAudWkudGFibGUgdGQuZmlmdGVlbi53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRoLnNpeHRlZW4ud2lkZSxcbiAgICAudWkudGFibGUgdGQuc2l4dGVlbi53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU29ydGFibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTb3J0YWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjb2xvcjogQHNvcnRhYmxlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQ2VsbGVkKSB7XG4gICAgICAgIC51aS5jZWxsZWQuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBzb3J0YWJsZUJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkLFxuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6aG92ZXIge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAudWkuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgd2lkdGg6IEBzb3J0YWJsZUljb25XaWR0aDtcbiAgICAgICAgb3BhY2l0eTogQHNvcnRhYmxlSWNvbk9wYWNpdHk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHNvcnRhYmxlSWNvbkRpc3RhbmNlO1xuICAgICAgICBmb250LWZhbWlseTogQHNvcnRhYmxlSWNvbkZvbnQ7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5hc2NlbmRpbmc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogQHNvcnRhYmxlSWNvbkFzY2VuZGluZztcbiAgICB9XG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmRlc2NlbmRpbmc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogQHNvcnRhYmxlSWNvbkRlc2NlbmRpbmc7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVEaXNhYmxlZCkge1xuICAgICAgICAvKiBIb3ZlciAqL1xuICAgICAgICAudWkuc29ydGFibGUudGFibGUgdGguZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgY29sb3I6IEBzb3J0YWJsZURpc2FibGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBzb3J0YWJsZUhvdmVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZUB7bm90QmFzaWN9ID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNvcnRhYmxlSG92ZXJCYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8qIFNvcnRlZCAqL1xuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQge1xuICAgICAgICBjb2xvcjogQHNvcnRhYmxlQWN0aXZlQ29sb3I7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZUB7bm90QmFzaWN9IHRoZWFkIHRoLnNvcnRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzb3J0YWJsZUFjdGl2ZUJhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qIFNvcnRlZCBIb3ZlciAqL1xuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6aG92ZXIge1xuICAgICAgICBjb2xvcjogQHNvcnRhYmxlQWN0aXZlSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlQHtub3RCYXNpY30gdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNvcnRhYmxlQWN0aXZlSG92ZXJCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQge1xuICAgICAgICAgICAgY29sb3I6IEBzb3J0YWJsZUludmVydGVkQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlQHtub3RCYXNpY30gdGhlYWQgdGguc29ydGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzb3J0YWJsZUludmVydGVkQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBzb3J0YWJsZUludmVydGVkSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGVAe25vdEJhc2ljfSA+IHRoZWFkID4gdHIgPiB0aDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc29ydGFibGVJbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGVAe25vdEJhc2ljfSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQHNvcnRhYmxlSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHNvcnRhYmxlSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBUZXh0IENvbG9yICovXG4gICAgLnVpLmludmVydGVkLnRhYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENlbGxDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRCb3JkZXI7XG4gICAgfVxuICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLnVpLmludmVydGVkLnRhYmxlID4gdHIgPiB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkSGVhZGVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEZvb3RlckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkRm9vdGVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRGb290ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCxcbiAgICAudWkuaW52ZXJ0ZWQudGFibGUgPiB0ciA+IHRkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRDZWxsQm9yZGVyQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRGlzYWJsZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkLFxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuZGlzYWJsZWQsXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZDpob3ZlciB0ZCxcbiAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZERpc2FibGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5kaXNhYmxlZDpub3QoW2NsYXNzPVwiZGlzYWJsZWRcIl0pLFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgdHIuZGlzYWJsZWQ6bm90KFtjbGFzcz1cImRpc2FibGVkXCJdKSB0ZCxcbiAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkW2NsYXNzXTpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkOm5vdChbY2xhc3M9XCJkaXNhYmxlZFwiXSkge1xuICAgICAgICAgICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZURlZmluaXRpb24pIHtcbiAgICAgICAgLyogRGVmaW5pdGlvbiAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290QHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0aGVhZEB7bm90RnVsbFdpZHRofSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGRlZmluaXRpb25QYWdlQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREZWZpbml0aW9uQ29sdW1uQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREZWZpbml0aW9uQ29sdW1uQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQ29sbGFwc2luZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sbGFwc2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbGxhcHNpbmcudGFibGUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQmFzaWMpIG9yIChAdmFyaWF0aW9uVGFibGVWZXJ5QmFzaWMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYmFzaWMudGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNUYWJsZUJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogQGJhc2ljVGFibGVCb3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGhlYWQsXG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAudWkuYmFzaWMudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAudWkuYmFzaWMudGFibGUgPiB0ciA+IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljVGFibGVIZWFkZXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItbGVmdDogQGJhc2ljVGFibGVIZWFkZXJEaXZpZGVyO1xuICAgIH1cbiAgICAudWkuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGJhc2ljVGFibGVDZWxsQm9yZGVyO1xuICAgIH1cbiAgICAudWkuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLFxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRyID4gdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNUYWJsZUNlbGxCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0cmlwZWQpIHtcbiAgICAgICAgLnVpLmJhc2ljLnN0cmlwZWQudGFibGUgPiB0Ym9keSA+IHRyOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhc2ljVGFibGVTdHJpcGVkQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVZlcnlCYXNpYykge1xuICAgICAgICAvKiBWZXJ5IEJhc2ljICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Zm9vdCA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Ym9keSA+IHRyID4gdGQge1xuICAgICAgICAgICAgcGFkZGluZzogQGJhc2ljVGFibGVDZWxsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVDZWxsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ2VsbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdHIgPiB0aCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdHIgPiB0ZCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICBib3JkZXItbGVmdDogQGNlbGxCb3JkZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpLmludmVydGVkLmNlbGxlZC50YWJsZSA+IHRyID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVBhZGRlZCkgb3IgKEB2YXJpYXRpb25UYWJsZVZlcnlQYWRkZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUGFkZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGFkZGVkLnRhYmxlID4gdHIgPiB0aCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFkZGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0ciA+IHRoLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0ciA+IHRkLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkZWRWZXJ0aWNhbFBhZGRpbmcgQHBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlVmVyeVBhZGRlZCkge1xuICAgICAgICAvKiBWZXJ5ICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdmVyeVBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQHZlcnlQYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0ciA+IHRkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAdmVyeVBhZGRlZFZlcnRpY2FsUGFkZGluZyBAdmVyeVBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUNvbXBhY3QpIG9yIChAdmFyaWF0aW9uVGFibGVWZXJ5Q29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tcGFjdC50YWJsZSA+IHRyID4gdGgsXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBjb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBjb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5jb21wYWN0LnRhYmxlID4gdHIgPiB0ZCxcbiAgICAudWkuY29tcGFjdC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgICAudWkuY29tcGFjdC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEBjb21wYWN0VmVydGljYWxQYWRkaW5nIEBjb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVWZXJ5Q29tcGFjdCkge1xuICAgICAgICAvKiBWZXJ5ICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHZlcnlDb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAdmVyeUNvbXBhY3RIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAdmVyeUNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgQHZlcnlDb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2spIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3R1Y2tcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zdHVjay50YWJsZUB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgYmFja2dyb3VuZDogQHN0dWNrQmFja2dyb3VuZDtcbiAgICAgICAgJiA+IHRoZWFkID4gdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHN0dWNrSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAmID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc3R1Y2tCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYgPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzdHVja0Zvb3RlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5iYXNpYyB3aGVuIChAdmFyaWF0aW9uVGFibGVCYXNpYykge1xuICAgICAgICAgICAgJiA+IHRoZWFkID4gdHIsXG4gICAgICAgICAgICA+IHRmb290ID4gdHIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzdHVja0JhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmludmVydGVkLnN0dWNrLnRhYmxlIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICYgPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0dWNrSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAmID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHVja0JhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHRmb290ID4gdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3R1Y2tGb290ZXJCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYuYmFzaWMgd2hlbiAoQHZhcmlhdGlvblRhYmxlQmFzaWMpIHtcbiAgICAgICAgICAgICYgPiB0aGVhZCA+IHRyLFxuICAgICAgICAgICAgPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHVja0JhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0hlYWQpIG9yIChAdmFyaWF0aW9uVGFibGVTdHVja0Zvb3QpIHtcbiAgICAgICAgLnVpLmhlYWQuc3R1Y2sudGFibGUgPiB0aGVhZCxcbiAgICAgICAgLnVpLmZvb3Quc3R1Y2sudGFibGUgPiB0Zm9vdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogQHN0dWNrWkluZGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5oZWFkLnN0dWNrLnRhYmxlIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrSGVhZCkge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAmID4gdGhlYWQge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgJiA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBjZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaW52ZXJ0ZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGggd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmZvb3Quc3R1Y2sudGFibGUgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2tGb290KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICYgPiB0Zm9vdCB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAmID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAgICAgICAgICAgPiB0cjpsYXN0LWNoaWxkID4gdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBjZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICYuaW52ZXJ0ZWQgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gICAgICAgICAgICAmLmludmVydGVkID4gdGZvb3QgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmZpcnN0LnN0dWNrLnRhYmxlIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrRmlyc3QpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICYgdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBjZWxsQm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAmLmludmVydGVkIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgJi5pbnZlcnRlZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkubGFzdC5zdHVjay50YWJsZSB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0xhc3QpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAmIHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgJi5pbnZlcnRlZCB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgJi5pbnZlcnRlZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVDZWxsZWQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0ZpcnN0KSB7XG4gICAgICAgICAgICAudWkuY2VsbGVkLmZpcnN0LnN0dWNrLnRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpLmNlbGxlZC5maXJzdC5zdHVjay50YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrTGFzdCkge1xuICAgICAgICAgICAgLnVpLmNlbGxlZC5sYXN0LnN0dWNrLnRhYmxlIHRoOmxhc3QtY2hpbGQsXG4gICAgICAgICAgICAudWkuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBjZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2tGaXJzdCkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmNlbGxlZC5maXJzdC5zdHVjay50YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGludmVydGVkQ2VsbEJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrTGFzdCkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQubGFzdC5zdHVjay50YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQubGFzdC5zdHVjay50YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTdGFuZGFyZCAqL1xuLnVpLnRhYmxlIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uVGFibGVTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uVGFibGVTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnRhYmxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFZhcmlhdGlvbnMgKi9cbi51aS50YWJsZSAuZml4ZWQge1xuICAgIG1pbi13aWR0aDogMTJlbTtcbn0iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBBZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJhZFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEFkdmVydGlzZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5hZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IEBvdmVyZmxvdztcbiAgICBtYXJnaW46IEBtYXJnaW47XG59XG5cbi51aS5hZDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udWkuYWQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udWkuYWQgaWZyYW1lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbW9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkFkTGVhZGVyYm9hcmQpIHtcbiAgICAvKiBMZWFkZXJib2FyZCAqL1xuICAgIC51aS5sZWFkZXJib2FyZC5hZCB7XG4gICAgICAgIHdpZHRoOiA3MjhweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRSZWN0YW5nbGUpIHtcbiAgICAvKiBNZWRpdW0gUmVjdGFuZ2xlICovXG4gICAgLnVpW2NsYXNzKj1cIm1lZGl1bSByZWN0YW5nbGVcIl0uYWQge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgfVxuXG4gICAgLyogTGFyZ2UgUmVjdGFuZ2xlICovXG4gICAgLnVpW2NsYXNzKj1cImxhcmdlIHJlY3RhbmdsZVwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAzMzZweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICB9XG5cbiAgICAvKiBIYWxmIFBhZ2UgKi9cbiAgICAudWlbY2xhc3MqPVwiaGFsZiBwYWdlXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRTcXVhcmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3F1YXJlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTcXVhcmUgKi9cbiAgICAudWkuc3F1YXJlLmFkIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIH1cblxuICAgIC8qIFNtYWxsIFNxdWFyZSAqL1xuICAgIC51aVtjbGFzcyo9XCJzbWFsbCBzcXVhcmVcIl0uYWQge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25BZFJlY3RhbmdsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJlY3RhbmdsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU21hbGwgUmVjdGFuZ2xlICovXG4gICAgLnVpW2NsYXNzKj1cInNtYWxsIHJlY3RhbmdsZVwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICB9XG5cbiAgICAvKiBWZXJ0aWNhbCBSZWN0YW5nbGUgKi9cbiAgICAudWlbY2xhc3MqPVwidmVydGljYWwgcmVjdGFuZ2xlXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRCdXR0b24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQnV0dG9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYnV0dG9uLmFkIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFkU3F1YXJlKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJzcXVhcmUgYnV0dG9uXCJdLmFkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInNtYWxsIGJ1dHRvblwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRTa3lzY3JhcGVyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTa3lzY3JhcGVyc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU2t5c2NyYXBlciAqL1xuICAgIC51aS5za3lzY3JhcGVyLmFkIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIH1cblxuICAgIC8qIFdpZGUgU2t5c2NyYXBlciAqL1xuICAgIC51aVtjbGFzcyo9XCJ3aWRlIHNreXNjcmFwZXJcIl0uYWQge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25BZEJhbm5lcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCYW5uZXJzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBCYW5uZXIgKi9cbiAgICAudWkuYmFubmVyLmFkIHtcbiAgICAgICAgd2lkdGg6IDQ2OHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgQmFubmVyICovXG4gICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsIGJhbm5lclwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICAvKiBUb3AgQmFubmVyICovXG4gICAgLnVpW2NsYXNzKj1cInRvcCBiYW5uZXJcIl0uYWQge1xuICAgICAgICB3aWR0aDogOTMwcHg7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgfVxuXG4gICAgLyogSGFsZiBCYW5uZXIgKi9cbiAgICAudWlbY2xhc3MqPVwiaGFsZiBiYW5uZXJcIl0uYWQge1xuICAgICAgICB3aWR0aDogMjM0cHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQm9hcmRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkFkTGVhZGVyYm9hcmQpIHtcbiAgICAvKiBMZWFkZXJib2FyZCAqL1xuICAgIC51aVtjbGFzcyo9XCJsYXJnZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRCaWxsYm9hcmQpIHtcbiAgICAvKiBCaWxsYm9hcmQgKi9cbiAgICAudWkuYmlsbGJvYXJkLmFkIHtcbiAgICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRQYW5vcmFtYSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhbm9yYW1hXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBQYW5vcmFtYSAqL1xuICAgIC51aS5wYW5vcmFtYS5hZCB7XG4gICAgICAgIHdpZHRoOiA5ODBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkTmV0Ym9hcmQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTmV0Ym9hcmRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE5ldGJvYXJkICovXG4gICAgLnVpLm5ldGJvYXJkLmFkIHtcbiAgICAgICAgd2lkdGg6IDU4MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRNb2JpbGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTW9iaWxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQWRCYW5uZXIpIHtcbiAgICAgICAgLyogTGFyZ2UgTW9iaWxlIEJhbm5lciAqL1xuICAgICAgICAudWlbY2xhc3MqPVwibGFyZ2UgbW9iaWxlIGJhbm5lclwiXS5hZCB7XG4gICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFkTGVhZGVyYm9hcmQpIHtcbiAgICAgICAgLyogTW9iaWxlIExlYWRlcmJvYXJkICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJtb2JpbGUgbGVhZGVyYm9hcmRcIl0uYWQge1xuICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICAgVHlwZXNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyogTW9iaWxlIFNpemVzICovXG4gICAgLnVpLm1vYmlsZS5hZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkubW9iaWxlLmFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25BZENlbnRlcmVkKSB7XG4gICAgLnVpLmNlbnRlcmVkLmFkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25BZFRlc3QpIHtcbiAgICAudWkudGVzdC5hZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogQHRlc3RCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkudGVzdC5hZDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjb250ZW50OiBAdGVzdFRleHQ7XG4gICAgICAgIGNvbG9yOiBAdGVzdENvbG9yO1xuICAgICAgICBmb250LXNpemU6IEB0ZXN0Rm9udFNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAdGVzdEZvbnRXZWlnaHQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFkTW9iaWxlKSB7XG4gICAgICAgIC51aS5tb2JpbGUudGVzdC5hZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAdGVzdE1vYmlsZUZvbnRTaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS50ZXN0LmFkW2RhdGEtdGV4dF06OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDYXJkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJjYXJkXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90UmFpc2VkOiBpZihAdmFyaWF0aW9uQ2FyZFJhaXNlZCwgZShcIjpub3QoLnJhaXNlZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDYXJkXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgbWluLWhlaWdodDogQG1pbkhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIHotaW5kZXg6IEB6SW5kZXg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLnVpLmNhcmQge1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgYSxcbi51aS5jYXJkIGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVpLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FyZHMge1xuICAgIGRpc3BsYXk6IEBncm91cERpc3BsYXk7XG4gICAgbWFyZ2luOiBAZ3JvdXBNYXJnaW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gICAgZGlzcGxheTogQGdyb3VwQ2FyZERpc3BsYXk7XG4gICAgbWFyZ2luOiBAZ3JvdXBDYXJkTWFyZ2luO1xuICAgIGZsb2F0OiBAZ3JvdXBDYXJkRmxvYXQ7XG59XG5cbi8qIENsZWFyaW5nICovXG4udWkuY2FyZHM6OmFmdGVyLFxuLnVpLmNhcmQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIENvbnNlY3V0aXZlIENhcmQgR3JvdXBzIFByZXNlcnZlIFJvdyBTcGFjaW5nICovXG4udWkuY2FyZHMgfiAudWkuY2FyZHMge1xuICAgIG1hcmdpbi10b3A6IEBjb25zZWN1dGl2ZUdyb3VwRGlzdGFuY2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFJvdW5kZWQgRWRnZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpmaXJzdC1jaGlsZCxcbi51aS5jYXJkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpvbmx5LWNoaWxkLFxuLnVpLmNhcmQgPiA6b25seS1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSW1hZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW1hZ2VzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSxcbiAgICAudWkuY2FyZCA+IC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiBAaW1hZ2VQYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW1hZ2VCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSA+IGltZyxcbiAgICAudWkuY2FyZCA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZTpub3QoLnVpKSA+IGltZyxcbiAgICAudWkuY2FyZCA+IC5pbWFnZTpub3QoLnVpKSA+IGltZyB7XG4gICAgICAgIGJvcmRlcjogQGltYWdlQm9yZGVyO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4udWkuY2FyZCA+IC5jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyOiBAY29udGVudEJvcmRlcjtcbiAgICBib3JkZXItdG9wOiBAY29udGVudERpdmlkZXI7XG4gICAgYmFja2dyb3VuZDogQGNvbnRlbnRCYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogQGNvbnRlbnRNYXJnaW47XG4gICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xuICAgIGJveC1zaGFkb3c6IEBjb250ZW50Qm94U2hhZG93O1xuICAgIGZvbnQtc2l6ZTogQGNvbnRlbnRGb250U2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiBAY29udGVudEJvcmRlclJhZGl1cztcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudDo6YWZ0ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSGVhZGVyKSB7XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIsXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICAgICAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnQ7XG4gICAgICAgIGNvbG9yOiBAaGVhZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6IEBoZWFkZXJGb250U2l6ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogQGhlYWRlckxpbmVIZWlnaHRPZmZzZXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmREZXNjcmlwdGlvbikge1xuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAubWV0YSArIC5kZXNjcmlwdGlvbixcbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciArIC5kZXNjcmlwdGlvbixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50ID4gLm1ldGEgKyAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBAZGVzY3JpcHRpb25EaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRGbG9hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkIENvbnRlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbiAgICAudWkuY2FyZCBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuICAgIC51aS5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbiAgICAudWkuY2FyZCBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLFxuICAgIC51aS5jYXJkIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4gICAgLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRJbWFnZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50IEltYWdlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCAuY29udGVudCBpbWcsXG4gICAgLnVpLmNhcmQgLmNvbnRlbnQgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGNvbnRlbnRJbWFnZVZlcnRpY2FsQWxpZ247XG4gICAgICAgIHdpZHRoOiBAY29udGVudEltYWdlV2lkdGg7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIGltZy5hdmF0YXIsXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLmF2YXRhciBpbWcsXG4gICAgLnVpLmNhcmQgaW1nLmF2YXRhcixcbiAgICAudWkuY2FyZCAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiBAYXZhdGFyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAYXZhdGFyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGF2YXRhckJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmREZXNjcmlwdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGVzY3JpcHRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb2xvcjogQGRlc2NyaXB0aW9uQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgcCxcbi51aS5jYXJkID4gLmNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgQHBhcmFncmFwaERpc3RhbmNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCBwOmxhc3QtY2hpbGQsXG4udWkuY2FyZCA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRNZXRhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNZXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCAubWV0YSxcbiAgICAudWkuY2FyZCAubWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQG1ldGFGb250U2l6ZTtcbiAgICAgICAgY29sb3I6IEBtZXRhQ29sb3I7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIC5tZXRhICosXG4gICAgLnVpLmNhcmQgLm1ldGEgKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQG1ldGFTcGFjaW5nO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCxcbiAgICAudWkuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkRmxvYXRlZCkge1xuICAgICAgICAudWkuY2FyZHMgPiAuY2FyZCAubWV0YSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbiAgICAgICAgLnVpLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBtZXRhU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogR2VuZXJpYyAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCBhOm5vdCgudWkpLFxuLnVpLmNhcmQgPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgICBjb2xvcjogQGNvbnRlbnRMaW5rQ29sb3I7XG4gICAgdHJhbnNpdGlvbjogQGNvbnRlbnRMaW5rVHJhbnNpdGlvbjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gICAgY29sb3I6IEBjb250ZW50TGlua0hvdmVyQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRIZWFkZXIpIHtcbiAgICAvKiBIZWFkZXIgKi9cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIsXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJMaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3ZlcixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGhlYWRlckxpbmtIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZE1ldGEpIHtcbiAgICAvKiBNZXRhICovXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpLFxuICAgIC51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAbWV0YUxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyLFxuICAgIC51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAbWV0YUxpbmtIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEJ1dHRvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCdXR0b25zXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b25zLFxuICAgIC51aS5jYXJkID4gLmJ1dHRvbnMsXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuYnV0dG9uLFxuICAgIC51aS5jYXJkID4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogQGJ1dHRvbk1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBidXR0b25XaWR0aDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC1AYm9yZGVyV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRCYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuY2FyZHNAe25vdFJhaXNlZH0gPiAuYmFzaWMuY2FyZEB7bm90UmFpc2VkfSxcbiAgICAudWkudWkudWkuYmFzaWMuY2FyZHNAe25vdFJhaXNlZH0gPiAuY2FyZEB7bm90UmFpc2VkfSxcbiAgICAudWkudWkudWkuYmFzaWMuY2FyZEB7bm90UmFpc2VkfSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICYgPiAuYnV0dG9ucyxcbiAgICAgICAgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgIC51aS51aS51aS51aS51aS5iYXNpYy5jYXJkQHtub3RSYWlzZWR9OmhvdmVyLFxuICAgICAgICAudWkudWkudWkudWkudWkuYmFzaWMuY2FyZHNAe25vdFJhaXNlZH0gLmNhcmRAe25vdFJhaXNlZH06aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYXJkcyA+IC5jYXJkIC5kaW1tZXIsXG4udWkuY2FyZCAuZGltbWVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAZGltbWVyQ29sb3I7XG4gICAgei1pbmRleDogQGRpbW1lclpJbmRleDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZFN0YXIpIHtcbiAgICAvKiAtLS0tLVN0YXItLS0tLSAqL1xuXG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25PcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBAYWN0aW9uVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uOmhvdmVyLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAc3RhckNvbG9yO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUuc3Rhci5pY29uLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5zdGFyLmljb24ge1xuICAgICAgICBjb2xvcjogQHN0YXJBY3RpdmVDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaWtlKSB7XG4gICAgLyogLS0tLS1MaWtlLS0tLS0gKi9cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiBAYWN0aW9uT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogQGFjdGlvblRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlcixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiBAYWN0aW9uSG92ZXJPcGFjaXR5O1xuICAgICAgICBjb2xvcjogQGxpa2VDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uIHtcbiAgICAgICAgY29sb3I6IEBsaWtlQWN0aXZlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRXh0cmEpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFeHRyYSBDb250ZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhLFxuICAgIC51aS5jYXJkID4gLmV4dHJhIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogQGV4dHJhRGl2aWRlciAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogQGV4dHJhUG9zaXRpb247XG4gICAgICAgIGJhY2tncm91bmQ6IEBleHRyYUJhY2tncm91bmQ7XG4gICAgICAgIHdpZHRoOiBAZXh0cmFXaWR0aDtcbiAgICAgICAgbWFyZ2luOiBAZXh0cmFNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBleHRyYVBhZGRpbmc7XG4gICAgICAgIHRvcDogQGV4dHJhVG9wO1xuICAgICAgICBsZWZ0OiBAZXh0cmFMZWZ0O1xuICAgICAgICBjb2xvcjogQGV4dHJhQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBleHRyYUJveFNoYWRvdztcbiAgICAgICAgdHJhbnNpdGlvbjogQGV4dHJhVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSxcbiAgICAudWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpIHtcbiAgICAgICAgY29sb3I6IEBleHRyYUxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlcixcbiAgICAudWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBleHRyYUxpbmtIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZERpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5jYXJkIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sb2FkaW5nLmNhcmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLmNhcmQ6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAbG9hZGVyRGltbWVyQ29sb3I7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIHotaW5kZXg6IEBsb2FkZXJEaW1tZXJaSW5kZXg7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLmNhcmQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgQGxvYWRlclNwZWVkIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGVyTGluZVpJbmRleDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRIb3Jpem9udGFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCxcbiAgICAudWkuY2FyZC5ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiBAaG9yaXpvbnRhbE1pbldpZHRoO1xuICAgICAgICB3aWR0aDogQGhvcml6b250YWxXaWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UsXG4gICAgLnVpLmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzIDAgMCBAZGVmYXVsdEJvcmRlclJhZGl1cztcbiAgICAgICAgd2lkdGg6IEBob3Jpem9udGFsSW1hZ2VXaWR0aDtcbiAgICB9XG5cbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmltYWdlID4gaW1nLFxuICAgIC51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGRlZmF1bHRCb3JkZXJSYWRpdXMgMCAwIEBkZWZhdWx0Qm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmltYWdlOmxhc3QtY2hpbGQgPiBpbWcsXG4gICAgLnVpLmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAZGVmYXVsdEJvcmRlclJhZGl1cyBAZGVmYXVsdEJvcmRlclJhZGl1cyAwO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4gICAgLnVpLmhvcml6b250YWwuY2FyZCA+IC5jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmV4dHJhLFxuICAgIC51aS5ob3Jpem9udGFsLmNhcmQgPiAuZXh0cmEge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZFJhaXNlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUmFpc2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyA+IC5yYWlzZWQuY2FyZCxcbiAgICAudWkucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4gICAgLnVpLnJhaXNlZC5jYXJkIHtcbiAgICAgICAgYm94LXNoYWRvdzogQHJhaXNlZFNoYWRvdztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZExpbmspIHtcbiAgICAgICAgLnVpLnJhaXNlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgIC51aS5saW5rLmNhcmRzIC5yYWlzZWQuY2FyZDpob3ZlcixcbiAgICAgICAgYS51aS5yYWlzZWQuY2FyZDpob3ZlcixcbiAgICAgICAgLnVpLmxpbmsucmFpc2VkLmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHJhaXNlZFNoYWRvd0hvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRCYXNpYykge1xuICAgICAgICAudWkuYmFzaWMuY2FyZHMgPiAucmFpc2VkLmNhcmQsXG4gICAgICAgIC51aS5iYXNpYy5yYWlzZWQuY2FyZHMgPiAuY2FyZCxcbiAgICAgICAgLnVpLnJhaXNlZC5jYXJkcyA+IC5iYXNpYy5jYXJkLFxuICAgICAgICAudWkuYmFzaWMucmFpc2VkLmNhcmQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljUmFpc2VkU2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgICAgICAudWkuYmFzaWMucmFpc2VkLmNhcmRzIGEuY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5saW5rLmNhcmRzIC5iYXNpYy5yYWlzZWQuY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLmNhcmRzIC5yYWlzZWQuY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLnJhaXNlZC5jYXJkcyAuY2FyZDpob3ZlcixcbiAgICAgICAgICAgIGEudWkuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5iYXNpYy5yYWlzZWQuY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljUmFpc2VkU2hhZG93SG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRDZW50ZXJlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2VudGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNlbnRlcmVkLmNhcmRzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5jZW50ZXJlZC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTk5OXB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZExpbmspIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyBhLmNhcmQsXG4gICAgLnVpLmxpbmsuY2FyZHMgLmNhcmQsXG4gICAgYS51aS5jYXJkLFxuICAgIC51aS5saW5rLmNhcmQge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLmNhcmRzIGEuY2FyZDpob3ZlcixcbiAgICAudWkubGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgIGEudWkuY2FyZDpob3ZlcixcbiAgICAudWkubGluay5jYXJkOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiBAbGlua0hvdmVyWkluZGV4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAbGlua0hvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiBAbGlua0hvdmVyQm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiBAbGlua0hvdmVyQm94U2hhZG93O1xuICAgICAgICB0cmFuc2Zvcm06IEBsaW5rSG92ZXJUcmFuc2Zvcm07XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkNhcmRDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkNhcmRDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGg6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBsaDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEhvdmVyXTtcbiAgICAgICAgQGlzVmVyeURhcms6IEBjb2xvcnNbQEBjb2xvcl1baXNWZXJ5RGFya107XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9LmNhcmRzID4gLmNhcmQsXG4gICAgICAgIC51aS5jYXJkcyA+IC5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAudWkuQHtjb2xvcn0uY2FyZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIEBib3JkZXJTaGFkb3csXG4gICAgICAgICAgICAgICAgMCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDAgMCBAYyxcbiAgICAgICAgICAgICAgICBAc2hhZG93Qm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgICAgICAudWkuY2FyZHMgYS5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmNhcmRzIGEuY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5saW5rLkB7Y29sb3J9LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5jYXJkcyAuQHtjb2xvcn0uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgYS51aS5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmxpbmsuQHtjb2xvcn0uY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAgICAgQGJvcmRlclNoYWRvdyxcbiAgICAgICAgICAgICAgICAgICAgMCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDAgMCBAaCxcbiAgICAgICAgICAgICAgICAgICAgQHNoYWRvd0hvdmVyQm94U2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRCYXNpYykge1xuICAgICAgICAgICAgLnVpLmNhcmRzID4gLmJhc2ljLkB7Y29sb3J9LmNhcmQsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uY2FyZHMgPiAuY2FyZCxcbiAgICAgICAgICAgIC51aS5iYXNpYy5jYXJkcyA+IC5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmNhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgJiAuaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICAuY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgLm1ldGEsXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZExpbmspIHtcbiAgICAgICAgICAgICAgICAudWkuYmFzaWMuY2FyZHMgYS5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5jYXJkcyBhLmJhc2ljLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmNhcmRzIGEuY2FyZDpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkubGluay5jYXJkcyAuYmFzaWMuQHtjb2xvcn0uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLkB7Y29sb3J9LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuYmFzaWMuY2FyZHMgLkB7Y29sb3J9LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgICAgICAgICBhLnVpLmJhc2ljLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuYmFzaWMuQHtjb2xvcn0uY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZHMgPiAuY2FyZCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmNhcmQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgICAgIDAgQHNoYWRvd0Rpc3RhbmNlIDNweCAwIEBzb2xpZFdoaXRlQm9yZGVyQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgIDAgQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwIDAgQGwsXG4gICAgICAgICAgICAgICAgICAgIDAgMCAwIEBib3JkZXJXaWR0aCBAc29saWRXaGl0ZUJvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZExpbmspIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgYS5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkubGluay5pbnZlcnRlZC5jYXJkcyAuQHtjb2xvcn0uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgIGEudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkubGluay5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgQHNoYWRvd0Rpc3RhbmNlIDNweCAwIEBzb2xpZFdoaXRlQm9yZGVyQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAwIEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMCAwIEBsaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIEBib3JkZXJXaWR0aCBAc29saWRXaGl0ZUJvcmRlckNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRCYXNpYykge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAgICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkcyA+IC5jYXJkLFxuICAgICAgICAgICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAgICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5Ae2NvbG9yfS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLmludmVydGVkLkB7Y29sb3J9LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5Ae2NvbG9yfS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIGEudWkuYmFzaWMuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRXF1YWxXaWR0aCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2FyZCBDb3VudFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm9uZS5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAb25lQ2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZE9mZnNldDtcbiAgICB9XG4gICAgLnVpLm9uZS5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBvbmVDYXJkO1xuICAgIH1cblxuICAgIC51aS50d28uY2FyZHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS50d28uY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnVpLnRocmVlLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICB9XG4gICAgLnVpLnRocmVlLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS5mb3VyLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5mb3VyLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQGZvdXJDYXJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZvdXJDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS5maXZlLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmaXZlQ2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZml2ZUNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5maXZlLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQGZpdmVDYXJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZpdmVDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZml2ZUNhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS5zaXguY2FyZHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogQHNpeENhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHNpeENhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5zaXguY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBAc2l4Q2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzaXhDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAc2l4Q2FyZFNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnVpLnNldmVuLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzZXZlbkNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHNldmVuQ2FyZE9mZnNldDtcbiAgICB9XG4gICAgLnVpLnNldmVuLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQHNldmVuQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzZXZlbkNhcmRTcGFjaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzZXZlbkNhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS5laWdodC5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZWlnaHRDYXJkT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBlaWdodENhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5laWdodC5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBlaWdodENhcmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZWlnaHRDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZWlnaHRDYXJkU3BhY2luZztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cblxuICAgIC51aS5uaW5lLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBuaW5lQ2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbmluZUNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5uaW5lLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQG5pbmVDYXJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogQG5pbmVDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbmluZUNhcmRTcGFjaW5nO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuXG4gICAgLnVpLnRlbi5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGVuQ2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGVuQ2FyZE9mZnNldDtcbiAgICB9XG4gICAgLnVpLnRlbi5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEB0ZW5DYXJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogQHRlbkNhcmRTcGFjaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0ZW5DYXJkU3BhY2luZztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmREb3VibGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEb3VibGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNb2JpbGUgT25seSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQG9uZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS50d28uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQG9uZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRocmVlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRocmVlLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29DYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNldmVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkudGVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVGFibGV0IE9ubHkgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQG9uZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS50d28uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQG9uZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRocmVlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRocmVlLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29DYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmb3VyQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS50ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBmaXZlQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGZpdmVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBmaXZlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmaXZlQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5jYXJkcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUuY2FyZHMgLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IEBzdGFja2FibGVSb3dTcGFjaW5nIEBzdGFja2FibGVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBAc3RhY2thYmxlTWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNhcmRzID4gLmNhcmQge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25DYXJkU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkNhcmRTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhcmQsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jYXJkcyAuY2FyZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkLFxuICAgIC51aS5pbnZlcnRlZC5jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIENvbnRlbnQgKi9cbiAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LFxuICAgIC51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRDb250ZW50RGl2aWRlcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkSGVhZGVyKSB7XG4gICAgICAgIC8qIEhlYWRlciAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcixcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcixcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJMaW5rQ29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyTGlua0hvdmVyQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkRGVzY3JpcHRpb24pIHtcbiAgICAgICAgLyogRGVzY3JpcHRpb24gKi9cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbixcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGVzY3JpcHRpb25Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRNZXRhKSB7XG4gICAgICAgIC8qIE1ldGEgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkIC5tZXRhIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZXRhQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSA+IGE6bm90KC51aSkge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFMaW5rQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFMaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRFeHRyYSkge1xuICAgICAgICAvKiBFeHRyYSAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSxcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuZXh0cmEge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkRXh0cmFEaXZpZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRXh0cmFDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRFeHRyYUxpbmtDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZXh0cmFMaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgIC8qIExpbmsgY2FyZChzKSAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICBhLmludmVydGVkLnVpLmNhcmQ6aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5saW5rLmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTGlua0hvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMb2FkaW5nKSB7XG4gICAgICAgIC8qIExvYWRpbmcgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmxvYWRpbmcuY2FyZCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTG9hZGVyTGluZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLmNhcmQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbG9hZGVySW52ZXJ0ZWREaW1tZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDb21tZW50XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJjb21tZW50XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY29tbWVudHMge1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBtYXgtd2lkdGg6IEBtYXhXaWR0aDtcbn1cblxuLnVpLmNvbW1lbnRzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmNvbW1lbnRzOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1lbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBAY29tbWVudEJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiBAY29tbWVudE1hcmdpbjtcbiAgICBwYWRkaW5nOiBAY29tbWVudFBhZGRpbmc7XG4gICAgYm9yZGVyOiBAY29tbWVudEJvcmRlcjtcbiAgICBib3JkZXItdG9wOiBAY29tbWVudERpdmlkZXI7XG4gICAgbGluZS1oZWlnaHQ6IEBjb21tZW50TGluZUhlaWdodDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogQGZpcnN0Q29tbWVudE1hcmdpbjtcbiAgICBwYWRkaW5nLXRvcDogQGZpcnN0Q29tbWVudFBhZGRpbmc7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTmVzdGVkIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIHtcbiAgICBtYXJnaW46IEBuZXN0ZWRDb21tZW50c01hcmdpbjtcbiAgICBwYWRkaW5nOiBAbmVzdGVkQ29tbWVudHNQYWRkaW5nO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyAuY29tbWVudCB7XG4gICAgYm9yZGVyOiBAbmVzdGVkQ29tbWVudEJvcmRlcjtcbiAgICBib3JkZXItdG9wOiBAbmVzdGVkQ29tbWVudERpdmlkZXI7XG4gICAgYmFja2dyb3VuZDogQG5lc3RlZENvbW1lbnRCYWNrZ3JvdW5kO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudEF2YXRhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBdmF0YXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAuYXZhdGFyIHtcbiAgICAgICAgZGlzcGxheTogQGF2YXRhckRpc3BsYXk7XG4gICAgICAgIHdpZHRoOiBAYXZhdGFyV2lkdGg7XG4gICAgICAgIGhlaWdodDogQGF2YXRhckhlaWdodDtcbiAgICAgICAgZmxvYXQ6IEBhdmF0YXJGbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAYXZhdGFyTWFyZ2luO1xuICAgIH1cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgaW1nLmF2YXRhcixcbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdmF0YXJCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudEF2YXRhcikge1xuICAgIC8qIElmIHRoZXJlIGlzIGFuIGF2YXRhciBtb3ZlIGNvbnRlbnQgb3ZlciAqL1xuICAgIC51aS5jb21tZW50cyAuY29tbWVudCA+IC5hdmF0YXIgfiAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAY29udGVudE1hcmdpbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRBdXRob3IpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQXV0aG9yXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLmF1dGhvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGF1dGhvckZvbnRTaXplO1xuICAgICAgICBjb2xvcjogQGF1dGhvckNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogQGF1dGhvckZvbnRXZWlnaHQ7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBhdXRob3JIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudE1ldGEpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTWV0YWRhdGFcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEge1xuICAgICAgICBkaXNwbGF5OiBAbWV0YWRhdGFEaXNwbGF5O1xuICAgICAgICBtYXJnaW4tbGVmdDogQG1ldGFkYXRhU3BhY2luZztcbiAgICAgICAgY29sb3I6IEBtZXRhZGF0YUNvbG9yO1xuICAgICAgICBmb250LXNpemU6IEBtZXRhZGF0YUZvbnRTaXplO1xuICAgIH1cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIEBtZXRhZGF0YUNvbnRlbnRTcGFjaW5nIDAgMDtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC50ZXh0IHtcbiAgICBtYXJnaW46IEB0ZXh0TWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogQHRleHRGb250U2l6ZTtcbiAgICB3b3JkLXdyYXA6IEB0ZXh0V29yZFdyYXA7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IEB0ZXh0TGluZUhlaWdodDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudEFjdGlvbnMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVXNlciBBY3Rpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMge1xuICAgICAgICBmb250LXNpemU6IEBhY3Rpb25Gb250U2l6ZTtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIEBhY3Rpb25Db250ZW50RGlzdGFuY2UgMCAwO1xuICAgICAgICBjb2xvcjogQGFjdGlvbkxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEuYWN0aXZlLFxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBhY3Rpb25MaW5rSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRSZXBseSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUmVwbHkgRm9ybVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbW1lbnRzID4gLnJlcGx5LmZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiBAcmVwbHlEaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5yZXBseS5mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IEBjb21tZW50UmVwbHlEaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5yZXBseS5mb3JtIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiBAcmVwbHlGb250U2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAcmVwbHlIZWlnaHQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50cyxcbi51aS5jb21tZW50cyAuY29sbGFwc2VkLmNvbW1lbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRUaHJlYWRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBUaHJlYWRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRocmVhZGVkLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIHtcbiAgICAgICAgbWFyZ2luOiBAdGhyZWFkZWRDb21tZW50TWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAdGhyZWFkZWRDb21tZW50UGFkZGluZztcbiAgICAgICAgYm94LXNoYWRvdzogQHRocmVhZGVkQ29tbWVudEJveFNoYWRvdztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRNaW5pbWFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIE1pbmltYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5taW5pbWFsLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IEBtaW5pbWFsQWN0aW9uUG9zaXRpb247XG4gICAgICAgIHRvcDogQG1pbmltYWxBY3Rpb25Ub3A7XG4gICAgICAgIHJpZ2h0OiBAbWluaW1hbEFjdGlvblJpZ2h0O1xuICAgICAgICBsZWZ0OiBAbWluaW1hbEFjdGlvbkxlZnQ7XG4gICAgICAgIHRyYW5zaXRpb246IEBtaW5pbWFsVHJhbnNpdGlvbjtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQG1pbmltYWxUcmFuc2l0aW9uRGVsYXk7XG4gICAgfVxuICAgIC51aS5taW5pbWFsLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbnRlbnQ6aG92ZXIgPiAuYWN0aW9ucyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY29tbWVudHMge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Db21tZW50U2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkNvbW1lbnRTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNvbW1lbnRzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudEludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLmF1dGhvcixcbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLnRleHQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEsXG4gICAgLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTGlnaHRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhLmFjdGl2ZSxcbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIb3ZlcmVkVGV4dENvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Db21tZW50VGhyZWFkZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnRocmVhZGVkLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIEBzb2xpZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25Db21tZW50RGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQuY29tbWVudHMsXG4gICAgLnVpLmNvbW1lbnRzIC5kaXNhYmxlZC5jb21tZW50IHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IEBkaXNhYmxlZFBvaW50ZXJFdmVudHM7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEZlZWRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcInZpZXdcIjtcbkBlbGVtZW50OiBcImZlZWRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RDb25uZWN0ZWQ6IGlmKEB2YXJpYXRpb25GZWVkQ29ubmVjdGVkLCBlKFwiOm5vdCguY29ubmVjdGVkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBY3Rpdml0eSBGZWVkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZmVlZCB7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xufVxuLnVpLmZlZWQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuZmVlZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRXZlbnQgKi9cbi51aS5mZWVkID4gLmV2ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IEBldmVudFdpZHRoO1xuICAgIHBhZGRpbmc6IEBldmVudFBhZGRpbmc7XG4gICAgbWFyZ2luOiBAZXZlbnRNYXJnaW47XG4gICAgYmFja2dyb3VuZDogQGV2ZW50QmFja2dyb3VuZDtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGV2ZW50RGl2aWRlcjtcbiAgICB9XG59XG4udWkuZmVlZEB7bm90Q29ubmVjdGVkfSA+IC5ldmVudDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG4udWkuZmVlZCA+IC5ldmVudDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsKSB7XG4gICAgLyogRXZlbnQgTGFiZWwgKi9cblxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogQGxhYmVsV2lkdGg7XG4gICAgICAgIGhlaWdodDogQGxhYmVsSGVpZ2h0O1xuICAgICAgICBhbGlnbi1zZWxmOiBAbGFiZWxBbGlnblNlbGY7XG4gICAgICAgIHRleHQtYWxpZ246IEBsYWJlbFRleHRBbGlnbjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWxJY29uKSB7XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIC5pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IEBpY29uTGFiZWxPcGFjaXR5O1xuICAgICAgICAgICAgZm9udC1zaXplOiBAaWNvbkxhYmVsU2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiBAaWNvbkxhYmVsV2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nOiBAaWNvbkxhYmVsUGFkZGluZztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpY29uTGFiZWxCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiBAaWNvbkxhYmVsQm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGljb25MYWJlbEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGNvbG9yOiBAaWNvbkxhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsSW1hZ2UpIHtcbiAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBAaW1hZ2VMYWJlbFdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiBAaW1hZ2VMYWJlbEhlaWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBpbWFnZUxhYmVsQm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRMYWJlbFRleHQpIHtcbiAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgPiAudGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEB0ZXh0TGFiZWxUb3BNYXJnaW47XG4gICAgICAgICAgICAmLnVpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdWlUZXh0TGFiZWxUb3BNYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm11bHRpbGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQG11bHRpbGluZVRleHRMYWJlbFRvcE1hcmdpbjtcbiAgICAgICAgICAgICAgICAmLnVpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHVpTXVsdGlsaW5lVGV4dExhYmVsVG9wTWFyZ2luO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWxVaUxhYmVsKSB7XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsID4gLnVpLmxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEB1aUxhYmVsVG9wTWFyZ2luO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogQHVpTGFiZWxaSW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCArIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiBAbGFiZWxlZENvbnRlbnRNYXJnaW47XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQ29udGVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgYWxpZ24tc2VsZjogQGNvbnRlbnRBbGlnblNlbGY7XG4gICAgdGV4dC1hbGlnbjogQGNvbnRlbnRUZXh0QWxpZ247XG4gICAgd29yZC13cmFwOiBAY29udGVudFdvcmRXcmFwO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCA+IC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogQGxhc3RMYWJlbGVkQ29udGVudFBhZGRpbmc7XG59XG5cbi8qIExpbmsgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgYSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkRGF0ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZGF0ZSB7XG4gICAgICAgIG1hcmdpbjogQGRhdGVNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBkYXRlUGFkZGluZztcbiAgICAgICAgY29sb3I6IEBkYXRlQ29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZGF0ZUZvbnRXZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQGRhdGVGb250U2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogQGRhdGVGb250U3R5bGU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkU3VtbWFyeSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdW1tYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luOiBAc3VtbWFyeU1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiBAc3VtbWFyeUZvbnRTaXplO1xuICAgICAgICBmb250LXdlaWdodDogQHN1bW1hcnlGb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQHN1bW1hcnlDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBTdW1tYXJ5IEltYWdlICovXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBAc3VtbWFyeUltYWdlV2lkdGg7XG4gICAgICAgIGhlaWdodDogQHN1bW1hcnlJbWFnZUhlaWdodDtcbiAgICAgICAgbWFyZ2luOiBAc3VtbWFyeUltYWdlTWFyZ2luO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc3VtbWFyeUltYWdlQm9yZGVyUmFkaXVzO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQHN1bW1hcnlJbWFnZVZlcnRpY2FsQWxpZ247XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWREYXRlKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIElubGluZSBEYXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgICAgIC8qIERhdGUgaW5zaWRlIFN1bW1hcnkgKi9cbiAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSA+IC5kYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IEBzdW1tYXJ5RGF0ZURpc3BsYXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogQHN1bW1hcnlEYXRlRm9udFdlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHN1bW1hcnlEYXRlRm9udFNpemU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBAc3VtbWFyeURhdGVGb250U3R5bGU7XG4gICAgICAgICAgICBtYXJnaW46IEBzdW1tYXJ5RGF0ZU1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBzdW1tYXJ5RGF0ZVBhZGRpbmc7XG4gICAgICAgICAgICBjb2xvcjogQHN1bW1hcnlEYXRlQ29sb3I7XG4gICAgICAgICAgICAmOm5vdCguZmxvYXRlZCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBAc3VtbWFyeURhdGVGbG9hdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRVc2VyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBVc2VyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogQHVzZXJGb250V2VpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB1c2VyRGlzdGFuY2U7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAudXNlciBpbWcge1xuICAgICAgICBtYXJnaW46IEB1c2VySW1hZ2VNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAdXNlckltYWdlV2lkdGg7XG4gICAgICAgIGhlaWdodDogQHVzZXJJbWFnZUhlaWdodDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEB1c2VySW1hZ2VWZXJ0aWNhbEFsaWduO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZEV4dHJhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEV4dHJhIFN1bW1hcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhIHtcbiAgICAgICAgbWFyZ2luOiBAZXh0cmFNYXJnaW47XG4gICAgICAgIGJhY2tncm91bmQ6IEBleHRyYUJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBleHRyYVBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiBAZXh0cmFDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBJbWFnZXMgKi9cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS5pbWFnZXMgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IEBleHRyYUltYWdlTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGV4dHJhSW1hZ2VXaWR0aDtcbiAgICB9XG5cbiAgICAvKiBUZXh0ICovXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IEBleHRyYVRleHRQYWRkaW5nO1xuICAgICAgICBib3JkZXItbGVmdDogQGV4dHJhVGV4dFBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogQGV4dHJhVGV4dEZvbnRTaXplO1xuICAgICAgICBtYXgtd2lkdGg6IEBleHRyYVRleHRNYXhXaWR0aDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBleHRyYVRleHRMaW5lSGVpZ2h0O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZE1ldGEpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE1ldGFcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEge1xuICAgICAgICBkaXNwbGF5OiBAbWV0YWRhdGFEaXNwbGF5O1xuICAgICAgICBmb250LXNpemU6IEBtZXRhZGF0YUZvbnRTaXplO1xuICAgICAgICBtYXJnaW46IEBtZXRhZGF0YU1hcmdpbjtcbiAgICAgICAgYmFja2dyb3VuZDogQG1ldGFkYXRhQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiBAbWV0YWRhdGFCb3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBtZXRhZGF0YUJvcmRlclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogQG1ldGFkYXRhQm94U2hhZG93O1xuICAgICAgICBwYWRkaW5nOiBAbWV0YWRhdGFQYWRkaW5nO1xuICAgICAgICBjb2xvcjogQG1ldGFkYXRhQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICoge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAbWV0YWRhdGFFbGVtZW50U3BhY2luZztcbiAgICB9XG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICo6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogQG1ldGFkYXRhRGl2aWRlcjtcbiAgICAgICAgY29sb3I6IEBtZXRhZGF0YURpdmlkZXJDb2xvcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBAbWV0YWRhdGFEaXZpZGVyT2Zmc2V0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZExpa2UpIHtcbiAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZSB7XG4gICAgICAgICAgICBjb2xvcjogQGxpa2VDb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IEBsaWtlVHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlOmhvdmVyIGkuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGxpa2VIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmFjdGl2ZS5saWtlIGkuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGxpa2VBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEZpcnN0IGVsZW1lbnQgKi9cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiA6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBBY3Rpb24gKi9cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGEsXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IGkuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogQG1ldGFkYXRhQWN0aW9uQ3Vyc29yO1xuICAgICAgICBvcGFjaXR5OiBAbWV0YWRhdGFBY3Rpb25PcGFjaXR5O1xuICAgICAgICBjb2xvcjogQG1ldGFkYXRhQWN0aW9uQ29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IEBtZXRhZGF0YUFjdGlvblRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3ZlcixcbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIgaS5pY29uLFxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb246aG92ZXIge1xuICAgICAgICBjb2xvcjogQG1ldGFkYXRhQWN0aW9uSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uRmVlZFJpZ2h0RmxvYXRlZCkge1xuICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAudWkuZmVlZCAucmlnaHQuZmxvYXRlZCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkQ29ubmVjdGVkKSB7XG4gICAgLnVpLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQGNvbm5lY3RlZEJvcmRlcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBsZWZ0OiBAY29ubmVjdGVkQm9yZGVyTGVmdE9mZnNldDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogQGNvbm5lY3RlZEJvcmRlclRvcE9mZnNldDtcbiAgICAgICAgICAgIGhlaWdodDogQGNvbm5lY3RlZEJvcmRlckhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmID4gLmxhYmVsIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWwpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBpbnZlcnRlZENvbm5lY3RlZEJvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4oQHZhcmlhdGlvbkZlZWREaXZpZGVkKSB7XG4gICAgLnVpLmRpdmlkZWQuZmVlZCA+IC5ldmVudDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBkaXZpZGVkQm9yZGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuZmVlZCA+IC5ldmVudCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBAaW52ZXJ0ZWREaXZpZGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSB7XG4gICAgLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWxbZGF0YS10ZXh0XTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRPcmRlcmVkKSBvciAoQHZhcmlhdGlvbkZlZWRMYWJlbFRleHQpIHtcbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbFtkYXRhLXRleHRdOjpiZWZvcmUsXG4gICAgLnVpLm9yZGVyZWQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgaGVpZ2h0OiBAb3JkZXJlZEhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogQG9yZGVyZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQG9yZGVyZWRDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQG9yZGVyZWRCb3JkZXJSYWRpdXM7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAb3JkZXJlZFRvcE9mZnNldDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQG9yZGVyZWRCb3R0b21NYXJnaW47XG4gICAgICAgIGJvcmRlcjogQG9yZGVyZWRCb3JkZXI7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZE9yZGVyZWQpIHtcbiAgICAudWkub3JkZXJlZC5mZWVkIHtcbiAgICAgICAgY291bnRlci1yZXNldDogQG9yZGVyZWRDb3VudE5hbWU7XG4gICAgICAgICYgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogQG9yZGVyZWRDb3VudE5hbWU7XG4gICAgICAgICAgICBjb250ZW50OiBAb3JkZXJlZENvdW50Q29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkQmFzaWMpIHtcbiAgICAgICAgLnVpLm9yZGVyZWQuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlLFxuICAgICAgICAudWkub3JkZXJlZC5mZWVkID4gLmV2ZW50ID4gLmJhc2ljLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAb3JkZXJlZEJhc2ljQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQG9yZGVyZWRCYXNpY0NvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQG9yZGVyZWRCYXNpY0JhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZENvbm5lY3RlZCkge1xuICAgICAgICAudWkub3JkZXJlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogQG9yZGVyZWRDb25uZWN0ZWRCb3JkZXJUb3BPZmZzZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IEBvcmRlcmVkQ29ubmVjdGVkQm9yZGVySGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogd29ya2Fyb3VuZCB1bnRpbCBhbGwgYnJvd3NlcnMgc3VwcG9ydCA6aGFzKCkgKi9cbiAgICAgICAgLnVpLmNvbm5lY3RlZC5sYWJlbGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbiAgICAgICAgLnVpLmNvbm5lY3RlZC5mZWVkID4gLmxhYmVsZWQuZXZlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IEBvcmRlcmVkQ29ubmVjdGVkTGFiZWxlZEJvcmRlclRvcE9mZnNldDtcbiAgICAgICAgICAgIGhlaWdodDogQG9yZGVyZWRDb25uZWN0ZWRMYWJlbGVkQm9yZGVySGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZENvbm5lY3RlZCkgYW5kICgoQHZhcmlhdGlvbkZlZWRPcmRlcmVkKSBvciAoQHZhcmlhdGlvbkZlZWRMYWJlbFRleHQpKSB7XG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgIC51aS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDpoYXMoPiAubGFiZWxbZGF0YS10ZXh0XSA+ICopOjpiZWZvcmUsXG4gICAgICAgIC51aS5vcmRlcmVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50Omhhcyg+IC5sYWJlbCA+ICopOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiBAb3JkZXJlZENvbm5lY3RlZExhYmVsZWRCb3JkZXJUb3BPZmZzZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IEBvcmRlcmVkQ29ubmVjdGVkTGFiZWxlZEJvcmRlckhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLmZlZWQge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25GZWVkU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkZlZWRTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmZlZWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsYWNrO1xuICAgICAgICAmID4gLmxhYmVsIGkuaWNvbiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsSWNvbikge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEljb25MYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYgPiAubGFiZWwgLnRleHQ6bm90KC51aSkgd2hlbiAoQHZhcmlhdGlvbkZlZWRMYWJlbFRleHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0TGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWREYXRlKSBvciAoQHZhcmlhdGlvbkZlZWRMaWtlKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmRhdGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2Uge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpa2VDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRTdW1tYXJ5KSBvciAoQHZhcmlhdGlvbkZlZWRFeHRyYSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5LFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkTGlrZSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaWtlSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5hY3RpdmUubGlrZSBpLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpa2VBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFjdGlvbiAqL1xuICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYSxcbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gaS5pY29uIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFkYXRhQWN0aW9uQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIgaS5pY29uLFxuICAgIC51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb246aG92ZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTWV0YWRhdGFBY3Rpb25Ib3ZlckNvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25GZWVkQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25GZWVkQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkT3JkZXJlZCkgb3IgKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSB7XG4gICAgICAgICAgICAudWkudWkuZmVlZCA+IC5ldmVudCA+IC5Ae2NvbG9yfS5sYWJlbDo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZENvbm5lY3RlZCkge1xuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuY29ubmVjdGVkLmZlZWQgPiAuQHtjb2xvcn0uZXZlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5Ae2NvbG9yfS5ldmVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZEJhc2ljKSB7XG4gICAgICAgICAgICAudWkudWkuZmVlZCA+IC5ldmVudCA+IC5Ae2NvbG9yfS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuQHtjb2xvcn0ubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZEJhc2ljKSB7XG4gICAgICAgICAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZEJhc2ljKSB7XG4gICAgLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYmFzaWMubGFiZWw6OmJlZm9yZSxcbiAgICAudWkudWkudWkuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQG9yZGVyZWRCYXNpY0JhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWREaXNhYmxlZCkge1xuICAgIC51aS5kaXNhYmxlZC5mZWVkLFxuICAgIC51aS5mZWVkIC5kaXNhYmxlZC5ldmVudCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAZGlzYWJsZWRQb2ludGVyRXZlbnRzO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBJdGVtXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJpdGVtXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90VW5zdGFja2FibGU6IGlmKEB2YXJpYXRpb25JdGVtVW5zdGFja2FibGUsIGUoXCI6bm90KC51bnN0YWNrYWJsZSlcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLml0ZW1zID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xuICAgIG1hcmdpbjogQGl0ZW1TcGFjaW5nIDA7XG4gICAgd2lkdGg6IEB3aWR0aDtcbiAgICBtaW4taGVpZ2h0OiBAbWluSGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgei1pbmRleDogQHpJbmRleDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1zXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLml0ZW1zIHtcbiAgICBtYXJnaW46IEBncm91cE1hcmdpbjtcbn1cblxuLnVpLml0ZW1zOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4udWkuaXRlbXM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pdGVtcyA+IC5pdGVtOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLml0ZW1zID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuaXRlbXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtSW1hZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW1hZ2VzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IEBpbWFnZURpc3BsYXk7XG4gICAgICAgIGZsb2F0OiBAaW1hZ2VGbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAaW1hZ2VNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBpbWFnZVBhZGRpbmc7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBpbWFnZU1heEhlaWdodDtcbiAgICAgICAgYWxpZ24tc2VsZjogQGltYWdlVmVydGljYWxBbGlnbjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGltYWdlQm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXI6IEBpbWFnZUJvcmRlcjtcbiAgICB9XG5cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZTpvbmx5LWNoaWxkID4gaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBAY29udGVudEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBjb250ZW50Q29sb3I7XG4gICAgbWFyZ2luOiBAY29udGVudE1hcmdpbjtcbiAgICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmc7XG4gICAgYm94LXNoYWRvdzogQGNvbnRlbnRCb3hTaGFkb3c7XG4gICAgZm9udC1zaXplOiBAY29udGVudEZvbnRTaXplO1xuICAgIGJvcmRlcjogQGNvbnRlbnRCb3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogQGNvbnRlbnRCb3JkZXJSYWRpdXM7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IEBjb250ZW50V2lkdGg7XG4gICAgZGlzcGxheTogQGNvbnRlbnREaXNwbGF5O1xuICAgIG1hcmdpbi1sZWZ0OiBAY29udGVudE9mZnNldDtcbiAgICBhbGlnbi1zZWxmOiBAY29udGVudFZlcnRpY2FsQWxpZ247XG4gICAgcGFkZGluZy1sZWZ0OiBAY29udGVudEltYWdlRGlzdGFuY2U7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1IZWFkZXIpIHtcbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICAgICAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IEhlYWRlciBTaXplICovXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5oZWFkZXI6bm90KC51aSkge1xuICAgICAgICBmb250LXNpemU6IEBoZWFkZXJGb250U2l6ZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1GbG9hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pdGVtcyA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtSW1hZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudCBJbWFnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLmNvbnRlbnQgaW1nIHtcbiAgICAgICAgYWxpZ24tc2VsZjogQGNvbnRlbnRJbWFnZVZlcnRpY2FsQWxpZ247XG4gICAgICAgIHdpZHRoOiBAY29udGVudEltYWdlV2lkdGg7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIGltZy5hdmF0YXIsXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogQGF2YXRhclNpemU7XG4gICAgICAgIGhlaWdodDogQGF2YXRhclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdmF0YXJCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRGVzY3JpcHRpb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIERlc2NyaXB0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGRlc2NyaXB0aW9uRGlzdGFuY2U7XG4gICAgICAgIG1heC13aWR0aDogQGRlc2NyaXB0aW9uTWF4V2lkdGg7XG4gICAgICAgIGZvbnQtc2l6ZTogQGRlc2NyaXB0aW9uRm9udFNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAZGVzY3JpcHRpb25MaW5lSGVpZ2h0O1xuICAgICAgICBjb2xvcjogQGRlc2NyaXB0aW9uQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgQHBhcmFncmFwaERpc3RhbmNlO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1NZXRhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNZXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaXRlbXMgPiAuaXRlbSAubWV0YSB7XG4gICAgICAgIG1hcmdpbjogQG1ldGFNYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogQG1ldGFGb250U2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBtZXRhTGluZUhlaWdodDtcbiAgICAgICAgY29sb3I6IEBtZXRhQ29sb3I7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5tZXRhICoge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBtZXRhU3BhY2luZztcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUZsb2F0ZWQpIHtcbiAgICAgICAgLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBtZXRhU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogR2VuZXJpYyAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgICBjb2xvcjogQGNvbnRlbnRMaW5rQ29sb3I7XG4gICAgdHJhbnNpdGlvbjogQGNvbnRlbnRMaW5rVHJhbnNpdGlvbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gICAgY29sb3I6IEBjb250ZW50TGlua0hvdmVyQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1IZWFkZXIpIHtcbiAgICAvKiBIZWFkZXIgKi9cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGhlYWRlckxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJMaW5rSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1NZXRhKSB7XG4gICAgLyogTWV0YSAqL1xuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAbWV0YUxpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBtZXRhTGlua0hvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLVN0YXItLS0tLSAqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRmF2b3JpdGUpIHtcbiAgICAvKiBJY29uICovXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogQGFjdGlvbk9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb246IEBhY3Rpb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogQGFjdGlvbkhvdmVyT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBmYXZvcml0ZUNvbG9yO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUuZmF2b3JpdGUuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAZmF2b3JpdGVBY3RpdmVDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1MaWtlKSB7XG4gICAgLyogLS0tLS1MaWtlLS0tLS0gKi9cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25PcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBAYWN0aW9uVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogQGFjdGlvbkhvdmVyT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBsaWtlQ29sb3I7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICAgICAgICBjb2xvcjogQGxpa2VBY3RpdmVDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1FeHRyYSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEV4dHJhIENvbnRlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgICAgICAgZGlzcGxheTogQGV4dHJhRGlzcGxheTtcbiAgICAgICAgcG9zaXRpb246IEBleHRyYVBvc2l0aW9uO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZXh0cmFCYWNrZ3JvdW5kO1xuICAgICAgICBtYXJnaW46IEBleHRyYU1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBleHRyYVdpZHRoO1xuICAgICAgICBwYWRkaW5nOiBAZXh0cmFQYWRkaW5nO1xuICAgICAgICB0b3A6IEBleHRyYVRvcDtcbiAgICAgICAgbGVmdDogQGV4dHJhTGVmdDtcbiAgICAgICAgY29sb3I6IEBleHRyYUNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAZXh0cmFCb3hTaGFkb3c7XG4gICAgICAgIHRyYW5zaXRpb246IEBleHRyYVRyYW5zaXRpb247XG4gICAgICAgIGJvcmRlci10b3A6IEBleHRyYURpdmlkZXI7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5leHRyYSA+ICoge1xuICAgICAgICBtYXJnaW46IChAZXh0cmFSb3dTcGFjaW5nIC8gMikgQGV4dHJhSG9yaXpvbnRhbFNwYWNpbmcgKEBleHRyYVJvd1NwYWNpbmcgLyAyKSAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRmxvYXRlZCkge1xuICAgICAgICAudWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gICAgICAgICAgICBtYXJnaW46IChAZXh0cmFSb3dTcGFjaW5nIC8gMikgMCAoQGV4dHJhUm93U3BhY2luZyAvIDIpIEBleHRyYUhvcml6b250YWxTcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBSZXNwb25zaXZlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEZWZhdWx0IEltYWdlIFdpZHRoICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZTpub3QoLnVpKSB7XG4gICAgd2lkdGg6IEBpbWFnZVdpZHRoO1xufVxuXG4vKiBUYWJsZXQgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgLnVpLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICBtYXJnaW46IEB0YWJsZXRJdGVtU3BhY2luZyAwO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZTpub3QoLnVpKSB7XG4gICAgICAgIHdpZHRoOiBAdGFibGV0SW1hZ2VXaWR0aDtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBAdGFibGV0Q29udGVudEltYWdlRGlzdGFuY2U7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS5pdGVtc0B7bm90VW5zdGFja2FibGV9ID4gLml0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW46IEBtb2JpbGVJdGVtU3BhY2luZyAwO1xuICAgIH1cbiAgICAudWkuaXRlbXNAe25vdFVuc3RhY2thYmxlfSA+IC5pdGVtID4gLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aS5pdGVtc0B7bm90VW5zdGFja2FibGV9ID4gLml0ZW0gPiAuaW1hZ2UsXG4gICAgLnVpLml0ZW1zQHtub3RVbnN0YWNrYWJsZX0gPiAuaXRlbSA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogQG1vYmlsZUltYWdlV2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogQG1vYmlsZUltYWdlTWF4SGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5pdGVtc0B7bm90VW5zdGFja2FibGV9ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiBAbW9iaWxlQ29udGVudEltYWdlRGlzdGFuY2UgMCAwO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbUFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uY29udGVudCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1SZWxheGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJlbGF4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZWxheGVkLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICBtYXJnaW46IEByZWxheGVkSXRlbVNwYWNpbmcgMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbVZlcnlSZWxheGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uaXRlbXMgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IEB2ZXJ5UmVsYXhlZEl0ZW1TcGFjaW5nIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1EaXZpZGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIERpdmlkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBkaXZpZGVkQm9yZGVyO1xuICAgICAgICBtYXJnaW46IEBkaXZpZGVkTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAZGl2aWRlZFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiBAZGl2aWRlZEZpcnN0TGFzdE1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogQGRpdmlkZWRGaXJzdExhc3RQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBkaXZpZGVkRmlyc3RMYXN0TWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAZGl2aWRlZEZpcnN0TGFzdFBhZGRpbmcgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbVJlbGF4ZWQpIHtcbiAgICAgICAgLyogUmVsYXhlZCBEaXZpZGVkICovXG4gICAgICAgIC51aS5yZWxheGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiBAcmVsYXhlZEl0ZW1TcGFjaW5nIDA7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbVZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEB2ZXJ5UmVsYXhlZEl0ZW1TcGFjaW5nIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1MaW5rKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaXRlbXMgYS5pdGVtOmhvdmVyLFxuICAgIC51aS5saW5rLml0ZW1zID4gLml0ZW06aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUhlYWRlcikge1xuICAgICAgICAudWkuaXRlbXMgYS5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIsXG4gICAgICAgIC51aS5saW5rLml0ZW1zID4gLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGhlYWRlckxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25JdGVtU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkl0ZW1TaXplcywge1xuICAgICAgICBAczogQHt2YWx1ZX1JdGVtU2l6ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9Lml0ZW1zID4gLml0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbVVuc3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVW5zdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS51bnN0YWNrYWJsZS5pdGVtcyA+IC5pdGVtID4gLmltYWdlLFxuICAgICAgICAudWkudW5zdGFja2FibGUuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogQHVuc3RhY2thYmxlTW9iaWxlSW1hZ2VXaWR0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZENvbnRlbnRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29udGVudENvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRXh0cmEpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEV4dHJhQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtSGVhZGVyKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRGVzY3JpcHRpb24pIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGVzY3JpcHRpb25Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtTWV0YSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSAubWV0YSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTWV0YUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRDb250ZW50TGlua0NvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29udGVudExpbmtIb3ZlckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtSGVhZGVyKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyTGlua0NvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyTGlua0hvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbU1ldGEpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZXRhTGlua0NvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTWV0YUxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1GYXZvcml0ZSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRGYXZvcml0ZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5mYXZvcml0ZS5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRGYXZvcml0ZUFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1MaWtlKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTGlrZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpa2VBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRXh0cmEpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRFeHRyYUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1IZWFkZXIpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zIGEuaXRlbTpob3ZlciAuY29udGVudCAuaGVhZGVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1EaXZpZGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkRGl2aWRlZEJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQuaXRlbXMsXG4gICAgLnVpLml0ZW1zID4gLmRpc2FibGVkLml0ZW0ge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGRpc2FibGVkUG9pbnRlckV2ZW50cztcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU3RhdGlzdGljXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJzdGF0aXN0aWNcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YXRpc3RpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU3RhbmRhbG9uZSAqL1xuLnVpLnN0YXRpc3RpYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IEBtYXJnaW47XG4gICAgbWF4LXdpZHRoOiBAbWF4V2lkdGg7XG59XG5cbi51aS5zdGF0aXN0aWMgKyAudWkuc3RhdGlzdGljIHtcbiAgICBtYXJnaW46IDAgMCAwIEBob3Jpem9udGFsU3BhY2luZztcbn1cblxuLnVpLnN0YXRpc3RpYzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyb3VwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBHcm91cGVkICovXG4udWkuc3RhdGlzdGljcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udWkuc3RhdGlzdGljcyA+IC5zdGF0aXN0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBAZWxlbWVudE1hcmdpbjtcbiAgICBtYXgtd2lkdGg6IEBlbGVtZW50TWF4V2lkdGg7XG59XG4udWkuc3RhdGlzdGljcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IEBncm91cE1hcmdpbjtcbn1cblxuLyogQ2xlYXJpbmcgKi9cbi51aS5zdGF0aXN0aWNzOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuc3RhdGlzdGljczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgICBmb250LWZhbWlseTogQHZhbHVlRm9udDtcbiAgICBmb250LXNpemU6IEB2YWx1ZVNpemU7XG4gICAgZm9udC13ZWlnaHQ6IEB2YWx1ZUZvbnRXZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEB2YWx1ZUxpbmVIZWlnaHQ7XG4gICAgY29sb3I6IEB2YWx1ZUNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAdmFsdWVUZXh0VHJhbnNmb3JtO1xuICAgIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBAbGFiZWxGb250O1xuICAgIGZvbnQtc2l6ZTogQGxhYmVsU2l6ZTtcbiAgICBmb250LXdlaWdodDogQGxhYmVsRm9udFdlaWdodDtcbiAgICBjb2xvcjogQGxhYmVsQ29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBsYWJlbFRleHRUcmFuc2Zvcm07XG4gICAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbn1cblxuLyogVG9wIExhYmVsICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsIH4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSB7XG4gICAgbWFyZ2luLXRvcDogQHRvcExhYmVsRGlzdGFuY2U7XG59XG5cbi8qIEJvdHRvbSBMYWJlbCAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSB+IC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUgfiAubGFiZWwge1xuICAgIG1hcmdpbi10b3A6IEBib3R0b21MYWJlbERpc3RhbmNlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgSWNvbiBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24sXG4udWkuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFRleHQgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICAgIGxpbmUtaGVpZ2h0OiBAdGV4dFZhbHVlTGluZUhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiBAdGV4dFZhbHVlTWluSGVpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBAdGV4dFZhbHVlRm9udFdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUgKyAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUgKyAubGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEltYWdlIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIGltZyB7XG4gICAgbWF4LWhlaWdodDogQGltYWdlSGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VWZXJ0aWNhbEFsaWduO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvdW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RhdGlzdGljRXF1YWxXaWR0aCkge1xuICAgIC51aS50ZW4uc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnRlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEB0ZW5Db2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLm5pbmUuc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLm5pbmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAbmluZUNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZWlnaHQuc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmVpZ2h0LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQGVpZ2h0Q29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5zZXZlbi5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkuc2V2ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAc2V2ZW5Db2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLnNpeC5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkuc2l4LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQHNpeENvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZml2ZS5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkuZml2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEBmaXZlQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5mb3VyLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS5mb3VyLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQGZvdXJDb2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLnRocmVlLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS50aHJlZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEB0aHJlZUNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkudHdvLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS50d28uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAdHdvQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5vbmUuc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLm9uZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEBvbmVDb2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGF0aXN0aWNGbHVpZCkge1xuICAgIC51aS5mbHVpZC5zdGF0aXN0aWMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY0hvcml6b250YWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3Mge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IEBob3Jpem9udGFsR3JvdXBFbGVtZW50TWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSA+IGkuaWNvbixcbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24ge1xuICAgICAgICB3aWR0aDogQGljb25XaWR0aDtcbiAgICB9XG5cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBob3Jpem9udGFsTGFiZWxEaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY0ludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgLnVpLmludmVydGVkLnN0YXRpc3RpYyAudmFsdWUge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVmFsdWVDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuc3RhdGlzdGljIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMYWJlbENvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TdGF0aXN0aWNDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblN0YXRpc3RpY0NvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbiAgICAgICAgLnVpLnN0YXRpc3RpY3MgLkB7Y29sb3J9LnN0YXRpc3RpYyA+IC52YWx1ZSxcbiAgICAgICAgLnVpLkB7Y29sb3J9LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU3RhdGlzdGljSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgICAgICAgICAudWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuQHtjb2xvcn0uc3RhdGlzdGljID4gLnZhbHVlLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY0Zsb2F0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLnN0YXRpc3RpYyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IEBsZWZ0RmxvYXRlZE1hcmdpbjtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IEByaWdodEZsb2F0ZWRNYXJnaW47XG4gICAgfVxuICAgIC51aS5mbG9hdGVkLnN0YXRpc3RpYzpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY1N0YWNrYWJsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkuc3RhY2thYmxlLnN0YXRpc3RpY3Mge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAoQHN0YWNrYWJsZVJvd1NwYWNpbmcgLyAyKSAoQHN0YWNrYWJsZUd1dHRlciAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTWVkaXVtICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgZm9udC1zaXplOiBAdmFsdWVTaXplO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgICBmb250LXNpemU6IEBob3Jpem9udGFsVmFsdWVTaXplO1xufVxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgICBmb250LXNpemU6IEB0ZXh0VmFsdWVTaXplO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblN0YXRpc3RpY1NpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TdGF0aXN0aWNTaXplcywge1xuICAgICAgICBAczogQHt2YWx1ZX1WYWx1ZVNpemU7XG4gICAgICAgIEBoczogQHt2YWx1ZX1Ib3Jpem9udGFsVmFsdWVTaXplO1xuICAgICAgICBAdHM6IEB7dmFsdWV9VGV4dFZhbHVlU2l6ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAcztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0uaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAaHM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuICAgICAgICAudWkuQHt2YWx1ZX0uc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHRzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQWNjb3JkaW9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImFjY29yZGlvblwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFN0eWxlZDogaWYoQHZhcmlhdGlvbkFjY29yZGlvblN0eWxlZCwgZShcIjpub3QoLnN0eWxlZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQWNjb3JkaW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWNjb3JkaW9uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICAgIG1hcmdpbjogQGNoaWxkQWNjb3JkaW9uTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBjaGlsZEFjY29yZGlvblBhZGRpbmc7XG59XG5cbi8qIFRpdGxlICovXG4udWkuYWNjb3JkaW9uLm1lbnUgLml0ZW0gPiAudGl0bGUsXG4udWkuYWNjb3JkaW9uID4gLnRpdGxlLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogQHRpdGxlUGFkZGluZztcbiAgICBmb250LWZhbWlseTogQHRpdGxlRm9udDtcbiAgICBmb250LXNpemU6IEB0aXRsZUZvbnRTaXplO1xuICAgIGNvbG9yOiBAdGl0bGVDb2xvcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiBAdGl0bGVMaW5lSGVpZ2h0O1xufVxuXG4vKiBEZWZhdWx0IFN0eWxpbmcgKi9cbi51aS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLnRpdGxlIH4gLmNvbnRlbnQsXG4udWkuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICAgIG1hcmdpbjogQGNvbnRlbnRNYXJnaW47XG4gICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xufVxuLnVpLmFjY29yZGlvbkB7bm90U3R5bGVkfSAudGl0bGUgfiAuY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyogQXJyb3cgKi9cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgZGlzcGxheTogQGljb25EaXNwbGF5O1xuICAgIGZsb2F0OiBAaWNvbkZsb2F0O1xuICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICB3aWR0aDogQGljb25XaWR0aDtcbiAgICBoZWlnaHQ6IEBpY29uSGVpZ2h0O1xuICAgIG1hcmdpbjogQGljb25NYXJnaW47XG4gICAgcGFkZGluZzogQGljb25QYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogQGljb25Gb250U2l6ZTtcbiAgICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gICAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbiAgICB0cmFuc2Zvcm06IEBpY29uVHJhbnNmb3JtO1xuICAgICYucmlnaHQgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvblJpZ2h0RHJvcGRvd24pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IEBpY29uVHJhbnNmb3JtUmlnaHQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTWVudSAqL1xuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogQG1lbnVUaXRsZVBhZGRpbmc7XG59XG4udWkuYWNjb3JkaW9uLm1lbnUgLml0ZW0gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICAgIGZsb2F0OiBAbWVudUljb25GbG9hdDtcbiAgICBtYXJnaW46IEBtZW51SWNvbk1hcmdpbjtcbiAgICB0cmFuc2Zvcm06IEBtZW51SWNvblRyYW5zZm9ybTtcbn1cblxuLyogSGVhZGVyICovXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgZm9udC1zaXplOiBAaWNvbkZvbnRTaXplO1xuICAgIG1hcmdpbjogQGljb25NYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgICB0cmFuc2Zvcm06IEBhY3RpdmVJY29uVHJhbnNmb3JtO1xufVxuXG4udWkuYWNjb3JkaW9uLm1lbnUgLml0ZW0gLmFjdGl2ZS50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgICB0cmFuc2Zvcm06IEBhY3RpdmVJY29uVHJhbnNmb3JtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvblN0eWxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdHlsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIHtcbiAgICAgICAgd2lkdGg6IEBzdHlsZWRXaWR0aDtcbiAgICB9XG5cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbixcbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHN0eWxlZEJvcmRlclJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogQHN0eWxlZEJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzdHlsZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBtYXJnaW46IEBzdHlsZWRUaXRsZU1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogQHN0eWxlZFRpdGxlUGFkZGluZztcbiAgICAgICAgY29sb3I6IEBzdHlsZWRUaXRsZUNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogQHN0eWxlZFRpdGxlRm9udFdlaWdodDtcbiAgICAgICAgYm9yZGVyLXRvcDogQHN0eWxlZFRpdGxlQm9yZGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBAc3R5bGVkVGl0bGVUcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpmaXJzdC1jaGlsZCxcbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDb250ZW50ICovXG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogQHN0eWxlZENvbnRlbnRNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBzdHlsZWRDb250ZW50UGFkZGluZztcbiAgICB9XG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiBAc3R5bGVkQ2hpbGRDb250ZW50TWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAc3R5bGVkQ2hpbGRDb250ZW50UGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBIb3ZlciAqL1xuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHN0eWxlZFRpdGxlSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHN0eWxlZFRpdGxlSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdHlsZWRIb3ZlckNoaWxkVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHN0eWxlZEhvdmVyQ2hpbGRUaXRsZUNvbG9yO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSAqL1xuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc3R5bGVkQWN0aXZlVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHN0eWxlZEFjdGl2ZVRpdGxlQ29sb3I7XG4gICAgfVxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHN0eWxlZEFjdGl2ZUNoaWxkVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHN0eWxlZEFjdGl2ZUNoaWxkVGl0bGVDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvbkNvbXBhY3QpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRGVmYXVsdCBTdHlsaW5nICovXG5cbiAgICAudWkuY29tcGFjdC5hY2NvcmRpb25Ae25vdFN0eWxlZH0gPiAudGl0bGUsXG4gICAgLnVpLmNvbXBhY3QuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiBAdGl0bGVQYWRkaW5nQ29tcGFjdDtcbiAgICB9XG5cbiAgICAudWkuY29tcGFjdC5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLnRpdGxlIH4gLmNvbnRlbnQsXG4gICAgLnVpLmNvbXBhY3QuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmdDb21wYWN0O1xuICAgIH1cblxuICAgIC8qIFN0eWxlZCAqL1xuXG4gICAgLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbiAgICAudWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiBAc3R5bGVkVGl0bGVQYWRkaW5nQ29tcGFjdDtcbiAgICB9XG5cbiAgICAudWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxuICAgIC51aS5jb21wYWN0LnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IEBzdHlsZWRDb250ZW50UGFkZGluZ0NvbXBhY3Q7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFZlcnkgQ29tcGFjdFxuICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQWNjb3JkaW9uVmVyeUNvbXBhY3QpIHtcbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbkB7bm90U3R5bGVkfSA+IC50aXRsZSxcbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbkB7bm90U3R5bGVkfSAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogQHRpdGxlUGFkZGluZ1ZlcnlDb21wYWN0O1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uYWNjb3JkaW9uQHtub3RTdHlsZWR9IC50aXRsZSB+IC5jb250ZW50LFxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uYWNjb3JkaW9uQHtub3RTdHlsZWR9IC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmdWZXJ5Q29tcGFjdDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4gICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiBAc3R5bGVkVGl0bGVQYWRkaW5nVmVyeUNvbXBhY3Q7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5zdHlsZWQuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogQHN0eWxlZENvbnRlbnRQYWRkaW5nVmVyeUNvbXBhY3Q7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgTm90IEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5hY2NvcmRpb246bm90KGRldGFpbHMpIC50aXRsZSB+IC5jb250ZW50Om5vdCguYWN0aXZlKSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbjpub3QoZGV0YWlscykgLnRpdGxlIH4gLmNvbnRlbnQ6bm90KC5hY3RpdmUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25GbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLmFjY29yZGlvbixcbiAgICAudWkuZmx1aWQuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvbkludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuYWNjb3JkaW9uLm1lbnUgLml0ZW0gPiAudGl0bGUsXG4gICAgLnVpLmludmVydGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbiAgICAudWkuaW52ZXJ0ZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGl0bGVDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQWNjb3JkaW9uU3R5bGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0eWxlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRTdHlsZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN0eWxlZFRpdGxlQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRTdHlsZWRUaXRsZUJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEhvdmVyICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0eWxlZFRpdGxlSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN0eWxlZFRpdGxlSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0eWxlZEhvdmVyQ2hpbGRUaXRsZUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU3R5bGVkSG92ZXJDaGlsZFRpdGxlQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBBY3RpdmUgKi9cbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3R5bGVkQWN0aXZlVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN0eWxlZEFjdGl2ZVRpdGxlQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0eWxlZEFjdGl2ZUNoaWxkVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN0eWxlZEFjdGl2ZUNoaWxkVGl0bGVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWNjb3JkaW9uQmFzaWNTdHlsZWQpIHtcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbixcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuICAgIC51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNTdHlsZWRUaXRsZUNvbG9yO1xuICAgIH1cbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlcixcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNTdHlsZWRUaXRsZUhvdmVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuICAgIC51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUsXG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IEBiYXNpY1N0eWxlZEFjdGl2ZVRpdGxlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvbkludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEJhc2ljU3R5bGVkVGl0bGVDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlcixcbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRCYXNpY1N0eWxlZFRpdGxlSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEJhc2ljU3R5bGVkQWN0aXZlVGl0bGVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWNjb3JkaW9uVHJlZSkge1xuICAgIC51aS50cmVlLmFjY29yZGlvbkB7bm90U3R5bGVkfSAudGl0bGUgfiAuY29udGVudCxcbiAgICAudWkudHJlZS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IEB0cmVlQ29udGVudFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS50cmVlLmFjY29yZGlvbiA+IC5jb250ZW50LFxuICAgIC51aS50cmVlLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogQHRyZWVDb250ZW50TGVmdE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnRyZWUuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBAdHJlZUNvbnRlbnRUb3BNYXJnaW47XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogQWNjb3JkaW9uO1xuICAgIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSazlVVkU4QUFBUkVBQXNBQUFBQUJrQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFDN0FBQUFRb0FBQUUvai9meHdVWkdWRTBBQUFRVUFBQUFIQUFBQUJ5TnF2eFFSMFJGUmdBQUEvZ0FBQUFjQUFBQUlBQW5BQmhQVXk4eUFBQUJZQUFBQUVJQUFBQmdUYWRXNW1OdFlYQUFBQUtNQUFBQVVRQUFBV0FGWnVLRGFHVmhaQUFBQVFnQUFBQXlBQUFBTmc4elQ4dG9hR1ZoQUFBQlBBQUFBQm9BQUFBa0Fwa0E1bWh0ZEhnQUFBUXdBQUFBRXdBQUFCWUJ0d0FTYldGNGNBQUFBVmdBQUFBR0FBQUFCZ0FHVUFCdVlXMWxBQUFCcEFBQUFPWUFBQUdxL0hBaFdYQnZjM1FBQUFMZ0FBQUFEQUFBQUNBQUF3QUFlSnhqWUdSZ1lBRGk4S1dSc3ZIOE5sOFp1SmtZUU9EODM4WHZRUFQ5aEd4TklPWEpzSjB4RDBoek1JQ2xBUnpzQ2NvQUFIaWNZMkJrWUdCODhQOEJrR1FBZyswd0JoeXdBZ0JnamdPQUFBQUFBRkFBQUFZQUFIaWNZMkJtT004NGdZR1ZnWUhSaHpHTmdZSEJIVXAvWlpCa2FHRkFCWXdDU0p5QU5OY1VCZ2NHaGcrM0dCLzhmd0NVZk1DZ0FGSURWNkFBaEl3QVJWY01Kd0FBZUp4MWpyRk93ekFVUlUvU05LZ0ZJVmdRNnVTUktXb2xaamFRT25RQnFRTmIybHBScE1xVzNIVG93aGV3OFU5SS9CVTM3V09qdG15ZmQvM3V0WUVidnNuNEc3bHhSc210Y2M0RkQ4WUQ2VS9HaGZqTmVNZ2x5YmpVL0RRZU0rRkhycXdZMlFzbnpyZ1NuVGpubW52amdmU3BjU0YrTmg1eXg3dHhLZjNEZU13algzMXNvcWFqSmRDb3FMczI2SHpGcTl5ejFXVlM2WnY5dGs1bm12OFZsMHBJN0NSSFhUaG1WUG9mUzU5MmJReHVWazNQR0YrT2hrNldSaEhoR05PM2VUYlNWaHkwejFtcmE2SFY5MVl5eGRDNXhnZXZGTDl4cTRPYnIrTWl4bER4Qy9IVE9yc0FBSGljWTJCZ1lHYUFZQmtHUmdZUWlBTHlHTUY4RmdZN0lNM0Z3TUhBQklTTURBb2ZidjMvKy84L1dKWENoNXRnTnVQL3gyQStSQzhiVUMwRFVCOHJXSWdOaUprWThBSm0vTkpESGdBQUxxb094Z0FBQUhpY1kyQm13QXNBQUgwQUJIaWNQWTdCU3NOQUVJWm5razJ6bGhnMUpLQVl4T3JKaTZSZXBNZEM4U0tlZkFKUDRrVkJ6Q3RrTnc3WmplSzFqOUMzOFJuNkNPNUNEcnBwaWd3TU04UC9mLzhnTUFhSUdMNCt2RDA5UHdKNmdMQ3dwMkFuYU04OGUrN2JRMGFSVHhFN0djUFJmZkpMOUQ5RUlYMmJXK3NGT1h6dTVRRDdPU3dQY3VBNVhpZXcwNU44Q0lERExpU1F1VHFHU1ZtVTAvS3FLRytLeGF4djgrbGxNVVJ2SHdCQWdSSnJmRWVDRWFMbnM5SGRSeHpIUC9GcWFWNHlhcHRXSzI1U2t3Wkt1NFZhMHJVU1dqWVZWYno3Q3FtcWhaQlNpTm9kcUdxazVsMnZGcXJXMVBKNHRXYkdxWnhWS2EzMWh0QTZnbU4yYVRCd0JvYnp1WXNVMVlZa0doZXlaVkJxTGpLS3huOGNTbXZ1QUFCNG5HTmdaR0JnNEFGaUFRWUpCaVlnelFMRUlKb1JnZ0VGYlFCQUFBQUFBUUFBQUFEZVRPMDRBQUFBQU0vOW8rNEFBQUFBMzJCcktYaWNZMkJBQUVZUXNaMUJpSUVCQUFQcEFNc0FcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogRHJvcGRvd24gSWNvbiAqL1xuLnVpLmFjY29yZGlvbiAudWkuaGVhZGVyID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBmb250LWZhbWlseTogQWNjb3JkaW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGRhXCIgLyogcnRsOiBcIlxcZjBkOVwiICovO1xufVxuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ2FsZW5kYXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwiY2FsZW5kYXJcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3REaXNhYmxlZDogaWYoQHZhcmlhdGlvbkNhbGVuZGFyRGlzYWJsZWQsIGUoXCI6bm90KC5kaXNhYmxlZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5jYWxlbmRhci5wb3B1cCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICYuaW52ZXJ0ZWQ6OmJlZm9yZSB3aGVuIChAdmFyaWF0aW9uQ2FsZW5kYXJJbnZlcnRlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0JhY2tncm91bmQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ2FsZW5kYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5jYWxlbmRhciAuY2FsZW5kYXI6Zm9jdXMsXG4udWkuY2FsZW5kYXIucG9wdXA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcmlkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2FsZW5kYXIucG9wdXAgLnVpLmdyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51aS5jYWxlbmRhci5wb3B1cCAudWkuZ3JpZCA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGFibGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gICAgbWluLXdpZHRoOiBAd2lkdGhZZWFyTW9udGhNaW51dGU7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgICBtaW4td2lkdGg6IEB3aWR0aERheTtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gICAgbWluLXdpZHRoOiBAd2lkdGhEYXlBbmRXZWVrO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICAgIG1pbi13aWR0aDogQHdpZHRoSG91cjtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCxcbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICAgIHBhZGRpbmc6IEBjZWxsUGFkZGluZztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCBpLmljb24ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB0cjpudGgtY2hpbGQoMikgdGgge1xuICAgIHBhZGRpbmctdG9wOiBAY2VsbEhlYWRlclRvcFBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IEBjZWxsSGVhZGVyQm90dG9tUGFkZGluZztcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiBAY2VsbExlZnRSaWdodFBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogQGNlbGxMZWZ0UmlnaHRQYWRkaW5nO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5saW5rIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLnByZXYubGluayB7XG4gICAgd2lkdGg6IEB3aWR0aFByZXZOZXh0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5uZXh0Lmxpbmsge1xuICAgIHdpZHRoOiBAd2lkdGhQcmV2TmV4dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51aS51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAuYWRqYWNlbnQ6bm90KC5kaXNhYmxlZCk6bm90KC5hY3RpdmUpIHtcbiAgICBjb2xvcjogQGFkamFjZW50VGV4dENvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBhZGphY2VudEJhY2tncm91bmQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQudG9kYXkge1xuICAgIGZvbnQtd2VpZ2h0OiBAdG9kYXlGb250V2VpZ2h0O1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkLnJhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiBAcmFuZ2VCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAcmFuZ2VUZXh0Q29sb3I7XG4gICAgYm94LXNoYWRvdzogQHJhbmdlQm94U2hhZG93O1xufVxuXG4udWkuY2FsZW5kYXJAe25vdERpc2FibGVkfTpmb2N1cyAudWkudGFibGUgdGJvZHkgdHIgdGQuZm9jdXMsXG4udWkuY2FsZW5kYXJAe25vdERpc2FibGVkfS5wb3B1cC5hY3RpdmUgLnVpLnRhYmxlIHRib2R5IHRyIHRkLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBAZm9jdXNCb3hTaGFkb3c7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhbGVuZGFySW52ZXJ0ZWQpIHtcbiAgICAudWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLnRhYmxlLmludmVydGVkIHRyIHRkLnJhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHJhbmdlSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHJhbmdlSW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEByYW5nZUludmVydGVkQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5jYWxlbmRhckB7bm90RGlzYWJsZWR9IC5jYWxlbmRhcjpmb2N1cyAudWkudGFibGUuaW52ZXJ0ZWQgdGJvZHkgdHIgdGQuZm9jdXMsXG4gICAgLnVpLmludmVydGVkLmNhbGVuZGFyQHtub3REaXNhYmxlZH0ucG9wdXAuYWN0aXZlIC51aS50YWJsZS5pbnZlcnRlZCB0Ym9keSB0ciB0ZC5mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBmb2N1c0ludmVydGVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyIC5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREaXNhYmxlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuY2FsZW5kYXIgLnVpLmludmVydGVkLnRhYmxlIHRyIC5hZGphY2VudDpub3QoLmRpc2FibGVkKTpub3QoLmFjdGl2ZSkge1xuICAgICAgICBjb2xvcjogQGFkamFjZW50SW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhZGphY2VudEludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhbGVuZGFyTXVsdGlNb250aCkge1xuICAgIC51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkIHtcbiAgICAgICAgbWFyZ2luOiBAbXVsdGlNb250aE1hcmdpbjtcbiAgICAgICAgJiA+IC5jb2x1bW46bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbXVsdGlNb250aFBhZGRpbmc7XG4gICAgICAgICAgICAmID4gLnVpLnRhYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5jb2x1bW46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbXVsdGlNb250aFBhZGRpbmc7XG4gICAgICAgICAgICAmID4gLnVpLnRhYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQ2FsZW5kYXJTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uQ2FsZW5kYXJTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyLFxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuaXQoQHdpZHRoWWVhck1vbnRoTWludXRlICogQHMsIGVtKTtcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuaXQoQHdpZHRoRGF5ICogQHMsIGVtKTtcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5pdChAd2lkdGhEYXlBbmRXZWVrICogQHMsIGVtKTtcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bml0KEB3aWR0aEhvdXIgKiBAcywgZW0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhbGVuZGFyRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5jYWxlbmRhciB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgfVxuXG4gICAgLnVpLmRpc2FibGVkLmNhbGVuZGFyID4gLmlucHV0LFxuICAgIC51aS5kaXNhYmxlZC5jYWxlbmRhciAudWkudGFibGUgdHIgLmxpbmsge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ2hlY2tib3hcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwiY2hlY2tib3hcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RUb2dnbGU6IGlmKEB2YXJpYXRpb25DaGVja2JveFRvZ2dsZSwgZShcIjpub3QoLnRvZ2dsZSlcIikpO1xuQG5vdFNsaWRlcjogaWYoQHZhcmlhdGlvbkNoZWNrYm94U2xpZGVyLCBlKFwiOm5vdCguc2xpZGVyKVwiKSk7XG5Abm90UmFkaW86IGlmKEB2YXJpYXRpb25DaGVja2JveFJhZGlvLCBlKFwiOm5vdCgucmFkaW8pXCIpKTtcbkBub3RJbnZpc2libGU6IGlmKEB2YXJpYXRpb25DaGVja2JveEludmlzaWJsZSwgZShcIjpub3QoLmludmlzaWJsZSlcIikpO1xuQG5vdENvbXBhY3Q6IGlmKEB2YXJpYXRpb25DaGVja2JveENvbXBhY3QsIGUoXCI6bm90KC5jb21wYWN0KVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENoZWNrYm94XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBtaW4taGVpZ2h0OiBAY2hlY2tib3hTaXplO1xuICAgIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWVkaXVtO1xuICAgIGxpbmUtaGVpZ2h0OiBAY2hlY2tib3hMaW5lSGVpZ2h0O1xuICAgIG1pbi13aWR0aDogQGNoZWNrYm94U2l6ZTtcbn1cblxuLyogSFRNTCBDaGVja2JveCAqL1xuLnVpLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogQGNoZWNrYm94U2l6ZTtcbiAgICBoZWlnaHQ6IEBjaGVja2JveFNpemU7XG59XG5cbi51aS5jaGVja2JveCBsYWJlbCB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtc2l6ZTogQGxhYmVsRm9udFNpemU7XG59XG5cbi51aS5jaGVja2JveEB7bm90SW52aXNpYmxlfSBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxEaXN0YW5jZTtcbn1cblxuLnVpLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogQGNoZWNrYm94U2l6ZTtcbiAgICBoZWlnaHQ6IEBjaGVja2JveFNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IEBjaGVja2JveEJvcmRlclJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBAY2hlY2tib3hUcmFuc2l0aW9uO1xuICAgIGJvcmRlcjogQGNoZWNrYm94Qm9yZGVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENoZWNrbWFya1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IEBjaGVja2JveENoZWNrRm9udFNpemU7XG4gICAgdG9wOiBAY2hlY2tib3hDaGVja1RvcDtcbiAgICBsZWZ0OiBAY2hlY2tib3hDaGVja0xlZnQ7XG4gICAgd2lkdGg6IEBjaGVja2JveENoZWNrU2l6ZTtcbiAgICBoZWlnaHQ6IEBjaGVja2JveENoZWNrU2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogQGNoZWNrYm94Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogQGNoZWNrYm94VHJhbnNpdGlvbjtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94UmlnaHRBbGlnbmVkKSB7XG4gICAgLnVpLnJpZ2h0LmFsaWduZWQuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbERpc3RhbmNlO1xuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSW5zaWRlICovXG4udWkuY2hlY2tib3ggbGFiZWwsXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6IEBsYWJlbENvbG9yO1xuICAgIHRyYW5zaXRpb246IEBsYWJlbFRyYW5zaXRpb247XG59XG5cbi8qIE91dHNpZGUgKi9cbi51aS5jaGVja2JveCArIGxhYmVsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hIb3ZlckJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hIb3ZlckJvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94QHtub3RJbnZpc2libGV9IGxhYmVsOmhvdmVyLFxuLnVpLmNoZWNrYm94QHtub3RJbnZpc2libGV9ICsgbGFiZWw6aG92ZXIge1xuICAgIGNvbG9yOiBAbGFiZWxIb3ZlckNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogQGNoZWNrYm94UHJlc3NlZEJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hQcmVzc2VkQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggbGFiZWw6YWN0aXZlOjphZnRlciB7XG4gICAgY29sb3I6IEBjaGVja2JveFByZXNzZWRDb2xvcjtcbn1cbi51aS5jaGVja2JveEB7bm90SW52aXNpYmxlfSBpbnB1dDphY3RpdmUgfiBsYWJlbCB7XG4gICAgY29sb3I6IEBsYWJlbFByZXNzZWRDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hGb2N1c0JhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hGb2N1c0JvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBjb2xvcjogQGNoZWNrYm94Rm9jdXNDaGVja0NvbG9yO1xufVxuLnVpLmNoZWNrYm94QHtub3RJbnZpc2libGV9IGlucHV0OmZvY3VzIH4gbGFiZWwge1xuICAgIGNvbG9yOiBAbGFiZWxGb2N1c0NvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IEBjaGVja2JveEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hBY3RpdmVCb3JkZXJDb2xvcjtcbn1cbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiBAY2hlY2tib3hBY3RpdmVDaGVja09wYWNpdHk7XG4gICAgY29sb3I6IEBjaGVja2JveEFjdGl2ZUNoZWNrQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94SW5kZXRlcm1pbmF0ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJbmRldGVybWluYXRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGNoZWNrYm94SW5kZXRlcm1pbmF0ZUJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94SW5kZXRlcm1pbmF0ZUJvcmRlckNvbG9yO1xuICAgIH1cbiAgICAudWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiBAY2hlY2tib3hJbmRldGVybWluYXRlQ2hlY2tPcGFjaXR5O1xuICAgICAgICBjb2xvcjogQGNoZWNrYm94SW5kZXRlcm1pbmF0ZUNoZWNrQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRldGVybWluYXRlLnRvZ2dsZS5jaGVja2JveCB7XG4gICAgICAgICYgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2dnbGVDZW50ZXJMYW5lQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAmIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKSB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiBAdG9nZ2xlQ2VudGVyT2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94UmlnaHRBbGlnbmVkKSB7XG4gICAgICAgIC51aS5yaWdodC5hbGlnbmVkLmluZGV0ZXJtaW5hdGUudG9nZ2xlLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKSB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEB0b2dnbGVDZW50ZXJPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEFjdGl2ZSBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IGxhYmVsOjpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IEBjaGVja2JveEFjdGl2ZUZvY3VzQmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6IEBjaGVja2JveEFjdGl2ZUZvY3VzQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDo6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gICAgY29sb3I6IEBjaGVja2JveEFjdGl2ZUZvY3VzQ2hlY2tDb2xvcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hSZWFkb25seSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJlYWQtT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJlYWQtb25seS5jaGVja2JveCxcbiAgICAudWkucmVhZC1vbmx5LmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94RGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5jaGVja2JveCBsYWJlbCxcbiAgICAudWkuY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIH4gbGFiZWwge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZENoZWNrYm94T3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBkaXNhYmxlZENoZWNrYm94TGFiZWxDb2xvcjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBJbml0aWFsaXplZCBjaGVja2JveCBtb3ZlcyBpbnB1dCBiZWxvdyBlbGVtZW50XG4gdG8gcHJldmVudCBtYW51YWxseSB0cmlnZ2VyaW5nICovXG4udWkuY2hlY2tib3ggaW5wdXQuaGlkZGVuIHtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLyogU2VsZWN0YWJsZSBMYWJlbCAqL1xuLnVpLmNoZWNrYm94IGlucHV0ICsgbGFiZWxbZm9yXSxcbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4gKyBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFJhZGlvKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJhZGlvXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucmFkaW8uY2hlY2tib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiBAcmFkaW9TaXplO1xuICAgIH1cblxuICAgIC51aS5yYWRpby5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHJhZGlvTGFiZWxEaXN0YW5jZTtcbiAgICB9XG5cbiAgICAvKiBCb3ggKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IEByYWRpb1NpemU7XG4gICAgICAgIGhlaWdodDogQHJhZGlvU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICB0b3A6IEByYWRpb1RvcDtcbiAgICAgICAgbGVmdDogQHJhZGlvTGVmdDtcbiAgICB9XG5cbiAgICAvKiBCdWxsZXQgKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAcmFkaW9TaXplO1xuICAgICAgICB0b3A6IEBidWxsZXRUb3A7XG4gICAgICAgIGxlZnQ6IEBidWxsZXRMZWZ0O1xuICAgICAgICB3aWR0aDogQHJhZGlvU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAcmFkaW9TaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYnVsbGV0UmFkaXVzO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEBidWxsZXRTY2FsZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBidWxsZXRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9Gb2N1c0JhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEByYWRpb0ZvY3VzQnVsbGV0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogSW5kZXRlcm1pbmF0ZSAqL1xuICAgIC51aS5yYWRpby5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEByYWRpb0FjdGl2ZUJ1bGxldENvbG9yO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSBGb2N1cyAqL1xuICAgIC51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEByYWRpb0FjdGl2ZUZvY3VzQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVGb2N1c0J1bGxldENvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hTbGlkZXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2xpZGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IHtcbiAgICAgICAgbWluLWhlaWdodDogQHNsaWRlckhlaWdodDtcbiAgICB9XG5cbiAgICAvKiBJbnB1dCAqL1xuICAgIC51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQge1xuICAgICAgICB3aWR0aDogQHNsaWRlcldpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBzbGlkZXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogTGFiZWwgKi9cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAc2xpZGVyTGFiZWxEaXN0YW5jZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzbGlkZXJMYWJlbExpbmVIZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAc2xpZGVyT2ZmTGFiZWxDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBMaW5lICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiBAc2xpZGVyTGluZVZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyTGluZUNvbG9yO1xuICAgICAgICB3aWR0aDogQHNsaWRlckxpbmVXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiBAc2xpZGVyTGluZUhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNsaWRlckxpbmVSYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IEBzbGlkZXJMaW5lVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKiBIYW5kbGUgKi9cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBoYW5kbGVCYWNrZ3JvdW5kO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBAaGFuZGxlQm94U2hhZG93O1xuICAgICAgICB3aWR0aDogQHNsaWRlckhhbmRsZVNpemU7XG4gICAgICAgIGhlaWdodDogQHNsaWRlckhhbmRsZVNpemU7XG4gICAgICAgIHRvcDogQHNsaWRlckhhbmRsZU9mZnNldDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IEBzbGlkZXJIYW5kbGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qIEZvY3VzICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlRm9jdXNDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC8qIEhvdmVyICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAc2xpZGVySG92ZXJMYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2xpZGVySG92ZXJMYW5lQmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAc2xpZGVyT25MYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlck9uTGluZUNvbG9yO1xuICAgIH1cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBAc2xpZGVyVHJhdmVsRGlzdGFuY2U7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlIEZvY3VzICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogQHNsaWRlck9uRm9jdXNMYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlck9uRm9jdXNMaW5lQ29sb3I7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hSaWdodEFsaWduZWQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LmFsaWduZWQuc2xpZGVyLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBzbGlkZXJMYWJlbERpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5yaWdodC5hbGlnbmVkLnNsaWRlci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBAc2xpZGVyVHJhdmVsRGlzdGFuY2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBAc2xpZGVySGFuZGxlVHJhbnNpdGlvblJpZ2h0QWxpZ25lZDtcbiAgICAgICAgfVxuICAgICAgICAudWkucmlnaHQuYWxpZ25lZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94VG9nZ2xlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRvZ2dsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEB0b2dnbGVIZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW5wdXQgKi9cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IHtcbiAgICAgICAgd2lkdGg6IEB0b2dnbGVXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiBAdG9nZ2xlSGVpZ2h0O1xuICAgIH1cblxuICAgIC8qIExhYmVsICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEB0b2dnbGVIYW5kbGVTaXplO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2dnbGVMYWJlbERpc3RhbmNlO1xuICAgICAgICBjb2xvcjogQHRvZ2dsZU9mZkxhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogQHRvZ2dsZUxhYmVsT2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIFN3aXRjaCAqL1xuICAgIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0b3A6IEB0b2dnbGVMYW5lVmVydGljYWxPZmZzZXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0b2dnbGVMYW5lQmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQHRvZ2dsZUxhbmVCb3hTaGFkb3c7XG4gICAgICAgIHdpZHRoOiBAdG9nZ2xlTGFuZVdpZHRoO1xuICAgICAgICBoZWlnaHQ6IEB0b2dnbGVMYW5lSGVpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdG9nZ2xlSGFuZGxlUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSAqL1xuICAgIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGhhbmRsZUJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IEBoYW5kbGVCb3hTaGFkb3c7XG4gICAgICAgIHdpZHRoOiBAdG9nZ2xlSGFuZGxlU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAdG9nZ2xlSGFuZGxlU2l6ZTtcbiAgICAgICAgdG9wOiBAdG9nZ2xlSGFuZGxlT2Zmc2V0O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IEB0b2dnbGVIYW5kbGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBAdG9nZ2xlT2ZmT2Zmc2V0O1xuICAgICAgICBib3gtc2hhZG93OiBAdG9nZ2xlT2ZmSGFuZGxlQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIEZvY3VzICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlRm9jdXNDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC8qIEhvdmVyICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZUhvdmVyQ29sb3I7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAdG9nZ2xlT25MYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZU9uTGFuZUNvbG9yO1xuICAgIH1cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBAdG9nZ2xlT25PZmZzZXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0b2dnbGVPbkhhbmRsZUJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgRm9jdXMgKi9cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAdG9nZ2xlT25Gb2N1c0xhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlT25Gb2N1c0xhbmVDb2xvcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFJpZ2h0QWxpZ25lZCkge1xuICAgICAgICAudWkucmlnaHQuYWxpZ25lZC50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQHRvZ2dsZUxhYmVsRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnJpZ2h0LmFsaWduZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0IH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQHRvZ2dsZU9uT2Zmc2V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogQHRvZ2dsZUhhbmRsZVRyYW5zaXRpb25SaWdodEFsaWduZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnJpZ2h0LmFsaWduZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBAdG9nZ2xlT2ZmT2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94Rml0dGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLmZpdHRlZC5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAudWkuZml0dGVkLnRvZ2dsZS5jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiBAdG9nZ2xlV2lkdGg7XG4gICAgfVxuXG4gICAgLnVpLmZpdHRlZC5zbGlkZXIuY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogQHNsaWRlcldpZHRoO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS51aS51aS5pbnZlcnRlZC5jaGVja2JveCBsYWJlbCxcbiAgICAudWkudWkudWkuaW52ZXJ0ZWQuY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkudWkuaW52ZXJ0ZWQuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkSG92ZXJlZFRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IEBzdHJvbmdTZWxlY3RlZEJvcmRlckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFNsaWRlcikge1xuICAgICAgICAvKiBTbGlkZXIgTGFiZWwgKi9cbiAgICAgICAgLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkVW5zZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNsaWRlciBMaW5lICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRVbnNlbGVjdGVkVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU2xpZGVyIEhvdmVyICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRMaWdodFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNsaWRlciBBY3RpdmUgKi9cbiAgICAgICAgLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdGVkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNsaWRlciBBY3RpdmUgRm9jdXMgKi9cbiAgICAgICAgLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdGVkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFRvZ2dsZSkge1xuICAgICAgICAvKiBUb2dnbGUgU3dpdGNoICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUb2dnbGUgSG92ZXIgKi9cbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUb2dnbGUgQWN0aXZlICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVPbkxhbmVDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFRvZ2dsZSBBY3RpdmUgRm9jdXMgKi9cbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZU9uRm9jdXNMYW5lQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveEludmlzaWJsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZpc2libGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZpc2libGUuY2hlY2tib3gge1xuICAgICAgICAmOm5vdCguY29tcGFjdCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJiBpbnB1dCB7XG4gICAgICAgICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAmIGxhYmVsOjpiZWZvcmUsXG4gICAgICAgICYgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJiBsYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBAaW52aXNpYmxlQ2hlY2tib3hMYWJlbFRyYW5zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnVpLnVpLnVpLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZpc2libGVDaGVja2JveEJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBpbnZpc2libGVDaGVja2JveEJvcmRlckNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmlzaWJsZUNoZWNrYm94Qm94U2hhZG93O1xuICAgICAgICAgICAgY29sb3I6IEBpbnZpc2libGVDaGVja2JveENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KDpob3Zlcik6Zm9jdXMgKyBsYWJlbDpub3QoLmltYWdlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAaW52aXNpYmxlQ2hlY2tib3hGb2N1c0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmICsgbGFiZWwuaW1hZ2UsXG4gICAgICAgIC5iYXNpYyYgKyBsYWJlbCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dDpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgJiArIGxhYmVsLmltYWdlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IEBpbnZpc2libGVDaGVja2JveEltYWdlT3BhY2l0eVVuY2hlY2tlZDtcbiAgICAgICAgICAgIGZpbHRlcjogQGludmlzaWJsZUNoZWNrYm94SW1hZ2VGaWx0ZXJVbmNoZWNrZWQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmhvdmVyKTpmb2N1cyArIGxhYmVsLmltYWdlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IEBpbnZpc2libGVDaGVja2JveEltYWdlT3BhY2l0eUZvY3VzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94RGlzYWJsZWQpIHtcbiAgICAgICAgICAgICZbZGlzYWJsZWRdICsgbGFiZWwuaW1hZ2UsXG4gICAgICAgICAgICAuZGlzYWJsZWQmICsgbGFiZWwuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IEBpbnZpc2libGVDaGVja2JveEltYWdlT3BhY2l0eVVuY2hlY2tlZERpc2FibGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25DaGVja2JveFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25DaGVja2JveFNpemVzLCB7XG4gICAgICAgIEByYXc6IEB7dmFsdWV9UmF3O1xuICAgICAgICBAc2l6ZTogQHt2YWx1ZX1DaGVja2JveFNpemU7XG4gICAgICAgIEBjaXJjbGVTY2FsZTogQHt2YWx1ZX1DaGVja2JveENpcmNsZVNjYWxlO1xuICAgICAgICBAY2lyY2xlTGVmdDogQHt2YWx1ZX1DaGVja2JveENpcmNsZUxlZnQ7XG5cbiAgICAgICAgLnVpLkB7dmFsdWV9LmNoZWNrYm94IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAQHJhdyA+IDEpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5mb3JtIC5jaGVja2JveCxcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgJkB7bm90U2xpZGVyfUB7bm90VG9nZ2xlfUB7bm90UmFkaW99IHtcbiAgICAgICAgICAgICAgICAgICAgJlxuICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAQHJhdyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYucmFkaW8gd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94UmFkaW8pIHtcbiAgICAgICAgICAgICAgICAgICAgJlxuICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQEByYXcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEBAY2lyY2xlU2NhbGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IEBAY2lyY2xlTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBDaGVja2JveDtcbiAgICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQVI4QUEwQUFBQUFCdHdBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBRVlBQUFBQm9BQUFBY2diQ1dKMGRFUlVZQUFBUklBQUFBRndBQUFCZ0FKUUFBVDFNdk1nQUFBWmdBQUFCQUFBQUFZQThTQkQ5amJXRndBQUFCOUFBQUFGTUFBQUZjNzF6bzZXZGhjM0FBQUFSQUFBQUFDQUFBQUFnQUFBQVFaMng1WmdBQUFsd0FBQURKQUFBQlZIc2h3R0JvWldGa0FBQUJNQUFBQUM0QUFBQTJCajN0V1dob1pXRUFBQUZnQUFBQUhRQUFBQ1FIZlFQSWFHMTBlQUFBQWRnQUFBQVpBQUFBSGc1NkFFVnNiMk5oQUFBQ1NBQUFBQklBQUFBU0FRb0FqRzFoZUhBQUFBR0FBQUFBR0FBQUFDQUFDZ0F2Ym1GdFpRQUFBeWdBQUFEbkFBQUJwNXhPQzRGd2IzTjBBQUFFRUFBQUFEQUFBQUJhSFJ0V1czaWNZMkJrWUdCZ1ltRGdxYkFWamVlMytjckF6Y0lBQWhjM1hpbEhwcGwzTStjQktRNlFXZ1lHQUFIbkNWc0FBSGljWTJCa1lHQSs4UDhBQXdNTEF3Z3c3MlpnWkVBRjdBQmFKZ05PQUFBQWVKeGpZR1JnWU9CZzBHVUEwUXdNVEF4b0FBQUZ0UUE2ZUp4allHWVdZcHpBd01yQXdEU1Q2UXdEQTBNL2hHWjh6V0RNeU1tQUNoZ0YwQVFZSEJnWVhqQXhIL2gvZ01HQitRQ0l4OENJSkt2QXdBZ0FJT2NLVzNpY1kyR0FBTVpRQ00wRXhDd01ESzdNcWlBZUFBcVhBTTRBQUFCNG5OMk53UTJBTUF3REwwMHBIWUpINTJBUTluL3c2QmJGQ1M5V3dKRmxPM0lVd0hsNVlBUXVKY3RjT2FWZFU2VEdtR1d0N0l4SnVIWG52bWNybkxQUjJHV2I2Tm5GNHJyd2hUNVUvbzBIZjVFSkdBQUFBQUFBQUFnQUNBQVFBQmdBU0FCc0FLb0FBSGljaFkwOUNzSkFFSVZuZGlHMmd5UTdJQVNKSWJIUXl2eUlpRmhacEJFOGlOc0llaVZ2WU9GeDdGUGJLRTZ5VWNIR2daMjNqemQ4RHhEZW93QVdDdjc3RGV6MFZkMWhBSUIrRDcxNE5NYTB5TmRZWnJNaHVtMENmYVduVDRicGVTUGFFak9kOGRqSWx0VEJOQmxoU0d6RVMzSnFiNW9XNlVPckUxV0JMNy9BNzNseE5CcW5LOHpuWlJiTldNZ0pFVDhxSmhsV0YxSFYzenZYU2NlQlNpZmF3clRqVExyZDB1STNjNGxGdTRVY1l2YmgxL0tzSWFvZFVheXg3S3hyK3diOFkrRUZpK1lzbmdBQUFIaWNmYzVCU3NOQUdNWHhmOXEwYWdVUkZ5NTBNM3NobE9vTmlrSVhkZEdGYTVOMFNFdkxES1FwMktVSDhBeHVYWGtreitKTCtOWUpKUHptZmZObUFsenhTMEw3Skp4ell4NXd4b041cVB6Wm5NcnY1aEdYZkpySHlyL05FKzc0VXl0Skw1UmNkeWUwSHVpdWUvTlErYU01bFYvTkkyN1ptc2ZLdjh3VG52aGh6Z1pQeVk2Q3lBZk1ONzdjRlZGYWFWQnhaRTlPcmFXdmp2dGM2S24wak40MHFEbm9WeUlCeDR5TXFXSmZIN1l4dUZrMjdhMi9kTFZHeFVwYlFuZFlyclZucmF6Z3BPOUMxY2hTYjdzM1V5bUd4bFUrK0Rwdi9Ob1ZKN2NvNHpMR2tQRVBqMFZBUlFCNG5HTmdZc0FQT0JnWUdKa1ltQmlaR1pnWldSaFpHZG5ZUy9NeURZQUFTaHVDYUZjTENCOUl3L2hHQU9QZEN1TUFBUUFCLy84QUQzaWNZMkJrWUdEZ0FXSUJJR1lDWWhZSURRQUNPd0FtQUhpY1kyQmdZR1FBZ25zK2J5MUE5TVdOVjhwaE5BQlE1d2ZyQUFBPVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG4vKiBDaGVja21hcmsgKi9cbi51aS5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBDaGVja2JveDtcbn1cblxuLyogQ2hlY2tlZCAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG59XG5cbi8qIEluZGV0ZXJtaW5hdGUgKi9cbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29udGVudDogXCJcXGU4MDFcIjtcbn1cblxuLyogVVRGIFJlZmVyZW5jZVxuLmNoZWNrOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfVxuLmRhc2g6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG4ucGx1czo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH1cbiovXG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBEaW1tZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwiZGltbWVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90SW52ZXJ0ZWQ6IGlmKEB2YXJpYXRpb25EaW1tZXJJbnZlcnRlZCwgZShcIjpub3QoLmludmVydGVkKVwiKSk7XG5Abm90UGFnZTogaWYoQHZhcmlhdGlvbkRpbW1lclBhZ2UsIGUoXCI6bm90KC5wYWdlKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaW1tZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5kaW1tYWJsZTpub3QoYm9keSkge1xuICAgIHBvc2l0aW9uOiBAZGltbWFibGVQb3NpdGlvbjtcbn1cblxuLnVpLmRpbW1lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogQGRpbW1lclBvc2l0aW9uO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBAdGV4dEFsaWduO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAdmVydGljYWxBbGlnbjtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZENvbG9yO1xuICAgIG9wYWNpdHk6IEBoaWRkZW5PcGFjaXR5O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICB6LWluZGV4OiBAekluZGV4O1xufVxuXG4vKiBEaW1tZXIgQ29udGVudCAqL1xuLnVpLmRpbW1lciA+IC5jb250ZW50IHtcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbn1cblxuLyogTG9vc2UgQ291cGxpbmcgKi9cbi51aS5zZWdtZW50ID4gLnVpLmRpbW1lckB7bm90UGFnZX0ge1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi8qIFNjcm9sbGJhcnMgKi9cbiYgd2hlbiAoQHVzZUN1c3RvbVNjcm9sbGJhcnMpIHtcbiAgICAudWkuZGltbWVyQHtub3RJbnZlcnRlZH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuZGltbWVyQHtub3RJbnZlcnRlZH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuZGltbWVyQHtub3RJbnZlcnRlZH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSW5hY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuZGltbWVyQHtub3RJbnZlcnRlZH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAudWkuZGltbWVyQHtub3RJbnZlcnRlZH0ge1xuICAgICAgICAgICAgLyogSUUxMSAqL1xuICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgICAgIC8qIGZpcmVmb3g6IGZpcnN0IGNvbG9yIHRodW1iLCBzZWNvbmQgdHJhY2sgKi9cbiAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kIEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLmRpbW1hYmxlOm5vdChib2R5KSxcbi5kaW1tZWQuZGltbWFibGU6bm90KGJvZHkpIHtcbiAgICBvdmVyZmxvdzogQG92ZXJmbG93O1xufVxuXG4vKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5kaW1tZXIsXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnZpc2libGUuZGltbWVyLFxuLnVpLmFjdGl2ZS5kaW1tZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3BhY2l0eTogQHZpc2libGVPcGFjaXR5O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJEaXNhYmxlZCkge1xuICAgIC8qIERpc2FibGVkICovXG4gICAgLnVpLmRpc2FibGVkLmRpbW1lciB7XG4gICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyTGVnYWN5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGVnYWN5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4gICAgLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5hbmltYXRpbmcubGVnYWN5LmRpbW1lcixcbiAgICAuZGltbWVkLmRpbW1hYmxlID4gLnVpLnZpc2libGUubGVnYWN5LmRpbW1lcixcbiAgICAudWkuYWN0aXZlLmxlZ2FjeS5kaW1tZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBbGlnbm1lbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5kaW1tZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5kaW1tZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyUGFnZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUGFnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBhZ2UuZGltbWVyIHtcbiAgICAgICAgcG9zaXRpb246IEBwYWdlRGltbWVyUG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogQHRyYW5zZm9ybVN0eWxlO1xuICAgICAgICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAmLm1vZGFscyB7XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvcHVsbC8xNDkxXG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAgICAgLW1vei1wZXJzcGVjdGl2ZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keS5hbmltYXRpbmcuaW4uZGltbWFibGUsXG5ib2R5LmRpbW1lZC5kaW1tYWJsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keS5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyQmx1cnJpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBCbHVycmluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgQHN1cHBvcnRzIChub3QgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lKSkgYW5kIChub3QgKGJhY2tkcm9wLWZpbHRlcjogbm9uZSkpIHtcbiAgICAgICAgLmJsdXJyaW5nLmRpbW1hYmxlID4gOm5vdCguZGltbWVyKSB7XG4gICAgICAgICAgICBmaWx0ZXI6IEBibHVycmVkU3RhcnRGaWx0ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBAYmx1cnJlZFRyYW5zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgLmJsdXJyaW5nLmRpbW1lZC5kaW1tYWJsZSA+IDpub3QoLmRpbW1lcik6bm90KC5wb3B1cCkge1xuICAgICAgICAgICAgZmlsdGVyOiBAYmx1cnJlZEVuZEZpbHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERpbW1lciBDb2xvciAqL1xuICAgIC5ibHVycmluZy5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmx1cnJlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IEBibHVycmVkRW5kRmlsdGVyO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IEBibHVycmVkRW5kRmlsdGVyO1xuICAgIH1cbiAgICAuYmx1cnJpbmcuZGltbWFibGUgPiAuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsdXJyZWRJbnZlcnRlZEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpbW1lciA+IC50b3AuYWxpZ25lZC5jb250ZW50ID4gKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIC51aS5kaW1tZXIgPiAuYm90dG9tLmFsaWduZWQuY29udGVudCA+ICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyU2hhZGVzKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2hhZGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLm1lZGl1bS5kaW1tZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAbWVkaXVtQmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAubGlnaHQubGlnaHQubGlnaHQubGlnaHQubGlnaHQuZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGxpZ2h0QmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAudmVyeS52ZXJ5LnZlcnkudmVyeS5saWdodC5kaW1tZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdmVyeUxpZ2h0QmFja2dyb3VuZENvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVySW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLmRpbW1lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRpbW1lciA+IC5jb250ZW50LFxuICAgIC51aS5pbnZlcnRlZC5kaW1tZXIgPiAuY29udGVudCA+ICoge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lclNoYWRlcykge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWQgU2hhZGVzXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgICAgIC5tZWRpdW0ubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLmludmVydGVkLmRpbW1lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbWVkaXVtSW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmludmVydGVkLmRpbW1lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGlnaHRJbnZlcnRlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudmVyeS52ZXJ5LnZlcnkudmVyeS5saWdodC5pbnZlcnRlZC5kaW1tZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHZlcnlMaWdodEludmVydGVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJTaW1wbGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2ltcGxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBEaXNwbGF5cyB3aXRob3V0IGphdmFzY3JpcHQgKi9cbiAgICAudWkuc2ltcGxlLmRpbW1lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2ltcGxlU3RhcnRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuICAgIC5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmRpbW1lciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2ltcGxlRW5kQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB6LWluZGV4OiBAc2ltcGxlWkluZGV4O1xuICAgIH1cblxuICAgIC51aS5zaW1wbGUuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNpbXBsZUludmVydGVkU3RhcnRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuICAgIC5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzaW1wbGVJbnZlcnRlZEVuZEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lclBhcnRpYWxseSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQYXJ0aWFsbHlcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwidG9wIGRpbW1lclwiXSxcbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXSxcbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGRpbW1lclwiXSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBkaW1tZXJcIl0ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0ge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC51aS5zZWdtZW50ID4gLnVpLnVpW2NsYXNzKj1cInRvcCBkaW1tZXJcIl0ge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLnNlZ21lbnQgPiAudWkudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5zZWdtZW50ID4gLnVpLnVpW2NsYXNzKj1cImJvdHRvbSBkaW1tZXJcIl0ge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBDZW50ZXI7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBkb3duXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25DZW50ZXI7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQ2VudGVyO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25DZW50ZXI7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdLmJvdW5jZS50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUNlbnRlcjtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW5VcENlbnRlciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluRG93bkNlbnRlciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZU91dFVwQ2VudGVyIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ1JSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0RG93bkNlbnRlciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NSUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgYm91bmNlQ2VudGVyIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDIwJSxcbiAgICAgICAgNTAlLFxuICAgICAgICA4MCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNTAlIC0gMzBweCkpO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNTAlIC0gMTVweCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIERyb3Bkb3duXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImRyb3Bkb3duXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90UG9pbnRpbmc6IGlmKEB2YXJpYXRpb25Ecm9wZG93blBvaW50aW5nLCBlKFwiOm5vdCgucG9pbnRpbmcpXCIpKTtcbkBub3RGbG9hdGluZzogaWYoQHZhcmlhdGlvbkRyb3Bkb3duRmxvYXRpbmcsIGUoXCI6bm90KC5mbG9hdGluZylcIikpO1xuQG5vdExhYmVsZWQ6IGlmKEB2YXJpYXRpb25Ecm9wZG93bkxhYmVsLCBlKFwiOm5vdCgubGFiZWxlZClcIikpO1xuQG5vdFNlYXJjaDogaWYoQHZhcmlhdGlvbkRyb3Bkb3duU2VhcmNoLCBlKFwiOm5vdCguc2VhcmNoKVwiKSk7XG5Abm90VW5saW1pdGVkOiBpZihAdmFyaWF0aW9uRHJvcGRvd25VbmxpbWl0ZWQsIGUoXCI6bm90KC51bmxpbWl0ZWQpXCIpKTtcbkBub3RNdWx0aXBsZTogaWYoQHZhcmlhdGlvbkRyb3Bkb3duTXVsdGlwbGUsIGUoXCI6bm90KC5tdWx0aXBsZSlcIikpO1xuQG5vdFNlbGVjdGlvbjogaWYoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uLCBlKFwiOm5vdCguc2VsZWN0aW9uKVwiKSk7XG5Abm90QnV0dG9uOiBpZihAdmFyaWF0aW9uRHJvcGRvd25CdXR0b24sIGUoXCI6bm90KC5idXR0b24pXCIpKTtcbkBub3RTaW1wbGU6IGlmKEB2YXJpYXRpb25Ecm9wZG93blNpbXBsZSwgZShcIjpub3QoLnNpbXBsZSlcIikpO1xuQG5vdFVwd2FyZDogaWYoQHZhcmlhdGlvbkRyb3Bkb3duVXB3YXJkLCBlKFwiOm5vdCgudXB3YXJkKVwiKSk7XG5Abm90SW52ZXJ0ZWQ6IGlmKEB2YXJpYXRpb25Ecm9wZG93bkludmVydGVkLCBlKFwiOm5vdCguaW52ZXJ0ZWQpXCIpKTtcblxuQG5vdFRyYW5zcGFyZW50OiBpZihAdmFyaWF0aW9uSW5wdXRUcmFuc3BhcmVudCwgZShcIjpub3QoLnRyYW5zcGFyZW50KVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25NZW51VmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuQG5vdEltYWdlOiBpZihAdmFyaWF0aW9uTGFiZWxJbWFnZSwgZShcIjpub3QoLmltYWdlKVwiKSk7XG5Abm90Q2VudGVyZWQ6IGlmKEB2YXJpYXRpb25JbWFnZUNlbnRlcmVkLCBlKFwiOm5vdCguY2VudGVyZWQpXCIpKTtcbkBub3RBdmF0YXI6IGlmKEB2YXJpYXRpb25JbWFnZUF2YXRhciwgZShcIjpub3QoLmF2YXRhcilcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRHJvcGRvd25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5kcm9wZG93biB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXJnaW46IEBtZW51TWFyZ2luO1xuICAgIHBhZGRpbmc6IEBtZW51UGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBAbWVudUJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogQG1lbnVUZXh0QWxpZ247XG4gICAgYm94LXNoYWRvdzogQG1lbnVCb3hTaGFkb3c7XG4gICAgYm9yZGVyOiBAbWVudUJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBAbWVudUJvcmRlclJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBAbWVudVRyYW5zaXRpb247XG4gICAgei1pbmRleDogQG1lbnVaSW5kZXg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gKiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgSGlkZGVuIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duID4gaW5wdXRAe25vdFNlYXJjaH06Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gPiBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiBEcm9wZG93biBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duQHtub3RMYWJlbGVkfSA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiBAZHJvcGRvd25JY29uTWluV2lkdGg7XG4gICAgZm9udC1zaXplOiBAZHJvcGRvd25JY29uU2l6ZTtcbiAgICBtYXJnaW46IEBkcm9wZG93bkljb25NYXJnaW47XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IEBpdGVtRHJvcGRvd25JY29uRmxvYXQ7XG4gICAgbWFyZ2luOiBAaXRlbURyb3Bkb3duSWNvbk1hcmdpbjtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICAgIG1hcmdpbi1yaWdodDogQGl0ZW1Ecm9wZG93bkljb25EaXN0YW5jZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFRleHRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IEB0ZXh0VHJhbnNpdGlvbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBNZW51IEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IEBpdGVtQm9yZGVyO1xuICAgIGhlaWdodDogQGl0ZW1IZWlnaHQ7XG4gICAgbWluLWhlaWdodDogQGl0ZW1NaW5IZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogQGl0ZW1UZXh0QWxpZ247XG4gICAgYm9yZGVyLXRvcDogQGl0ZW1EaXZpZGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBAaXRlbUxpbmVIZWlnaHQ7XG4gICAgZm9udC1zaXplOiBAaXRlbUZvbnRTaXplO1xuICAgIGNvbG9yOiBAaXRlbUNvbG9yO1xuICAgIHBhZGRpbmc6IEBpdGVtUGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGl0ZW1UZXh0VHJhbnNmb3JtO1xuICAgIGZvbnQtd2VpZ2h0OiBAaXRlbUZvbnRXZWlnaHQ7XG4gICAgYm94LXNoYWRvdzogQGl0ZW1Cb3hTaGFkb3c7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtLnZlcnRpY2FsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgRmxvYXRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogQGZsb2F0ZWREaXN0YW5jZSAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogQGZsb2F0ZWREaXN0YW5jZSAhaW1wb3J0YW50O1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBpLmljb24uZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IC5mbGFnLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaW1hZ2UuZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IGltZy5mbG9hdGVkIHtcbiAgICBtYXJnaW4tdG9wOiBAaXRlbUxpbmVIZWlnaHRPZmZzZXQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIE1lbnUgRGl2aWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIge1xuICAgIG1hcmdpbjogQG1lbnVIZWFkZXJNYXJnaW47XG4gICAgcGFkZGluZzogQG1lbnVIZWFkZXJQYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiBAbWVudUhlYWRlckZvbnRXZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBtZW51SGVhZGVyVGV4dFRyYW5zZm9ybTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXI6bm90KC51aSkge1xuICAgIGNvbG9yOiBAbWVudUhlYWRlckNvbG9yO1xuICAgIGZvbnQtc2l6ZTogQG1lbnVIZWFkZXJGb250U2l6ZTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiBAbWVudURpdmlkZXJCb3JkZXI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogQG1lbnVEaXZpZGVyTWFyZ2luO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmhvcml6b250YWwuZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnVpLnVpLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogQG1lbnVJbnB1dE1hcmdpbjtcbiAgICBtaW4td2lkdGg6IEBtZW51SW5wdXRNaW5XaWR0aDtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIgKyAuaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXRAe25vdFRyYW5zcGFyZW50fSBpbnB1dCB7XG4gICAgcGFkZGluZzogQG1lbnVJbnB1dFBhZGRpbmc7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXRAe25vdFRyYW5zcGFyZW50fSAuYnV0dG9uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0QHtub3RUcmFuc3BhcmVudH0gaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0QHtub3RUcmFuc3BhcmVudH0gLmxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogQG1lbnVJbnB1dFZlcnRpY2FsUGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogQG1lbnVJbnB1dFZlcnRpY2FsUGFkZGluZztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgSXRlbSBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5kZXNjcmlwdGlvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uIHtcbiAgICBmbG9hdDogQGl0ZW1EZXNjcmlwdGlvbkZsb2F0O1xuICAgIG1hcmdpbjogQGl0ZW1EZXNjcmlwdGlvbk1hcmdpbjtcbiAgICBjb2xvcjogQGl0ZW1EZXNjcmlwdGlvbkNvbG9yO1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbSBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtLnZlcnRpY2FsID4gLnRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IEB2ZXJ0aWNhbEl0ZW1NYXJnaW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gICAgcGFkZGluZzogQG1lc3NhZ2VQYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiBAbWVzc2FnZUZvbnRXZWlnaHQ7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZTpub3QoLnVpKSB7XG4gICAgY29sb3I6IEBtZXNzYWdlQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgU3ViIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnUge1xuICAgIHRvcDogQHN1Yk1lbnVUb3A7XG4gICAgbGVmdDogQHN1Yk1lbnVMZWZ0O1xuICAgIHJpZ2h0OiBAc3ViTWVudVJpZ2h0O1xuICAgIG1hcmdpbjogQHN1Yk1lbnVNYXJnaW4gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiBAc3ViTWVudUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IEBzdWJNZW51WkluZGV4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhpZGUgQXJyb3cgKi9cbi51aS5kcm9wZG93biAubWVudSAubWVudTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBTdWIgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBJY29ucyAvIEZsYWdzIC8gTGFiZWxzIC8gSW1hZ2UgKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29ucyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogQHRleHRMaW5lSGVpZ2h0T2Zmc2V0O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpLmljb25zLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpLmljb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5sYWJlbCxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmZsYWcsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiBAaXRlbUxpbmVIZWlnaHRPZmZzZXQ7XG59XG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29ucyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29ucyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IEBpdGVtRWxlbWVudEZsb2F0O1xuICAgIG1hcmdpbi1yaWdodDogQGl0ZW1FbGVtZW50RGlzdGFuY2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZTpub3QoLmljb24pLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiBAbWVudUltYWdlVmVydGljYWxNYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogQG1lbnVJbWFnZVZlcnRpY2FsTWFyZ2luO1xuICAgIG1heC1oZWlnaHQ6IEBtZW51SW1hZ2VNYXhIZWlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBSZW1vdmUgTWVudSBJdGVtIERpdmlkZXIgKi9cbi51aS5kcm9wZG93biAudWkubWVudSA+IC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBQcmV2ZW50IE1lbnUgSXRlbSBCb3JkZXIgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4vKiBBdXRvbWF0aWNhbGx5IGZsb2F0IGRyb3Bkb3duIG1lbnUgcmlnaHQgb24gbGFzdCBtZW51IGl0ZW0gKi9cbi51aS5tZW51IC5yaWdodC5tZW51IC5kcm9wZG93bjpsYXN0LWNoaWxkID4gLm1lbnU6bm90KC5sZWZ0KSxcbi51aS5tZW51IC5yaWdodC5kcm9wZG93bi5pdGVtID4gLm1lbnU6bm90KC5sZWZ0KSxcbi51aS5idXR0b25zID4gLnVpLmRyb3Bkb3duOmxhc3QtY2hpbGQgPiAubWVudTpub3QoLmxlZnQpIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkxhYmVsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBMYWJlbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRHJvcGRvd24gTWVudSAqL1xuICAgIC51aS5sYWJlbC5kcm9wZG93biAubWVudSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duQnV0dG9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJ1dHRvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTm8gTWFyZ2luIE9uIEljb24gQnV0dG9uICovXG4gICAgLnVpLmRyb3Bkb3duLmljb24uYnV0dG9uID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC51aS5kcm9wZG93bi5idXR0b24gLm1lbnUge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC51aS5kcm9wZG93bi5idXR0b25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9LmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS5kcm9wZG93bi5idXR0b25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9ID4gLm1lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5zZWxlY3QudWkuZHJvcGRvd24ge1xuICAgIGhlaWdodDogQHNlbGVjdEhlaWdodDtcbiAgICBwYWRkaW5nOiBAc2VsZWN0UGFkZGluZztcbiAgICBib3JkZXI6IEBzZWxlY3RCb3JkZXI7XG4gICAgdmlzaWJpbGl0eTogQHNlbGVjdFZpc2liaWxpdHk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2VsZWN0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBEaXNwbGF5cyBsaWtlIGEgc2VsZWN0IGJveCAqL1xuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDApO1xuICAgICAgICBtaW4td2lkdGg6IEBzZWxlY3Rpb25NaW5XaWR0aDtcbiAgICAgICAgbWluLWhlaWdodDogQHNlbGVjdGlvbk1pbkhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IEBzZWxlY3Rpb25EaXNwbGF5O1xuICAgICAgICBwYWRkaW5nOiBAc2VsZWN0aW9uUGFkZGluZztcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25UZXh0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25Cb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQHNlbGVjdGlvbkJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlbGVjdGlvbkJvcmRlclJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogQHNlbGVjdGlvblRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSxcbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duLmFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IEBzZWxlY3Rpb25aSW5kZXg7XG4gICAgfVxuXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5zZWFyY2guaWNvbixcbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRlbGV0ZS5pY29uLFxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogQHNlYXJjaFNlbGVjdGlvbkxpbmVIZWlnaHQ7XG4gICAgICAgIHRvcDogQHNlbGVjdGlvblZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcmlnaHQ6IEBzZWxlY3Rpb25Ib3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgei1pbmRleDogQHNlbGVjdGlvbkljb25aSW5kZXg7XG4gICAgICAgIG1hcmdpbjogQHNlbGVjdGlvbkljb25NYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBzZWxlY3Rpb25JY29uUGFkZGluZztcbiAgICAgICAgb3BhY2l0eTogQHNlbGVjdGlvbkljb25PcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBAc2VsZWN0aW9uSWNvblRyYW5zaXRpb247XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duQ29tcGFjdCkge1xuICAgICAgICAvKiBDb21wYWN0ICovXG4gICAgICAgIC51aS5jb21wYWN0LnNlbGVjdGlvbi5kcm9wZG93biB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAmID4gLm1lbnUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICY6bm90KC5tdWx0aWxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNlbGVjdGlvbiBNZW51ICovXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIC1AbWVudUJvcmRlcldpZHRoO1xuICAgICAgICBtaW4td2lkdGg6IEBtZW51TWluV2lkdGg7XG4gICAgICAgIHdpZHRoOiBAbWVudU1pbldpZHRoO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uTWVudUJveFNoYWRvdztcbiAgICAgICAgdHJhbnNpdGlvbjogQHNlbGVjdGlvbk1lbnVUcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfSA+IC5tZW51IHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlbGVjdGlvbk1lbnVCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnU6OmFmdGVyLFxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnU6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTWVzc2FnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZzogQHNlbGVjdGlvbk1lc3NhZ2VQYWRkaW5nO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TaG9ydCkge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbk1vYmlsZU1heE1lbnVIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uTW9iaWxlTWF4TWVudUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Nb2JpbGVNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTG9uZykge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uTW9iaWxlTWF4TWVudUhlaWdodCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbk1vYmlsZU1heE1lbnVIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TaG9ydCkge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvblRhYmxldE1heE1lbnVIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uVGFibGV0TWF4TWVudUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25UYWJsZXRNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTG9uZykge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uVGFibGV0TWF4TWVudUhlaWdodCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvblRhYmxldE1heE1lbnVIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNob3J0KSB7XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLnNob3J0IC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uQ29tcHV0ZXJNYXhNZW51SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbkNvbXB1dGVyTWF4TWVudUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Db21wdXRlck1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Mb25nKSB7XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLmxvbmcgLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Db21wdXRlck1heE1lbnVIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Db21wdXRlck1heE1lbnVIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNob3J0KSB7XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLnNob3J0IC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Mb25nKSB7XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duLmxvbmcgLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25XaWRlc2NyZWVuTWF4TWVudUhlaWdodCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbldpZGVzY3JlZW5NYXhNZW51SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE1lbnUgSXRlbSAqL1xuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBzZWxlY3Rpb25JdGVtRGl2aWRlcjtcbiAgICAgICAgcGFkZGluZzogQHNlbGVjdGlvbkl0ZW1QYWRkaW5nO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Qb2ludGluZykgb3IgKEB2YXJpYXRpb25Ecm9wZG93bkZsb2F0aW5nKSB7XG4gICAgICAgIC51aS5zZWxlY3Rpb24ucG9pbnRpbmcuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLnNlbGVjdGlvbi5mbG9hdGluZy5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBVc2VyIEl0ZW0gKi9cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLmhpZGRlbi5hZGRpdGlvbi5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIGFkZGl0aW9uIGl0ZW0gKi9cbiAgICAudWkuZHJvcGRvd24gPiAubWVudSA+IC5zdHVjay5hZGRpdGlvbi5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uVmlzaWJsZUJveFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZDogQG1lbnVCYWNrZ3JvdW5kO1xuICAgICAgICB6LWluZGV4OiBAYWRkaXRpb25aSW5kZXg7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uSG92ZXJCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkhvdmVyQm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSAqL1xuICAgIC51aS5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyLFxuICAgIC51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uVmlzaWJsZUJvcmRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uVmlzaWJsZUJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5zaW1wbGUuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4gICAgLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3Rpb25WaXNpYmxlQm9yZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25WaXNpYmxlTWVudUJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3Rpb25Gb2N1c0JvcmRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uRm9jdXNCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMgLm1lbnUge1xuICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3Rpb25Gb2N1c0JvcmRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uRm9jdXNNZW51Qm94U2hhZG93O1xuICAgIH1cbiAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90SW52ZXJ0ZWR9Omhhcyg+IGlucHV0OmZvY3VzKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3Rpb25Gb2N1c0JvcmRlckNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICYgPiBpLmljb24ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IEBzZWxlY3Rpb25JY29uRm9jdXNPcGFjaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMgPiBpLmljb24ge1xuICAgICAgICBvcGFjaXR5OiBAc2VsZWN0aW9uSWNvbkZvY3VzT3BhY2l0eTtcbiAgICB9XG5cbiAgICAvKiBWaXNpYmxlICovXG4gICAgLnVpLnNlbGVjdGlvbi52aXNpYmxlLmRyb3Bkb3duID4gLnRleHQ6bm90KC5kZWZhdWx0KSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAc2VsZWN0aW9uVmlzaWJsZVRleHRGb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQHNlbGVjdGlvblZpc2libGVUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogVmlzaWJsZSBIb3ZlciAqL1xuICAgIC51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uQWN0aXZlSG92ZXJCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkFjdGl2ZUhvdmVyQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvbkFjdGl2ZUhvdmVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25BY3RpdmVIb3Zlck1lbnVCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogRHJvcGRvd24gSWNvbiAqL1xuICAgIC51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4gICAgLnVpLnZpc2libGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBvcGFjaXR5OiBAc2VsZWN0aW9uVmlzaWJsZUljb25PcGFjaXR5O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgIC8qIENvbm5lY3RpbmcgQm9yZGVyICovXG4gICAgLnVpLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHNlbGVjdGlvblZpc2libGVDb25uZWN0aW5nQm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAc2VsZWN0aW9uVmlzaWJsZUNvbm5lY3RpbmdCb3JkZXIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBFbXB0eSBDb25uZWN0aW5nIEJvcmRlciAqL1xuICAgIC51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlbGVjdGlvbkJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TY3JvbGxoaW50KSB7XG4gICAgICAgIC8qIENTUyBzcGVjaWZpYyB0byBpT1MgZGV2aWNlcyBvciBmaXJlZm94IG1vYmlsZSBvbmx5ICovXG4gICAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBvciAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgICAgICBAbWVkaWEgKC1tb3otdG91Y2gtZW5hYmxlZCksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGhpbnQubWVudTpub3QoLmhpZGRlbik6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsaGludCBAc2Nyb2xsaGludER1cmF0aW9uIEBzY3JvbGxoaW50RWFzaW5nIEBzY3JvbGxoaW50SXRlcmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiBAc2Nyb2xsaGludFpJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IEBzY3JvbGxoaW50T2Zmc2V0UmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBzY3JvbGxoaW50UmlnaHRCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAc2Nyb2xsaGludExlZnRCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHNjcm9sbGhpbnRTdGFydENvbG9yLCBAc2Nyb2xsaGludEVuZENvbG9yKSAxIDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5zY3JvbGxoaW50Lm1lbnU6bm90KC5oaWRkZW4pOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBpbnZlcnRlZFNjcm9sbGhpbnRTdGFydENvbG9yLCBAaW52ZXJ0ZWRTY3JvbGxoaW50RW5kQ29sb3IpIDEgMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAa2V5ZnJhbWVzIHNjcm9sbGhpbnQge1xuICAgICAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWFyY2gpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNlYXJjaGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbiAgICAudWkuc2VhcmNoLmRyb3Bkb3duIHtcbiAgICAgICAgbWluLXdpZHRoOiBAc2VhcmNoTWluV2lkdGg7XG4gICAgfVxuXG4gICAgLyogU2VhcmNoIERyb3Bkb3duICovXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IEB0ZXh0Q3Vyc29yU3BhY2luZztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKiBUZXh0IExheWVyaW5nICovXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLnVpLnNlYXJjaC5kcm9wZG93biA+IC50ZXh0IHtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IEB0ZXh0Q3Vyc29yU3BhY2luZztcbiAgICAgICAgei1pbmRleDogYXV0bztcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNlbGVjdGlvbikge1xuICAgICAgICAvKiBTZWFyY2ggU2VsZWN0aW9uICovXG4gICAgICAgIC51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VhcmNoU2VsZWN0aW9uTGluZUhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBzZWFyY2hTZWxlY3Rpb25JbnB1dFBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBVc2VkIHRvIHNpemUgbXVsdGkgc2VsZWN0IGlucHV0IHRvIGNoYXJhY3RlciB3aWR0aCAqL1xuICAgICAgICAudWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IHNwYW4uc2l6ZXIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWFyY2hTZWxlY3Rpb25MaW5lSGVpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogQHNlYXJjaFNlbGVjdGlvbklucHV0UGFkZGluZztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQWN0aXZlL1Zpc2libGUgU2VhcmNoICovXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93bi5hY3RpdmUgPiBpbnB1dC5zZWFyY2gsXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93bi52aXNpYmxlID4gaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbiAgICAudWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IC50ZXh0LFxuICAgIC51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IC50ZXh0IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogRmlsdGVyZWQgVGV4dCAqL1xuICAgIC51aS5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IGkuaWNvbixcbiAgICAudWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuZmxhZyB7XG4gICAgICAgIG9wYWNpdHk6IEBzZWxlY3Rpb25UZXh0VW5kZXJsYXlJY29uT3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQge1xuICAgICAgICBjb2xvcjogQHNlbGVjdGlvblRleHRVbmRlcmxheUNvbG9yO1xuICAgIH1cblxuICAgIC51aS5zZWFyY2guZHJvcGRvd24uYnV0dG9uID4gc3Bhbi5zaXplciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogU2VhcmNoIE1lbnUgKi9cbiAgICAudWkuc2VhcmNoLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnNlYXJjaC5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VhcmNoTW9iaWxlTWF4TWVudUhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5zZWFyY2guZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlYXJjaFRhYmxldE1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5zZWFyY2guZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlYXJjaENvbXB1dGVyTWF4TWVudUhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNlYXJjaC5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VhcmNoV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duQ2xlYXIpIHtcbiAgICAvKiBDbGVhcmFibGUgU2VsZWN0aW9uICovXG4gICAgLnVpLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IEBkcm9wZG93bkljb25TaXplO1xuICAgICAgICBtYXJnaW46IEBzZWxlY3Rpb25JY29uTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAc2VsZWN0aW9uSWNvblBhZGRpbmc7XG4gICAgICAgIHJpZ2h0OiBAY2xlYXJhYmxlSWNvblBvc2l0aW9uO1xuICAgICAgICB0b3A6IEBzZWxlY3Rpb25WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25PcGFjaXR5O1xuICAgICAgICB6LWluZGV4OiBAc2VsZWN0aW9uSWNvblpJbmRleDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgICAgICByaWdodDogQGNsZWFyYWJsZUljb25TZWxlY3Rpb25Qb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bklubGluZSkge1xuICAgICAgICAudWkuaW5saW5lLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBAY2xlYXJhYmxlSWNvbklubGluZVBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmNsZWFyYWJsZS5kcm9wZG93biAudGV4dDpub3QoLmRlZmF1bHQpLFxuICAgIC51aS5jbGVhcmFibGUuZHJvcGRvd25Ae25vdFNlYXJjaH0gPiAudWkubGFiZWw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAY2xlYXJhYmxlVGV4dE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gc2VsZWN0Lm5vc2VsZWN0aW9uIH4gLnJlbW92ZS5pY29uLFxuICAgIC51aS5kcm9wZG93biBpbnB1dFt2YWx1ZT1cIlwiXSB+IC5yZW1vdmUuaWNvbixcbiAgICAudWkuZHJvcGRvd24gaW5wdXQ6bm90KFt2YWx1ZV0pQHtub3RTZWFyY2h9IH4gLnJlbW92ZS5pY29uLFxuICAgIC51aS5kcm9wZG93bi5sb2FkaW5nID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd25Ae25vdFNlbGVjdGlvbn0gPiAucmVtb3ZlLmljb24gfiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAY2xlYXJhYmxlSWNvbk1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duQHtub3RTZWxlY3Rpb259QHtub3RNdWx0aXBsZX0gPiAucmVtb3ZlLmljb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtQGNsZWFyYWJsZUljb25NYXJnaW5Ub3A7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bk11bHRpcGxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTXVsdGlwbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE11bHRpcGxlIFNlbGVjdGlvbiAqL1xuICAgIC51aS51aS5tdWx0aXBsZS5kcm9wZG93biB7XG4gICAgICAgIHBhZGRpbmc6IEBtdWx0aXBsZVNlbGVjdGlvblBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biAubWVudSB7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG5cbiAgICAvKiBTZWxlY3Rpb24gTGFiZWwgKi9cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogQGxhYmVsU2l6ZTtcbiAgICAgICAgcGFkZGluZzogQGxhYmVsUGFkZGluZztcbiAgICAgICAgbWFyZ2luOiBAbGFiZWxNYXJnaW47XG4gICAgICAgIGJveC1zaGFkb3c6IEBsYWJlbEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBEcm9wZG93biBJY29uICovXG4gICAgLnVpLm11bHRpcGxlLmRyb3Bkb3duIC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgbWFyZ2luOiBAbXVsdGlwbGVTZWxlY3Rpb25Ecm9wZG93bkljb25NYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBtdWx0aXBsZVNlbGVjdGlvbkRyb3Bkb3duSWNvblBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogVGV4dCAqL1xuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IEBtdWx0aXBsZVNlbGVjdGlvbkNoaWxkTWFyZ2luO1xuICAgICAgICBsaW5lLWhlaWdodDogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRMaW5lSGVpZ2h0O1xuICAgICAgICAmLmRlZmF1bHQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiBpbnB1dC5zZWFyY2gge1xuICAgICAgICBtYXJnaW4tbGVmdDogQG11bHRpcGxlU2VsZWN0aW9uU2VhcmNoQWZ0ZXJMYWJlbERpc3RhbmNlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB+IC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsQHtub3RJbWFnZX0gPiBpbWdAe25vdENlbnRlcmVkfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGl0ZW1FbGVtZW50RGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbEB7bm90SW1hZ2V9ID4gaW1nLnVpQHtub3RBdmF0YXJ9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGl0ZW1FbGVtZW50Qm90dG9tRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5pbWFnZS5sYWJlbCBpbWcge1xuICAgICAgICBtYXJnaW46IEBpbWFnZUxhYmVsSW1hZ2VNYXJnaW47XG4gICAgICAgIGhlaWdodDogQGltYWdlTGFiZWxIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93bkB7bm90U2VsZWN0aW9ufUB7bm90TGFiZWxlZH0ge1xuICAgICAgICAmID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICAgICAgcmlnaHQ6IEBkcm9wZG93bkljb25NdWx0aXBsZVJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgPiAucmVtb3ZlLmljb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZHJvcGRvd25JY29uTXVsdGlwbGVSaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmQHtub3RTZWFyY2h9ID4gLnJlbW92ZS5pY29uIH4gLnRleHQuZGVmYXVsdCxcbiAgICAgICAgPiAudGV4dC5kZWZhdWx0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWFyY2gpIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNdWx0aXBsZSBTZWFyY2hcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAvKiBNdWx0aXBsZSBTZWFyY2ggU2VsZWN0aW9uICovXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24sXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICAgICAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogUHJvbXB0IFRleHQgKi9cbiAgICAgICAgLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IC50ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiBAbXVsdGlwbGVTZWxlY3Rpb25DaGlsZE1hcmdpbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAbXVsdGlwbGVTZWxlY3Rpb25DaGlsZExpbmVIZWlnaHQ7XG4gICAgICAgICAgICAmLmRlZmF1bHQge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IC5sYWJlbCB+IC50ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTZWFyY2ggKi9cbiAgICAgICAgLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRNYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogQG11bHRpcGxlU2VsZWN0aW9uU2VhcmNoU3RhcnRXaWR0aDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAbXVsdGlwbGVTZWxlY3Rpb25DaGlsZExpbmVIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLmJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IEBzZWxlY3Rpb25NaW5XaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gc3Bhbi5zaXplciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd25Ae25vdFNlbGVjdGlvbn0gPiAucmVtb3ZlLmljb24gKyBpbnB1dC5zZWFyY2gsXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd25Ae25vdFNlbGVjdGlvbn0gPiBpbnB1dC5zZWFyY2g6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBAbXVsdGlwbGVTZWFyY2hNaW5XaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25JbmxpbmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW5saW5lXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW5saW5lLmRyb3Bkb3duIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiBAaW5saW5lVGV4dENvbG9yO1xuICAgIH1cbiAgICAudWkuaW5saW5lLmRyb3Bkb3duIC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgbWFyZ2luOiBAaW5saW5lSWNvbk1hcmdpbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cbiAgICAudWkuaW5saW5lLmRyb3Bkb3duID4gLnRleHQge1xuICAgICAgICBmb250LXdlaWdodDogQGlubGluZVRleHRGb250V2VpZ2h0O1xuICAgIH1cbiAgICAudWkuaW5saW5lLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiBAaW5saW5lTWVudURpc3RhbmNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAaW5saW5lTWVudUJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBNZW51IEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gICAgZm9udC13ZWlnaHQ6IEBhY3RpdmVJdGVtRm9udFdlaWdodDtcbiAgICBjb2xvcjogQGFjdGl2ZUl0ZW1Db2xvcjtcbiAgICBib3gtc2hhZG93OiBAYWN0aXZlSXRlbUJveFNoYWRvdztcbiAgICB6LWluZGV4OiBAYWN0aXZlSXRlbVpJbmRleDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTWVudSBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQGhvdmVyZWRJdGVtQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGhvdmVyZWRJdGVtQ29sb3I7XG4gICAgei1pbmRleDogQGhvdmVyZWRaSW5kZXg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIERlZmF1bHQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmRlZmF1bHQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiAudGV4dCB7XG4gICAgY29sb3I6IEBkZWZhdWx0VGV4dENvbG9yO1xufVxuLnVpLmRyb3Bkb3duQHtub3RCdXR0b259ID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuLnVpLmRlZmF1bHQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiBpbnB1dDpmb2N1cyB+IC50ZXh0IHtcbiAgICBjb2xvcjogQGRlZmF1bHRUZXh0Rm9jdXNDb2xvcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Mb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb24ge1xuICAgICAgICBoZWlnaHQ6IEByZWxhdGl2ZTE0cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuc2VsZWN0aW9uLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgICAgICAgcGFkZGluZzogQHJlbGF0aXZlMjFweCBAcmVsYXRpdmUxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyRmlsbENvbG9yO1xuICAgIH1cbiAgICAudWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogQ291cGxpbmcgKi9cbiAgICAudWkubG9hZGluZy5kcm9wZG93bi5idXR0b24gPiBpLmljb246OmJlZm9yZSxcbiAgICAudWkubG9hZGluZy5kcm9wZG93bi5idXR0b24gPiBpLmljb246OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWkubG9hZGluZy5kcm9wZG93biA+IC50ZXh0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBVc2VkIFRvIENoZWNrIFBvc2l0aW9uICovXG4gICAgLnVpLmRyb3Bkb3duIC5sb2FkaW5nLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGluZ1pJbmRleDtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duID4gLmxvYWRpbmcubWVudSB7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duID4gLm1lbnUgLmxvYWRpbmcubWVudSB7XG4gICAgICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgS2V5Ym9hcmQgU2VsZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFNlbGVjdGVkIEl0ZW0gKi9cbi51aS5kcm9wZG93bi5zZWxlY3RlZCxcbi51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gICAgYmFja2dyb3VuZDogQHNlbGVjdGVkQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHNlbGVjdGVkQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2VhcmNoIEZpbHRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEZpbHRlcmVkIEl0ZW0gKi9cbi51aS5kcm9wZG93biA+IC5maWx0ZXJlZC50ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuZHJvcGRvd24gLmZpbHRlcmVkLml0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkRyb3Bkb3duU3RhdGVzID0gZmFsc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIGVhY2goQHZhcmlhdGlvbkRyb3Bkb3duU3RhdGVzLCB7XG4gICAgICAgIEBzdGF0ZTogQHZhbHVlO1xuICAgICAgICBAYzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bZHJvcGRvd25MYWJlbENvbG9yXTtcbiAgICAgICAgQGJkYzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyQ29sb3JdO1xuXG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSxcbiAgICAgICAgLnVpLmRyb3Bkb3duLkB7c3RhdGV9ID4gLnRleHQsXG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC5kZWZhdWx0LnRleHQge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duLkB7c3RhdGV9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtiYWNrZ3JvdW5kXTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24uQHtzdGF0ZX06aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJkYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25NdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uQHtzdGF0ZX0uZHJvcGRvd24gPiAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC5tZW51LFxuICAgICAgICAudWkuZHJvcGRvd24uQHtzdGF0ZX0gPiAubWVudSAubWVudSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRyb3Bkb3duLkB7c3RhdGV9ID4gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJdGVtIEhvdmVyICovXG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC5tZW51ID4gLml0ZW06aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bZHJvcGRvd25Ib3ZlckJhY2tncm91bmRdO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSXRlbSBBY3RpdmUgKi9cbiAgICAgICAgLnVpLmRyb3Bkb3duLkB7c3RhdGV9ID4gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duQWN0aXZlQmFja2dyb3VuZF07XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25DbGVhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDbGVhclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4gICAgLnVpLmRyb3Bkb3duID4gLmNsZWFyLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBvcGFjaXR5OiBAY2xlYXJhYmxlSWNvbk9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgQGRlZmF1bHREdXJhdGlvbiBAZGVmYXVsdEVhc2luZztcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uOmhvdmVyLFxuICAgIC51aS5kcm9wZG93biA+IC5jbGVhci5kcm9wZG93bi5pY29uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25BY3RpdmVPcGFjaXR5O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25EaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIERpc2FibGVkICovXG4gICAgLnVpLmRpc2FibGVkLmRyb3Bkb3duLFxuICAgIC51aS5kcm9wZG93biAubWVudSA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVhZG9ubHkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgUmVhZC1Pbmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJlYWQtb25seS5kcm9wZG93biB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkRpc2FibGVkKSBvciAoQHZhcmlhdGlvbkRyb3Bkb3duUmVhZG9ubHkpIHtcbiAgICAudWkuZGlzYWJsZWQuZHJvcGRvd24sXG4gICAgLnVpLnJlYWQtb25seS5kcm9wZG93biB7XG4gICAgICAgID4gLnJlbW92ZS5pY29uLFxuICAgICAgICA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIERpcmVjdGlvblxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cbi51aS5kcm9wZG93biAubWVudSB7XG4gICAgbGVmdDogMDtcbn1cblxuLyogRGVmYXVsdCBTaWRlIChSaWdodCkgKi9cbi51aS5kcm9wZG93biAucmlnaHQubWVudSA+IC5tZW51LFxuLnVpLmRyb3Bkb3duIC5tZW51IC5yaWdodC5tZW51IHtcbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiBAc3ViTWVudUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25MZWZ0KSB7XG4gICAgLyogTGVmdHdhcmQgT3BlbmluZyBNZW51ICovXG4gICAgLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gPiAubGVmdC5tZW51IC5tZW51LFxuICAgIC51aS5kcm9wZG93biAubWVudSAubGVmdC5tZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogQGxlZnRTdWJNZW51TWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBsZWZ0U3ViTWVudUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuICAgIC51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsb2F0OiBAbGVmdE1lbnVEcm9wZG93bkljb25GbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAbGVmdE1lbnVEcm9wZG93bkljb25NYXJnaW47XG4gICAgfVxuICAgIC51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuICAgIC51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsb2F0OiBAbGVmdE1lbnVEcm9wZG93bkljb25GbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAbGVmdE1lbnVEcm9wZG93bkljb25NYXJnaW47XG4gICAgfVxuICAgIC51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uICsgLnRleHQsXG4gICAgLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24gKyAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAaXRlbURyb3Bkb3duSWNvbkRpc3RhbmNlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blVwd2FyZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBVcHdhcmRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFVwd2FyZCBNYWluIE1lbnUgKi9cbiAgICAudWkudXB3YXJkLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogQHVwd2FyZE1lbnVCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogVXB3YXJkIFN1YiBNZW51ICovXG4gICAgLnVpLmRyb3Bkb3duIC51cHdhcmQubWVudSB7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNpbXBsZSkge1xuICAgICAgICAvKiBBY3RpdmUgVXB3YXJkICovXG4gICAgICAgIC51aS5zaW1wbGUudXB3YXJkLmFjdGl2ZS5kcm9wZG93bixcbiAgICAgICAgLnVpLnNpbXBsZS51cHdhcmQuZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duQnV0dG9uKSB7XG4gICAgICAgIC8qIEJ1dHRvbiAqL1xuICAgICAgICAudWkudXB3YXJkLmRyb3Bkb3duLmJ1dHRvbkB7bm90UG9pbnRpbmd9QHtub3RGbG9hdGluZ30uYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVwd2FyZC5kcm9wZG93bi5idXR0b25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9ID4gLm1lbnUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC8qIFNlbGVjdGlvbiAqL1xuICAgICAgICAudWkudWkudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90UG9pbnRpbmd9QHtub3RGbG9hdGluZ30gPiAubWVudSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiBAbWVudUJvcmRlcldpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25NZW51Qm94U2hhZG93O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQHVwd2FyZFNlbGVjdGlvbk1lbnVCb3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHVwd2FyZFNlbGVjdGlvbkhvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQWN0aXZlIFVwd2FyZCAqL1xuICAgICAgICAudWkuYWN0aXZlLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEB1cHdhcmRTZWxlY3Rpb25WaXNpYmxlQm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBWaXNpYmxlIFVwd2FyZCAqL1xuICAgICAgICAudWkudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93bi52aXNpYmxlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25WaXNpYmxlQm94U2hhZG93O1xuICAgICAgICAgICAgJkB7bm90UG9pbnRpbmd9QHtub3RGbG9hdGluZ30ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEB1cHdhcmRTZWxlY3Rpb25WaXNpYmxlQm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBWaXNpYmxlIEhvdmVyIFVwd2FyZCAqL1xuICAgICAgICAudWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHVwd2FyZFNlbGVjdGlvbkFjdGl2ZUhvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aS51cHdhcmQuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlckB7bm90UG9pbnRpbmd9QHtub3RGbG9hdGluZ30gLm1lbnUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHVwd2FyZFNlbGVjdGlvbkFjdGl2ZUhvdmVyTWVudUJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TY3JvbGxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTZWxlY3Rpb24gTWVudSAqL1xuICAgIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAZmxvYXRpbmdNZW51Qm9yZGVyUmFkaXVzIEBmbG9hdGluZ01lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IEBtZW51Qm9yZGVyO1xuICAgIH1cbiAgICAudWkudWkudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtLFxuICAgIC51aS51aS51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBzY3JvbGxpbmdNZW51SXRlbUJvcmRlcjtcbiAgICB9XG4gICAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCxcbiAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duID4gLmFuaW1hdGluZy5tZW51IC5zY3JvbGxpbmcubWVudSxcbiAgICAudWkuZHJvcGRvd24gPiAudmlzaWJsZS5tZW51IC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgLyogU2Nyb2xsYmFyIGluIElFICovXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogZSglKFwiY2FsYygxMDAlJSAtICVkKVwiLCBAc2Nyb2xsYmFyV2lkdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25SZXNpemFibGUpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heE1lbnVIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhNZW51SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25SZXNpemFibGUpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4TWVudUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25SZXNpemFibGUpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhNZW51SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5yZXNpemFibGUubWVudSB7XG4gICAgICAgICAgICByZXNpemU6IEByZXNpemFibGVEaXJlY3Rpb247XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dExhYmVsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGFiZWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogUmVndWxhciBMYWJlbCBvbiBMZWZ0ICovXG4gICAgLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgLmRyb3Bkb3duIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8qIFJlZ3VsYXIgTGFiZWwgb24gUmlnaHQgKi9cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IC5kcm9wZG93bjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IC5kcm9wZG93biArIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkNvbHVtbmFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbHVtbmFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmNvbHVtbi5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd25bY2xhc3MqPVwidHdvIGNvbHVtblwiXSA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd25bY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdID4gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgfVxuICAgIC51aS5kcm9wZG93bltjbGFzcyo9XCJmb3VyIGNvbHVtblwiXSA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd25bY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2ltcGxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNpbXBsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRGlzcGxheXMgd2l0aG91dCBqYXZhc2NyaXB0ICovXG5cbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OjpiZWZvcmUsXG4gICAgLnVpLnNpbXBsZS5kcm9wZG93biAubWVudTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgIC8qIElFIGhhY2sgdG8gbWFrZSBkcm9wZG93biBpY29ucyBhcHBlYXIgaW5saW5lICovXG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBAc2ltcGxlVHJhbnNpdGlvbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blVwd2FyZCkge1xuICAgICAgICAudWkuc2ltcGxlLmRyb3Bkb3duIC51cHdhcmQubWVudSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAc2ltcGxlVXB3YXJkTWVudU1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2ltcGxlLnNlbGVjdGlvbi5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQHNpbXBsZVVwd2FyZFNlbGVjdGlvbk1lbnVNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAudWkuc2ltcGxlLmRyb3Bkb3duLml0ZW0gLnVwd2FyZC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBzaW1wbGVVcHdhcmRJdGVtTWVudU1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5zaW1wbGUuYWN0aXZlLmRyb3Bkb3duLFxuICAgIC51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAudWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuICAgIC51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIgPiAubWVudSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5tZW51LFxuICAgIC51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLnVpLnNpbXBsZS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duID4gLm1lbnUsXG4gICAgICAgIC51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyID4gLm1lbnUsXG4gICAgICAgIC51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcbiAgICAgICAgLnVpLnNpbXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLmxlZnQubWVudSxcbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyID4gLmxlZnQubWVudSxcbiAgICAucmlnaHQubWVudSAudWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudTpub3QoLnJpZ2h0KSxcbiAgICAucmlnaHQubWVudSAudWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudTpub3QoLnJpZ2h0KSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkRpc2FibGVkKSB7XG4gICAgICAgIC51aS5zaW1wbGUuZGlzYWJsZWQuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFZpc2libGUgKi9cbiAgICAudWkuc2ltcGxlLnZpc2libGUuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNjcm9sbGluZykge1xuICAgICAgICAvKiBTY3JvbGxpbmcgKi9cbiAgICAgICAgLnVpLnNpbXBsZS5zY3JvbGxpbmcuYWN0aXZlLmRyb3Bkb3duID4gLm1lbnUsXG4gICAgICAgIC51aS5zaW1wbGUuc2Nyb2xsaW5nLmRyb3Bkb3duOmhvdmVyID4gLm1lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmx1aWQuZHJvcGRvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICAudWkuZmx1aWQuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duRmxvYXRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbG9hdGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogQGZsb2F0aW5nTWVudUJveFNoYWRvdyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZmxvYXRpbmdNZW51Qm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aUB7bm90VXB3YXJkfS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGZsb2F0aW5nTWVudURpc3RhbmNlO1xuICAgIH1cbiAgICAudWkudXB3YXJkLmZsb2F0aW5nLmRyb3Bkb3duQHtub3RTaW1wbGV9ID4gLm1lbnUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZmxvYXRpbmdNZW51RGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blBvaW50aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBvaW50aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogQHBvaW50aW5nTWVudURpc3RhbmNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAcG9pbnRpbmdNZW51Qm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51Om5vdCguaGlkZGVuKTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB3aWR0aDogQHBvaW50aW5nQXJyb3dTaXplO1xuICAgICAgICBoZWlnaHQ6IEBwb2ludGluZ0Fycm93U2l6ZTtcbiAgICAgICAgYm94LXNoYWRvdzogQHBvaW50aW5nQXJyb3dCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBwb2ludGluZ0Fycm93QmFja2dyb3VuZDtcbiAgICAgICAgei1pbmRleDogQHBvaW50aW5nQXJyb3daSW5kZXg7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgIC51aS5wb2ludGluZy5kcm9wZG93bkB7bm90VXB3YXJkfSAubWVudTpoYXMoOmZpcnN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIsXG4gICAgICAgIC51aS51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKDpsYXN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGhvdmVyZWRJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAudWkucG9pbnRpbmcuZHJvcGRvd25Ae25vdFVwd2FyZH0gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gICAgICAgIC51aS51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLnVpLnNlbGVjdGlvbi5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAcG9pbnRpbmdBcnJvd0JveFNoYWRvd1NlbGVjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTpub3QoLmhpZGRlbik6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIFRvcCBMZWZ0IFBvaW50aW5nICovXG4gICAgLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDAgMDtcbiAgICB9XG4gICAgLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDAgMDtcbiAgICB9XG4gICAgLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbGVmdDogQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgLyogVG9wIFJpZ2h0IFBvaW50aW5nICovXG4gICAgLnVpLnRvcC5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS50b3AucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51OjphZnRlcixcbiAgICAudWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgIC8qIExlZnQgUG9pbnRpbmcgKi9cbiAgICAudWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgfVxuICAgIC51aS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxZW07XG4gICAgICAgIGxlZnQ6IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgIC51aS5sZWZ0Om5vdCgudG9wKTpub3QoLmJvdHRvbSkucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51IHtcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDAgMDtcbiAgICB9XG4gICAgLnVpLmxlZnQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cblxuICAgIC8qIFJpZ2h0IFBvaW50aW5nICovXG4gICAgLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDAgMDtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSBQb2ludGluZyAqL1xuICAgIC51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgIH1cbiAgICAudWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB9XG5cbiAgICAvKiBSZXZlcnNlIFN1Yi1NZW51IERpcmVjdGlvbiAqL1xuICAgIC51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSAubWVudSB7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gTGVmdCAqL1xuICAgIC51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIGxlZnQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogQm90dG9tIFJpZ2h0ICovXG4gICAgLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC51aS5ib3R0b20ucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgIH1cblxuICAgIC8qIFVwd2FyZCBwb2ludGluZyAqL1xuICAgIC51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUsXG4gICAgLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIEBwb2ludGluZ01lbnVEaXN0YW5jZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHBvaW50aW5nVXB3YXJkTWVudUJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLnVwd2FyZC5kcm9wZG93biAubWVudTo6YWZ0ZXIsXG4gICAgLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBAcG9pbnRpbmdVcHdhcmRBcnJvd0JveFNoYWRvdztcbiAgICAgICAgbWFyZ2luOiBAcG9pbnRpbmdBcnJvd09mZnNldCAwIDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLnVpLnNlbGVjdGlvbi5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBwb2ludGluZ1Vwd2FyZEFycm93Qm94U2hhZG93U2VsZWN0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUmlnaHQgUG9pbnRpbmcgVXB3YXJkICovXG4gICAgLnVpLnJpZ2h0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDAgMDtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwb2ludGluZ0Fycm93Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIExlZnQgUG9pbnRpbmcgVXB3YXJkICovXG4gICAgLnVpLmxlZnQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgIH1cbiAgICAudWkubGVmdC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudTo6YWZ0ZXIge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwO1xuICAgICAgICBib3gtc2hhZG93OiBAcG9pbnRpbmdBcnJvd0JveFNoYWRvdztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUG9pbnRpbmcpIG9yIChAdmFyaWF0aW9uRHJvcGRvd25GbG9hdGluZykge1xuICAgIC51aS5mbG9hdGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCxcbiAgICAudWkucG9pbnRpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmxhc3QtY2hpbGQsXG4gICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Ecm9wZG93blNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Ecm9wZG93blNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkudWkuQHt2YWx1ZX0uZHJvcGRvd24sXG4gICAgICAgIC51aS51aS5Ae3ZhbHVlfS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25IaWdobGlnaHRNYXRjaGVzKSB7XG4gICAgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBoaWdobGlnaHRNYXRjaGVzQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBoaWdobGlnaHRNYXRjaGVzQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEdlbmVyYWwgcnVsZXMgYW5kIGJhc2ljIGRyb3Bkb3ducyAqL1xuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRNZW51QmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkTWVudUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRNZW51Qm9yZGVyO1xuICAgIH1cblxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1lbnVDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3RpdmVJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEFjdGl2ZUl0ZW1Db2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkQWN0aXZlSXRlbUJveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaXRlbTpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyZWRJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhvdmVyZWRJdGVtQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duLnNlbGVjdGVkLFxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSAuc2VsZWN0ZWQuaXRlbSxcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3RlZEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZENvbG9yO1xuICAgIH1cblxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5oZWFkZXIsXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLmhlYWRlciB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZW51SGVhZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duID4gLnRleHQgPiAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW0gPiAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogQGludmVydGVkSXRlbURlc2NyaXB0aW9uQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLmRpdmlkZXIsXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLmRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRNZW51RGl2aWRlckJvcmRlcjtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLnNjcm9sbGluZy5tZW51LFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZE1lbnVCb3JkZXI7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLyogU2VsZWN0aW9uICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICAgICAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRTZWxlY3Rpb25Cb3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvblRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25Ib3ZlckJvcmRlckNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkU2VsZWN0aW9uSG92ZXJCb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIGlucHV0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25JbnB1dFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24udmlzaWJsZS5kcm9wZG93biA+IC50ZXh0Om5vdCguZGVmYXVsdCkge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvblZpc2libGVUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2VsZWN0aW9uLnNpbXBsZS5kcm9wZG93bjpob3ZlciAuaW52ZXJ0ZWQubWVudSxcbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5zaW1wbGUuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4gICAgICAgIC51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51LFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25WaXNpYmxlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW0sXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRTZWxlY3Rpb25JdGVtRGl2aWRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93bkB7bm90QnV0dG9ufSA+IC5kZWZhdWx0LnRleHQsXG4gICAgLnVpLmludmVydGVkLmRlZmF1bHQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiAudGV4dCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREZWZhdWx0VGV4dENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4gICAgLnVpLmludmVydGVkLmRlZmF1bHQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiBpbnB1dDpmb2N1cyB+IC50ZXh0IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZERlZmF1bHRUZXh0Rm9jdXNDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCBpLmljb24sXG4gICAgLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmZsYWcge1xuICAgICAgICBvcGFjaXR5OiBAaW52ZXJ0ZWRTZWxlY3Rpb25UZXh0VW5kZXJsYXlJY29uT3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uVGV4dFVuZGVybGF5Q29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSksXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTWVzc2FnZUNvbG9yO1xuICAgIH1cblxuICAgIC8qIEZpeGluZyB0aGUgYm9yZGVyICovXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTXVsdGlwbGUpIHtcbiAgICAgICAgLyogTGFiZWxzICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRMYWJlbEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBpbnZlcnRlZExhYmVsQmFja2dyb3VuZEltYWdlO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExhYmVsQ29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRMYWJlbEJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRMYWJlbEhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRMYWJlbEhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGludmVydGVkTGFiZWxIb3ZlckJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMYWJlbEhvdmVyVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmludmVydGVkLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsID4gLmNsb3NlLmljb24sXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAaW52ZXJ0ZWRMYWJlbEljb25PcGFjaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmludmVydGVkLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsID4gLmNsb3NlLmljb246aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAaW52ZXJ0ZWRMYWJlbEljb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTZWxlY3Rpb24gZm9yIGZvcm0gZWxlbWVudHMgKi9cbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gdGV4dGFyZWE6OnNlbGVjdGlvbixcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gaW5wdXQ6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZElucHV0SGlnaGxpZ2h0QmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZElucHV0SGlnaGxpZ2h0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogU2Nyb2xsYmFycyAqL1xuICAgICYgd2hlbiAoQHVzZUN1c3RvbVNjcm9sbGJhcnMpIHtcbiAgICAgICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbiAgICAgICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbiAgICAgICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSW5hY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICAgICAgICAgIC8qIElFMTEgKi9cbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51LFxuICAgICAgICAgICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgICAgICAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmQgQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUG9pbnRpbmcpIHtcbiAgICAgICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLmludmVydGVkLm1lbnU6OmFmdGVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkUG9pbnRpbmdBcnJvd0JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRQb2ludGluZ0Fycm93Qm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duVXB3YXJkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRQb2ludGluZ1Vwd2FyZEFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLnBvaW50aW5nLmRyb3Bkb3duQHtub3RVcHdhcmR9IC5tZW51Omhhcyg6Zmlyc3QtY2hpbGQ6aG92ZXIpOjphZnRlcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKDpsYXN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyZWRJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5wb2ludGluZy5kcm9wZG93bkB7bm90VXB3YXJkfSAubWVudTpoYXMoLnNlbGVjdGVkLml0ZW06Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU2VsZWN0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIERyb3Bkb3duIENhcmV0cyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IERyb3Bkb3duO1xuICAgIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSazlVVkU4QUFBU0VBQXNBQUFBQUJ3UUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFDNUFBQUFVOEFBQUhyU3IyMkFVWkdWRTBBQUFSUUFBQUFIQUFBQUJ5TnJaL1RSMFJGUmdBQUJEUUFBQUFjQUFBQUlBQW5BQmhQVXk4eUFBQUJZQUFBQUVJQUFBQmdUYWRYQ0dOdFlYQUFBQUtFQUFBQVZBQUFBV1FGY09LUWFHVmhaQUFBQVFnQUFBQXlBQUFBTmcrajgwNW9hR1ZoQUFBQlBBQUFBQnNBQUFBa0F3Y0JEV2h0ZEhnQUFBUnNBQUFBRmdBQUFCNEVBUUFTYldGNGNBQUFBVmdBQUFBR0FBQUFCZ0FJVUFCdVlXMWxBQUFCcEFBQUFOOEFBQUcyclNiQU0zQnZjM1FBQUFMWUFBQUFEQUFBQUNBQUF3QUFlSnhqWUdSZ1lBRGlLanRHM25oK202OE0zRXdNSUhDQndUMENSTjlQeUhZQ1VwNk1xb3g1UUpxREFTd05BTU5PQnJnQUFIaWNZMkJrWUdCODhQOEJrRlJsWUFDVGpBeW9nQjBBV1dzREZnQUFBRkFBQUFnQUFIaWNZMkJtK01nNGdZR1ZnWUhSaHpHTmdZSEJIVXAvWlpCa2FHRkFCWXdDU0p5QU5OY1VCZ2NHaGcrM0dCLzhmd0NVZk1DZ0FGSURWNkFBaEl3QVViRU1TUUFBZUp4MXpURUt3a0FVQk5CSmpJb0tJZ2dXMm13dkJFVnZJQWdpTmhZMlZqRXVRVWgyWVkyRmVBQ1BZT2x0dklIM2NaSjh5d1FTM3AvZCtRRXd3QWNlL284djl0REdVT3pUVTNHRFhva0QraWh1b29lSHVNWDhKZTVpakM5Ylh0Q1JQMVQyMEtjcSsvUkUzS0FYNG9EZWlwc1lJUmEzbUQvRlhTenhMdFplZUd5UjhiVXdIR09iV1V2c29aSGdoaFFSSEVlZDNOTEkxZCt2eXcvYzQzRGxlWkVyekJGaXhsaTc2OFVhTlE5bjlkMTFPZWRzSmR4aXlrMFJaNDB6c3hQdS9HN0s3azY2SVV2VzVDclJScnNvMTJkMXVxdE5iSGZjRitJSHJuVSttd0I0bkdOZ1lHQm1nR0FaQmtZR0VJZ0Q4aGpCZkJZR0p5RE54Y0RCd0FTRWpBd0tIMjc5Ly92L1AxaVZ3b2ZyWURiai84ZGdQa1F2R3dNUGtHUmhZQVd5Mk1IQ2JFRE14SUFYTU9PWEh2SUFBSU5oRHQxNG5HTmdac0FMQUFCOUFBUjRuRTJQdjByRVFCQ0haM0o3ZDR2R3FFY09GYUtDL3pvbFo2T1d3bUVsTmo2Q2xZV215aXZjYmx5ekUrUmFLOEVIc1BNeEJCdHJ3VWR3QTFmb2JwSTdaV0JZZnV4OGZEOEV4Z0FSK2ZWVmNwTWt0NEFlSUF6TExTaTNzZHp4eXQxV3VjcVUzMUkrMjVpRHRjdmVqMUt6aDk5VjcrYTE5Tm9SUEMxR0FFc1J2Q3hId0NQODdNRzhJN1dnRFJ3V29BY3JFTUdtblQzWVQrTjBrQjdHNlZrOFBITHIySzBUdDA0SEIzRmpNaFVDUUlFU003eERoZmVZQTNkY3o1SVpkT0FjSHVBRDE0TWdlQXUrelROVFJWNW9UVVI1b2JnWmR3cFZaRnFRekVmS1RpYUU0Sk53RXJhbEhHVXVFcm5RTmpFMm9ZeFV3UzBsZEJUU3hJM0w3Y095S282MGliMGxlelNsMVJ3K0dYZHExcFFpSDAzU2R6S2thNHltb3NMUVRNY2VkU3VJbEVKVU1xTmNVaTBqZElQNVlzYisrbGVxTHRTSS9OV1NUUzB4cTBXeVlhalFYUFNWUC9jTGl0TzROZ0I0bkdOZ1pHQmc0QUZpQVFZSkJpWWd6UUxFSUpvUmdnRUZiUUJBQUFBQUFRQUFBQURlVE8wNEFBQUFBTkFBUjFnQUFBQUEzMkJyUW5pY1kyQkFBRVlRVm9WZ2h1ME1RZ3dNQUFjL0FSY0FBQT09XCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBmb250LWZhbWlseTogRHJvcGRvd247XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDEuMjNlbTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgd2lkdGg6IGF1dG87XG59XG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuXG4vKiBTdWIgTWVudSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGRhXCIgLyogcnRsOiBcIlxcZjBkOVwiICovO1xufVxuXG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZDlcIiAvKnJ0bDogXCJcXGYwZGFcIiAqLztcbn1cblxuLyogVmVydGljYWwgTWVudSBEcm9wZG93biAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkYVwiIC8qIHJ0bDogXCJcXGYwZDlcIiAqLztcbn1cblxuLyogSWNvbnMgZm9yIFJlZmVyZW5jZVxuLmRyb3Bkb3duLmRvd24uaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZHJvcGRvd24udXAuaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4uZHJvcGRvd24ubGVmdC5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZDlcIjtcbn1cbi5kcm9wZG93bi5pY29uLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xufVxuKi9cbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEVtYmVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImVtYmVkXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5lbWJlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogQHdpZGVzY3JlZW5SYXRpbztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgRW1iZWRkZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5lbWJlZCBpZnJhbWUsXG4udWkuZW1iZWQgZW1iZWQsXG4udWkuZW1iZWQgb2JqZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRW1iZWRcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZW1iZWQgPiAuZW1iZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5lbWJlZCA+IC5wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogQHBsYWNlaG9sZGVyQmFja2dyb3VuZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZW1iZWQgPiBpLmljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG59XG4udWkuZW1iZWQgPiBpLmljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBAcGxhY2Vob2xkZXJCYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IEBwbGFjZWhvbGRlckJhY2tncm91bmRPcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IEBwbGFjZWhvbGRlckJhY2tncm91bmRUcmFuc2l0aW9uO1xufVxuLnVpLmVtYmVkID4gaS5pY29uOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6IEBpY29uQ29sb3I7XG4gICAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gICAgdGV4dC1zaGFkb3c6IEBpY29uU2hhZG93O1xuICAgIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbiAgICB6LWluZGV4OiBAaWNvblpJbmRleDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZW1iZWQgaS5pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogQGhvdmVyUGxhY2Vob2xkZXJCYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IEBob3ZlclBsYWNlaG9sZGVyQmFja2dyb3VuZE9wYWNpdHk7XG59XG4udWkuZW1iZWQgaS5pY29uOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbG9yOiBAaG92ZXJJY29uQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5hY3RpdmUuZW1iZWQgPiBpLmljb24sXG4udWkuYWN0aXZlLmVtYmVkID4gLnBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5lbWJlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRW1iZWRSYXRpbykge1xuICAgIC51aS5zcXVhcmUuZW1iZWQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHNxdWFyZVJhdGlvO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiNDozXCJdLmVtYmVkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBzdGFuZGFyZFJhdGlvO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiMTY6OVwiXS5lbWJlZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAd2lkZXNjcmVlblJhdGlvO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiMjE6OVwiXS5lbWJlZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAdWx0cmFXaWRlc2NyZWVuUmF0aW87XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEZseW91dFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJmbHlvdXRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RGdWxsc2NyZWVuOiBpZihAdmFyaWF0aW9uRmx5b3V0RnVsbHNjcmVlbiwgZShcIjpub3QoLmZ1bGxzY3JlZW4pXCIpKTtcblxuQG5vdEZsdWlkOiBpZihAdmFyaWF0aW9uQnV0dG9uRmx1aWQsIGUoXCI6bm90KC5mbHVpZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEZseW91dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRmx5b3V0IE1lbnUgKi9cbi51aS5mbHlvdXQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgei1pbmRleDogQHRvcExheWVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5mbHlvdXQgPiAqIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRDbG9zZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2xvc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHlvdXQgPiAuY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBAY2xvc2VUb3A7XG4gICAgICAgIHJpZ2h0OiBAY2xvc2VSaWdodDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogQGNsb3NlT3BhY2l0eTtcbiAgICAgICAgZm9udC1zaXplOiBAY2xvc2VTaXplO1xuICAgICAgICBjb2xvcjogQGNsb3NlQ29sb3I7XG4gICAgICAgIHdpZHRoOiBAY2xvc2VIaXRib3g7XG4gICAgICAgIGhlaWdodDogQGNsb3NlSGl0Ym94O1xuICAgICAgICBwYWRkaW5nOiBAY2xvc2VQYWRkaW5nO1xuICAgICAgICBtYXJnaW46IEBjbG9zZU1hcmdpbjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC51aS5mbHlvdXQgPiAuY2xvc2U6Zm9jdXMsXG4gICAgLnVpLmZseW91dCA+IC5jbG9zZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQgPiAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBAaGVhZGVyQmFja2dyb3VuZDtcbiAgICBtYXJnaW46IEBoZWFkZXJNYXJnaW47XG4gICAgcGFkZGluZzogQGhlYWRlclBhZGRpbmc7XG4gICAgYm94LXNoYWRvdzogQGhlYWRlckJveFNoYWRvdztcbiAgICBjb2xvcjogQGhlYWRlckNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IEBoZWFkZXJCb3JkZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQgPiAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBAY29udGVudEZvbnRTaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBAY29udGVudExpbmVIZWlnaHQ7XG4gICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IEBjb250ZW50QmFja2dyb3VuZDtcbiAgICAmLnNjcm9sbGluZyB3aGVuKEB2YXJpYXRpb25GbHlvdXRTY3JvbGxpbmcpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxufVxuLnVpLmZseW91dC5sZWZ0ID4gLmNvbnRlbnQsXG4udWkuZmx5b3V0LnJpZ2h0ID4gLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IEBjb250ZW50TWluSGVpZ2h0V2l0aG91dEhlYWRlcjtcbn1cbi51aS5mbHlvdXQubGVmdCA+IC5oZWFkZXIgKyAuY29udGVudCxcbi51aS5mbHlvdXQucmlnaHQgPiAuaGVhZGVyICsgLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IEBjb250ZW50TWluSGVpZ2h0O1xufVxuJiB3aGVuKEB2YXJpYXRpb25GbHlvdXRTY3JvbGxpbmcpIHtcbiAgICAudWkuZmx5b3V0LmxlZnQgPiAuc2Nyb2xsaW5nLmNvbnRlbnQsXG4gICAgLnVpLmZseW91dC5yaWdodCA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb250ZW50TWF4SGVpZ2h0V2l0aG91dEhlYWRlcjtcbiAgICB9XG4gICAgLnVpLmZseW91dC5sZWZ0ID4gLmhlYWRlciArIC5zY3JvbGxpbmcuY29udGVudCxcbiAgICAudWkuZmx5b3V0LnJpZ2h0ID4gLmhlYWRlciArIC5zY3JvbGxpbmcuY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb250ZW50TWF4SGVpZ2h0O1xuICAgIH1cblxuICAgIC51aS5mbHlvdXQudG9wID4gLnNjcm9sbGluZy5jb250ZW50LFxuICAgIC51aS5mbHlvdXQuYm90dG9tID4gLnNjcm9sbGluZy5jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHRUb3BCb3R0b207XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRBY3Rpb25zKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY3Rpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmZseW91dCA+IC5hY3Rpb25zIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGFjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBhY3Rpb25QYWRkaW5nO1xuICAgICAgICBib3JkZXItdG9wOiBAYWN0aW9uQm9yZGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBAYWN0aW9uQWxpZ247XG4gICAgfVxuICAgIC51aS5mbHlvdXQgLmFjdGlvbnMgPiAuYnV0dG9uQHtub3RGbHVpZH0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGJ1dHRvbkRpc3RhbmNlO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCYXNpYykge1xuICAgICAgICAudWkudWkuZmx5b3V0ID4gLmJhc2ljLmFjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRMZWZ0QWN0aW9ucykge1xuICAgICAgICAudWkuZmx5b3V0ID4gLmxlZnQuYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgJiA+IC5idXR0b25Ae25vdEZsdWlkfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBidXR0b25MZWZ0RGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYnV0dG9uTGVmdERpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0Q2VudGVyZWQpIHtcbiAgICAudWkuZmx5b3V0ID4gLmNlbnRlcmVkLFxuICAgIC51aS5mbHlvdXQgPiAuY2VudGVyLmFsaWduZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICYuYWN0aW9ucyA+IC5idXR0b25Ae25vdEZsdWlkfSB3aGVuIChAdmFyaWF0aW9uRmx5b3V0QWN0aW9ucykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBidXR0b25DZW50ZXJlZERpc3RhbmNlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYnV0dG9uQ2VudGVyZWREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dEJhc2ljKSB7XG4gICAgLnVpLnVpLmZseW91dCA+IC5iYXNpYy5oZWFkZXIsXG4gICAgLnVpLnVpLmZseW91dCA+IC5iYXNpYy5hY3Rpb25zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC51aS5mbHlvdXQgPiAuYmFzaWMuaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdCkge1xuICAgIC51aS5sZWZ0LmZseW91dCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRSaWdodCkge1xuICAgIC51aS5yaWdodC5mbHlvdXQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFRvcCkgb3IgKEB2YXJpYXRpb25GbHlvdXRCb3R0b20pIHtcbiAgICAudWkudG9wLmZseW91dCxcbiAgICAudWkuYm90dG9tLmZseW91dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFRvcCkge1xuICAgICAgICAudWkudG9wLmZseW91dCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5mbHlvdXQge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUHVzaGFibGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUucHVzaGFibGUucHVzaGFibGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICAmLmxvY2tlZCB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8qIFdob2xlIFBhZ2UgKi9cbmJvZHkucHVzaGFibGUge1xuICAgIGJhY2tncm91bmQ6IEBjYW52YXNCYWNrZ3JvdW5kO1xuICAgICYuZGltbWVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8qIFBhZ2UgQ29udGV4dCAqL1xuLnB1c2hhYmxlOm5vdChib2R5KSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnVpLmZseW91dCxcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAuZml4ZWQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnB1c2hlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgei1pbmRleDogQGZpeGVkTGF5ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIHotaW5kZXg6IEBtaWRkbGVMYXllcjtcblxuICAgIC8qIFB1c2hlciBzaG91bGQgaW5oZXJpdCBiYWNrZ3JvdW5kIGZyb20gY29udGV4dCAqL1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgJjpub3QoLm92ZXJmbG93aW5nKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gICAgYmFja2dyb3VuZDogQHBhZ2VCYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyOjphZnRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IEBkaW1tZXJDb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogQGRpbW1lclRyYW5zaXRpb247XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgei1pbmRleDogQGRpbW1lckxheWVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZseW91dC5tZW51IC5pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCbHVycmluZykge1xuICAgIC5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkLmJsdXJyaW5nOm5vdCguY2xvc2luZyk6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsdXJyZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBAYmx1cnJlZEVuZEZpbHRlcjtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBAYmx1cnJlZEVuZEZpbHRlcjtcbiAgICB9XG59XG4ucHVzaGFibGUgPiAucHVzaGVyLmNsb3NpbmcuZGltbWVkOjphZnRlciB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5hbmltYXRpbmcuZmx5b3V0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnZpc2libGUuZmx5b3V0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIFNoYWRvdyBEaXJlY3Rpb24gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dExlZnQpIG9yIChAdmFyaWF0aW9uRmx5b3V0UmlnaHQpIHtcbiAgICAudWkubGVmdC52aXNpYmxlLmZseW91dCxcbiAgICAudWkucmlnaHQudmlzaWJsZS5mbHlvdXQge1xuICAgICAgICBib3gtc2hhZG93OiBAaG9yaXpvbnRhbEJveFNoYWRvdztcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUb3ApIG9yIChAdmFyaWF0aW9uRmx5b3V0Qm90dG9tKSB7XG4gICAgLnVpLnRvcC52aXNpYmxlLmZseW91dCxcbiAgICAudWkuYm90dG9tLnZpc2libGUuZmx5b3V0IHtcbiAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsQm94U2hhZG93O1xuICAgIH1cbn1cblxuLyogVmlzaWJsZSBPbiBMb2FkICovXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRMZWZ0KSB7XG4gICAgLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAd2lkdGgsIDAsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFJpZ2h0KSB7XG4gICAgLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1Ad2lkdGgsIDAsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFRvcCkge1xuICAgIC51aS52aXNpYmxlLnRvcC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUudG9wLmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIEBoZWlnaHQsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dEJvdHRvbSkge1xuICAgIC51aS52aXNpYmxlLmJvdHRvbS5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUuYm90dG9tLmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC1AaGVpZ2h0LCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dExlZnQpIG9yIChAdmFyaWF0aW9uRmx5b3V0UmlnaHQpIHtcbiAgICAvKiBvcHBvc2l0ZSBzaWRlcyB2aXNpYmxlIGZvcmNlcyBjb250ZW50IG92ZXJsYXkgKi9cbiAgICAudWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIsXG4gICAgLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dEludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmZseW91dC5pbnZlcnRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dENsb3NlKSB7XG4gICAgICAgIC51aS5mbHlvdXQuaW52ZXJ0ZWQgPiAuY2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZENsb3NlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuZmx5b3V0LmludmVydGVkID4gLmhlYWRlcixcbiAgICAudWkuZmx5b3V0LmludmVydGVkID4gLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5mbHlvdXQuaW52ZXJ0ZWQgPiAuYWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZEFjdGlvbkJvcmRlcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEFjdGlvbkNvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIExlZnQgLyBSaWdodCAqL1xuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdCkgb3IgKEB2YXJpYXRpb25GbHlvdXRSaWdodCkge1xuICAgIC51aS5sZWZ0LmZseW91dCxcbiAgICAudWkucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgd2lkdGg6IEB3aWR0aDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0VGhpbikge1xuICAgICAgICAudWkudGhpbi5sZWZ0LmZseW91dCxcbiAgICAgICAgLnVpLnRoaW4ucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpbldpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LmZseW91dCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5mbHlvdXQge1xuICAgICAgICAgICAgd2lkdGg6IEB2ZXJ5VGhpbldpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0V2lkZSkge1xuICAgICAgICAudWkud2lkZS5sZWZ0LmZseW91dCxcbiAgICAgICAgLnVpLndpZGUucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBAd2lkZVdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LmZseW91dCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5mbHlvdXQge1xuICAgICAgICAgICAgd2lkdGg6IEB2ZXJ5V2lkZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTGVmdCBWaXNpYmxlICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUaGluKSB7XG4gICAgICAgICAgICAudWkudmlzaWJsZS50aGluLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5sZWZ0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHRoaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHZlcnlUaGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0V2lkZSkge1xuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB3aWRlV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB2ZXJ5V2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJpZ2h0IFZpc2libGUgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRSaWdodCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUaGluKSB7XG4gICAgICAgICAgICAudWkudmlzaWJsZS50aGluLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ucmlnaHQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHRoaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHZlcnlUaGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0V2lkZSkge1xuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZS53aWRlLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB3aWRlV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB2ZXJ5V2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgLyogRnVsbHNjcmVlbiAqL1xuICAgICAgICAudWkuZnVsbHNjcmVlbi5mbHlvdXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2x1bW4gV2lkdGhcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0Q29sdW1uV2lkdGgpIHtcbiAgICAgICAgLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuXG4gICAgICAgIC51aVtjbGFzcyo9XCJvbmUgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d28gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aHJlZSB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVXaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeCB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhXaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBlaWdodFdpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwibmluZSB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBuaW5lV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGVuV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRPdmVybGF5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgT3ZlcmxheVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU2V0LXVwICovXG4gICAgLnVpLm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgei1pbmRleDogQHRvcExheWVyO1xuICAgIH1cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRMZWZ0KSB7XG4gICAgICAgIC51aS5sZWZ0Lm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5vdmVybGF5LmZseW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFRvcCkge1xuICAgICAgICAudWkudG9wLm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dEJvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gKi9cbiAgICAuYW5pbWF0aW5nLnVpLm92ZXJsYXkuZmx5b3V0LFxuICAgIC51aS52aXNpYmxlLm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIH1cblxuICAgIC8qIEVuZCAtIGZseW91dCAqL1xuICAgIC51aS52aXNpYmxlLm92ZXJsYXkuZmx5b3V0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAvKiBFbmQgLSBQdXNoZXIgKi9cbiAgICAudWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTW9kYWxcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwibW9kYWxcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RGdWxsc2NyZWVuOiBpZihAdmFyaWF0aW9uTW9kYWxGdWxsc2NyZWVuLCBlKFwiOm5vdCguZnVsbHNjcmVlbilcIikpO1xuQG5vdEluc2lkZTogaWYoQHZhcmlhdGlvbk1vZGFsQ2xvc2VJbnNpZGUsIGUoXCI6bm90KC5pbnNpZGUpXCIpKTtcbkBub3RBbGlnbmVkOiBpZihAdmFyaWF0aW9uTW9kYWxBbGlnbmVkLCBlKFwiOm5vdCguYWxpZ25lZClcIikpO1xuQG5vdENsb3NlOiBpZihAdmFyaWF0aW9uTW9kYWxDbG9zZSwgZShcIjpub3QoLmNsb3NlKVwiKSk7XG5cbkBub3RGbHVpZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkZsdWlkLCBlKFwiOm5vdCguZmx1aWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNb2RhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiBAekluZGV4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogQHRyYW5zZm9ybU9yaWdpbjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIHdpbGwtY2hhbmdlOiB0b3AsIGxlZnQsIG1hcmdpbiwgdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi51aS5tb2RhbCA+IDpmaXJzdC1jaGlsZEB7bm90Q2xvc2V9Om5vdCguZGltbWVyKSxcbi51aS5tb2RhbCA+IGkuaWNvbjpmaXJzdC1jaGlsZCArICosXG4udWkubW9kYWwgPiAuZGltbWVyOmZpcnN0LWNoaWxkICsgKkB7bm90Q2xvc2V9LFxuLnVpLm1vZGFsID4gLmRpbW1lcjpmaXJzdC1jaGlsZCArIGkuaWNvbiArICoge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbi51aS5tb2RhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4udWkubW9kYWwgPiAudWkuZGltbWVyIHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDbG9zZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogQGNsb3NlVG9wO1xuICAgICAgICByaWdodDogQGNsb3NlUmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHk7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNsb3NlU2l6ZTtcbiAgICAgICAgY29sb3I6IEBjbG9zZUNvbG9yO1xuICAgICAgICB3aWR0aDogQGNsb3NlSGl0Ym94O1xuICAgICAgICBoZWlnaHQ6IEBjbG9zZUhpdGJveDtcbiAgICAgICAgcGFkZGluZzogQGNsb3NlUGFkZGluZztcbiAgICB9XG4gICAgLnVpLm1vZGFsID4gLmNsb3NlOmZvY3VzLFxuICAgIC51aS5tb2RhbCA+IC5jbG9zZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnRGYW1pbHk7XG4gICAgYmFja2dyb3VuZDogQGhlYWRlckJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBoZWFkZXJQYWRkaW5nO1xuICAgIGJveC1zaGFkb3c6IEBoZWFkZXJCb3hTaGFkb3c7XG4gICAgY29sb3I6IEBoZWFkZXJDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBAaGVhZGVyQm9yZGVyO1xufVxuLnVpLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gICAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBoZWFkZXJMaW5lSGVpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IEBjb250ZW50Rm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBjb250ZW50TGluZUhlaWdodDtcbiAgICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogQGNvbnRlbnRCYWNrZ3JvdW5kO1xufVxuLnVpLm1vZGFsID4gLmltYWdlLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLyogSW1hZ2UgKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogQGltYWdlV2lkdGg7XG4gICAgYWxpZ24tc2VsZjogQGltYWdlVmVydGljYWxBbGlnbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLnVpLm1vZGFsID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwic3RyZXRjaGVkXCJdIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBhbGlnbi1zZWxmOiBAZGVzY3JpcHRpb25WZXJ0aWNhbEFsaWduO1xufVxuXG4udWkubW9kYWwgPiAuY29udGVudCA+IGkuaWNvbiArIC5kZXNjcmlwdGlvbixcbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlICsgLmRlc2NyaXB0aW9uIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IEBkZXNjcmlwdGlvbk1pbldpZHRoO1xuICAgIHdpZHRoOiBAZGVzY3JpcHRpb25XaWR0aDtcbiAgICBwYWRkaW5nLWxlZnQ6IEBkZXNjcmlwdGlvbkRpc3RhbmNlO1xufVxuXG4vKiBydGw6aWdub3JlICovXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiBAaW1hZ2VJY29uU2l6ZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxBY3Rpb25zKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEFjdGlvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGFjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBhY3Rpb25QYWRkaW5nO1xuICAgICAgICBib3JkZXItdG9wOiBAYWN0aW9uQm9yZGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBAYWN0aW9uQWxpZ247XG4gICAgfVxuICAgIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b25Ae25vdEZsdWlkfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYnV0dG9uRGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS51aS5tb2RhbCA+IC5iYXNpYy5hY3Rpb25zLFxuICAgIC51aS5iYXNpYy5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxMZWZ0QWN0aW9ucykge1xuICAgICAgICAudWkubW9kYWwgPiAubGVmdC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAmID4gLmJ1dHRvbkB7bm90Rmx1aWR9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQGJ1dHRvbkxlZnREaXN0YW5jZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBidXR0b25MZWZ0RGlzdGFuY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2VudGVyZWQpIHtcbiAgICAudWkubW9kYWwgPiAuY2VudGVyZWQsXG4gICAgLnVpLm1vZGFsID4gLmNlbnRlci5hbGlnbmVkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmLmFjdGlvbnMgPiAuYnV0dG9uQHtub3RGbHVpZH0gd2hlbiAoQHZhcmlhdGlvbk1vZGFsQWN0aW9ucykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBidXR0b25DZW50ZXJlZERpc3RhbmNlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYnV0dG9uQ2VudGVyZWREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIHdpZHRoOiBAbW9iaWxlV2lkdGg7XG4gICAgICAgIG1hcmdpbjogQG1vYmlsZU1hcmdpbjtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIHdpZHRoOiBAdGFibGV0V2lkdGg7XG4gICAgICAgIG1hcmdpbjogQHRhYmxldE1hcmdpbjtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAudWkubW9kYWxAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgd2lkdGg6IEBjb21wdXRlcldpZHRoO1xuICAgICAgICBtYXJnaW46IEBjb21wdXRlck1hcmdpbjtcbiAgICAgICAgJiA+IC5hY3RpdmUuZGltbWVyICsgLmNsb3NlQHtub3RJbnNpZGV9IHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHlEaW1tZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgICAgICAudWkuZGltbWVyID4gLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSA+IC5jbG9zZUB7bm90SW5zaWRlfSB7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQGNsb3NlU2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSA+IC5jbG9zZUB7bm90SW5zaWRlfSB7XG4gICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZENsb3NlU2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAgIC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICB3aWR0aDogQGxhcmdlTW9uaXRvcldpZHRoO1xuICAgICAgICBtYXJnaW46IEBsYXJnZU1vbml0b3JNYXJnaW47XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIHdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JXaWR0aDtcbiAgICAgICAgbWFyZ2luOiBAd2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZSArIC5oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGNsb3NlSGl0Ym94O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgIHRvcDogQGlubmVyQ2xvc2VUb3A7XG4gICAgICAgICAgICByaWdodDogQGlubmVyQ2xvc2VSaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW5uZXJDbG9zZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkubW9kYWwgPiAuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogQG1vYmlsZUhlYWRlclBhZGRpbmc7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2xvc2UpIHtcbiAgICAgICAgLnVpLm1vZGFsID4gLmNsb3NlICsgLmhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAY2xvc2VIaXRib3g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jb250ZW50LmNvbnRlbnQuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBvdmVybGF5RnVsbHNjcmVlblNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHRNb2JpbGU7XG4gICAgfVxuICAgIC51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwgPiAuc2Nyb2xsaW5nLmNvbnRlbnQuY29udGVudC5jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogQG92ZXJsYXlGdWxsc2NyZWVuU2Nyb2xsaW5nQ29udGVudE1heEhlaWdodE1vYmlsZTtcbiAgICB9XG4gICAgLnVpLm1vZGFsID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogQG1vYmlsZUNvbnRlbnRQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2xvc2UpIHtcbiAgICAgICAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgIHRvcDogQG1vYmlsZUNsb3NlVG9wICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogQG1vYmlsZUNsb3NlUmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIHJ0bDppZ25vcmUgKi9cbiAgICAudWkubW9kYWwgLmltYWdlLmNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAudWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogQG1vYmlsZUltYWdlUGFkZGluZyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogQG1vYmlsZUltYWdlSWNvblNpemU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IEBtb2JpbGVEZXNjcmlwdGlvblBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxBY3Rpb25zKSB7XG4gICAgICAgIC8qIExldCBCdXR0b25zIFN0YWNrICovXG4gICAgICAgIC51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBtb2JpbGVBY3Rpb25QYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbnMsXG4gICAgICAgIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQG1vYmlsZUJ1dHRvbkRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5tb2RhbCB7XG4gICAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxCYXNpYykge1xuICAgIC51aS5iYXNpYy5tb2RhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IEBiYXNpY01vZGFsQ29sb3I7XG4gICAgfVxuICAgIC51aS51aS5tb2RhbCA+IC5iYXNpYy5oZWFkZXIsXG4gICAgLnVpLnVpLm1vZGFsID4gLmJhc2ljLmFjdGlvbnMsXG4gICAgLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlcixcbiAgICAudWkuYmFzaWMubW9kYWwgPiAuY29udGVudCxcbiAgICAudWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAudWkubW9kYWwgPiAuYmFzaWMuaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlciB7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNNb2RhbEhlYWRlckNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgIC51aS5iYXNpYy5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICB0b3A6IEBiYXNpY01vZGFsQ2xvc2VUb3A7XG4gICAgICAgICAgICByaWdodDogQGJhc2ljTW9kYWxDbG9zZVJpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IEBiYXNpY0lubmVyQ2xvc2VDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLmJhc2ljLm1vZGFsIHtcbiAgICAgICAgY29sb3I6IEBiYXNpY0ludmVydGVkTW9kYWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGJhc2ljSW52ZXJ0ZWRNb2RhbEhlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxMZWdhY3kpIHtcbiAgICAvKiBSZXNvcnQgdG8gbWFyZ2luIHBvc2l0aW9uaW5nIGlmIGxlZ2FjeSAqL1xuICAgIC51aS5sZWdhY3kubGVnYWN5Lm1vZGFsLFxuICAgIC51aS5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsIHtcbiAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5sZWdhY3kubGVnYWN5Lm1vZGFsQHtub3RBbGlnbmVkfSxcbiAgICAudWkubGVnYWN5LmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbEB7bm90QWxpZ25lZH0ge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG4gICAgLnVpLmxlZ2FjeS5sZWdhY3kucGFnZS5kaW1tZXIgPiAudWkuc2Nyb2xsaW5nLm1vZGFsQHtub3RBbGlnbmVkfSxcbiAgICAudWkucGFnZS5kaW1tZXIgPiAudWkuc2Nyb2xsaW5nLmxlZ2FjeS5sZWdhY3kubW9kYWxAe25vdEFsaWduZWR9LFxuICAgIC51aS50b3AuYWxpZ25lZC5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsQHtub3RBbGlnbmVkfSxcbiAgICAudWkudG9wLmFsaWduZWQuZGltbWVyID4gLnVpLmxlZ2FjeS5sZWdhY3kubW9kYWxAe25vdEFsaWduZWR9IHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbE92ZXJsYXkpIHtcbiAgICAgICAgLnVpLmxlZ2FjeS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLUBzY3JvbGxpbmdNYXJnaW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5sb2FkaW5nLm1vZGFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogQGxvYWRpbmdaSW5kZXg7XG59XG5cbi51aS5hY3RpdmUubW9kYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Nb2RhbEFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC5tb2RhbHMuZGltbWVyIC51aS50b3AuYWxpZ25lZC5tb2RhbCB7XG4gICAgICAgIHRvcDogQHRvcEFsaWduZWRNYXJnaW47XG4gICAgfVxuICAgIC5tb2RhbHMuZGltbWVyIC51aS5ib3R0b20uYWxpZ25lZC5tb2RhbCB7XG4gICAgICAgIGJvdHRvbTogQGJvdHRvbUFsaWduZWRNYXJnaW47XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAubW9kYWxzLmRpbW1lciAudWkudG9wLmFsaWduZWQubW9kYWwge1xuICAgICAgICAgICAgdG9wOiBAbW9iaWxlVG9wQWxpZ25lZE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAubW9kYWxzLmRpbW1lciAudWkuYm90dG9tLmFsaWduZWQubW9kYWwge1xuICAgICAgICAgICAgYm90dG9tOiBAbW9iaWxlQm90dG9tQWxpZ25lZE1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxTY3JvbGxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNjcm9sbGluZyBEaW1tZXIgKi9cbiAgICAuc2Nyb2xsaW5nLmRpbW1hYmxlLmRpbW1lZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5zY3JvbGxpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gICAgLnNjcm9sbGluZy5kaW1tYWJsZTpub3QoYm9keSkgPiAuZGltbWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuc2Nyb2xsaW5nLmRpbW1hYmxlLmRpbW1lZCA+IC5kaW1tZXIge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICB9XG4gICAgLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbC5mdWxsc2NyZWVuIHtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAubW9kYWxzLmRpbW1lciAudWkuc2Nyb2xsaW5nLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIG1hcmdpbjogQHNjcm9sbGluZ01hcmdpbiBhdXRvO1xuICAgICAgICB0b3A6IEBzY3JvbGxpbmdUb3A7XG4gICAgfVxuXG4gICAgLyogRml4IGZvciBGaXJlZm94LCBFZGdlLCBJRTExICovXG4gICAgLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbDpub3QoW2NsYXNzKj1cIm92ZXJsYXkgZnVsbHNjcmVlblwiXSk6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwQTBcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNYXJnaW47XG4gICAgfVxuXG4gICAgLyogVW5kZXRhY2hlZCBTY3JvbGxpbmcgKi9cbiAgICAuc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUuZGltbWVkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgIC5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlIC51aS5zY3JvbGxpbmcubW9kYWxAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuXG4gICAgLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbiAgICAudWkubW9kYWwgPiAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29udGVudE1heEhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5tb2RhbCA+IC5yZXNpemFibGUuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICAgICAgICAgICAgcmVzaXplOiBAcmVzaXphYmxlRGlyZWN0aW9uO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxPdmVybGF5KSB7XG4gICAgLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogQG92ZXJsYXlGdWxsc2NyZWVuU2Nyb2xsaW5nQ29udGVudE1heEhlaWdodDtcbiAgICB9XG4gICAgLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBvdmVybGF5RnVsbHNjcmVlblNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Nb2RhbEZ1bGxzY3JlZW4pIG9yIChAdmFyaWF0aW9uTW9kYWxPdmVybGF5KSBvciAoQHZhcmlhdGlvbk1vZGFsQ2xvc2VJbnNpZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEZ1bGwgU2NyZWVuXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gICAgICAgIHdpZHRoOiBAZnVsbFNjcmVlbldpZHRoO1xuICAgICAgICBsZWZ0OiBAZnVsbFNjcmVlbk9mZnNldDtcbiAgICAgICAgbWFyZ2luOiBAZnVsbFNjcmVlbk1hcmdpbjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxPdmVybGF5KSB7XG4gICAgICAgIC51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2xvc2UpIHtcbiAgICAgICAgLnVpLm1vZGFsID4gLmNsb3NlLmluc2lkZSArIC5oZWFkZXI6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpOm5vdCguaWNvbiksXG4gICAgICAgIC51aS5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlICsgLmhlYWRlcjpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcik6bm90KC5pY29uKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAY2xvc2VIaXRib3g7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm1vZGFsID4gLmNsb3NlLmluc2lkZSxcbiAgICAgICAgLnVpLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICAgICAgICAgICAgdG9wOiBAaW5uZXJDbG9zZVRvcDtcbiAgICAgICAgICAgIHJpZ2h0OiBAaW5uZXJDbG9zZVJpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IEBpbm5lckNsb3NlQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxCYXNpYykge1xuICAgICAgICAgICAgLnVpLmJhc2ljLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYmFzaWNJbm5lckNsb3NlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1vZGFsIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTW9kYWxTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTW9kYWxTaXplcywge1xuICAgICAgICBAaHM6IEB7dmFsdWV9SGVhZGVyU2l6ZTtcbiAgICAgICAgQG13OiBAe3ZhbHVlfU1vYmlsZVdpZHRoO1xuICAgICAgICBAbW06IEB7dmFsdWV9TW9iaWxlTWFyZ2luO1xuICAgICAgICBAdHc6IEB7dmFsdWV9VGFibGV0V2lkdGg7XG4gICAgICAgIEB0bTogQHt2YWx1ZX1UYWJsZXRNYXJnaW47XG4gICAgICAgIEBjdzogQHt2YWx1ZX1Db21wdXRlcldpZHRoO1xuICAgICAgICBAY206IEB7dmFsdWV9Q29tcHV0ZXJNYXJnaW47XG4gICAgICAgIEBsdzogQHt2YWx1ZX1MYXJnZU1vbml0b3JXaWR0aDtcbiAgICAgICAgQGxtOiBAe3ZhbHVlfUxhcmdlTW9uaXRvck1hcmdpbjtcbiAgICAgICAgQHd3OiBAe3ZhbHVlfVdpZGVzY3JlZW5Nb25pdG9yV2lkdGg7XG4gICAgICAgIEB3bTogQHt2YWx1ZX1XaWRlc2NyZWVuTW9uaXRvck1hcmdpbjtcbiAgICAgICAgLnVpLkB7dmFsdWV9Lm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAaHM7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9Lm1vZGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQEBtdztcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBAbW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9Lm1vZGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQEB0dztcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBAdG07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubW9kYWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQGN3O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQEBjbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubW9kYWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQGx3O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQEBsbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5tb2RhbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBAd3c7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAQHdtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsSW52ZXJ0ZWQpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLnVpLmludmVydGVkLm1vZGFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQubW9kYWwgPiAuaGVhZGVyLFxuICAgIC51aS5pbnZlcnRlZC5tb2RhbCA+IC5jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbEFjdGlvbnMpIHtcbiAgICAgICAgLnVpLmludmVydGVkLm1vZGFsID4gLmFjdGlvbnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aW9uQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZEFjdGlvbkJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRBY3Rpb25Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGltbWVyQ2xvc2VDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgICAgIC51aS5kaW1tZXIgLmludmVydGVkLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkQ2xvc2VDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbEZ1bGxzY3JlZW4pIG9yIChAdmFyaWF0aW9uTW9kYWxDbG9zZUluc2lkZSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQubW9kYWwgPiAuY2xvc2UuaW5zaWRlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZnVsbHNjcmVlbi5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkQ2xvc2VDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBOYWdcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwibmFnXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90Qm90dG9tOiBpZihAdmFyaWF0aW9uTmFnQm90dG9tLCBlKFwiOm5vdCguYm90dG9tKVwiKSk7XG5Abm90Rml4ZWQ6IGlmKEB2YXJpYXRpb25OYWdGaXhlZCwgZShcIjpub3QoLmZpeGVkKVwiKSk7XG5Abm90T3ZlcmxheTogaWYoQHZhcmlhdGlvbk5hZ092ZXJsYXksIGUoXCI6bm90KC5vdmVybGF5KVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTmFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubmFnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IEBvcGFjaXR5O1xuICAgIHBvc2l0aW9uOiBAcG9zaXRpb247XG4gICAgdG9wOiBAdG9wO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogQHpJbmRleDtcbiAgICBtaW4taGVpZ2h0OiBAbWluSGVpZ2h0O1xuICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemU7XG4gICAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEB0b3BCb3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbmEudWkubmFnIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5uYWcgPiAudGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IEB0aXRsZU1hcmdpbjtcbiAgICBjb2xvcjogQHRpdGxlQ29sb3I7XG59XG5cbi51aS5uYWcgPiAuY2xvc2UuaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogQGNsb3NlVG9wO1xuICAgIHJpZ2h0OiBAY2xvc2VSaWdodDtcbiAgICBmb250LXNpemU6IEBjbG9zZVNpemU7XG4gICAgbWFyZ2luOiBAY2xvc2VNYXJnaW47XG4gICAgY29sb3I6IEBjbG9zZUNvbG9yO1xuICAgIHRyYW5zaXRpb246IEBjbG9zZVRyYW5zaXRpb247XG59XG5cbi51aS5uYWdAe25vdE92ZXJsYXl9QHtub3RGaXhlZH0ge1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBIb3ZlciAqL1xuLnVpLm5hZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQG5hZ0hvdmVyQmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiBAbmFnSG92ZXJPcGFjaXR5O1xufVxuXG4udWkubmFnID4gLmNsb3NlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiBAY2xvc2VIb3Zlck9wYWNpdHk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbihAdmFyaWF0aW9uTmFnT3ZlcmxheSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdGF0aWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkub3ZlcmxheS5uYWdzLFxuICAgIC51aS5vdmVybGF5Lm5hZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5cbiYgd2hlbihAdmFyaWF0aW9uTmFnRml4ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuZml4ZWQubmFncyxcbiAgICAudWkuZml4ZWQubmFnIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbn1cbiYgd2hlbihAdmFyaWF0aW9uTmFnQm90dG9tKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJvdHRvbVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5ib3R0b20ubmFncyxcbiAgICAudWkuYm90dG9tLm5hZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3R0b21Cb3JkZXJSYWRpdXM7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiBAYm90dG9tO1xuICAgIH1cbn1cblxuJiB3aGVuKEB2YXJpYXRpb25OYWdJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLm5hZ3MgLm5hZyxcbiAgICAudWkuaW52ZXJ0ZWQubmFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBkYXJrVGV4dENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQubmFncyAubmFnID4gLmNsb3NlLFxuICAgIC51aS5pbnZlcnRlZC5uYWcgPiAuY2xvc2Uge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ2xvc2VDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLm5hZ3MgLm5hZyA+IC50aXRsZSxcbiAgICAudWkuaW52ZXJ0ZWQubmFnID4gLnRpdGxlIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRpdGxlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTmFnU2l6ZXMgPSBmYWxzZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFNpemVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICBlYWNoKEB2YXJpYXRpb25OYWdTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgQHNyOiBcIkB7dmFsdWV9UmF3XCI7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5uYWcsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5uYWdzIC5uYWcge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgICAgICYgd2hlbiAoQEBzciA+IDEuNCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25OYWdDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbk5hZ0NvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBpc1ZlcnlEYXJrOiBAY29sb3JzW0BAY29sb3JdW2lzVmVyeURhcmtdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5uYWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25OYWdJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9Lm5hZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgJiAudGl0bGUgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB0aXRsZUNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25OYWdHcm91cHMpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAudWkubmFncyB7XG4gICAgICAgIHRvcDogQHRvcDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IEB3aWR0aDtcbiAgICB9XG4gICAgLnVpLnVpLm5hZ3MgLm5hZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBncm91cGVkQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkubmFnc0B7bm90Qm90dG9tfSAubmFnOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdG9wQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAmIHdoZW4oQHZhcmlhdGlvbk5hZ0JvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLm5hZ3MgLm5hZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm90dG9tQm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5uYWdzQHtub3RGaXhlZH1Ae25vdE92ZXJsYXl9IC5uYWc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm90dG9tQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkubmFnc0B7bm90Rml4ZWR9QHtub3RPdmVybGF5fSAubmFnOm9ubHktY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBQb3B1cFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJwb3B1cFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFBhZGRlZDogaWYoQHZhcmlhdGlvbkdyaWRQYWRkZWQsIGUoXCI6bm90KC5wYWRkZWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFBvcHVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucG9wdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcblxuICAgIC8qIEZpeGVzIGNvbnRlbnQgYmVpbmcgc3F1aXNoZWQgd2hlbiBpbmxpbmUgKG1veiBvbmx5KSAqL1xuICAgIG1pbi13aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgei1pbmRleDogQHpJbmRleDtcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIG1heC13aWR0aDogQG1heFdpZHRoO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiBAZm9udFdlaWdodDtcbiAgICBmb250LXN0eWxlOiBAZm9udFN0eWxlO1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnQ7XG4gICAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBoZWFkZXJMaW5lSGVpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbn1cbi51aS5wb3B1cCA+IC5oZWFkZXIgKyAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IEBoZWFkZXJEaXN0YW5jZTtcbn1cblxuLnVpLnBvcHVwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiBAYXJyb3dTaXplO1xuICAgIGhlaWdodDogQGFycm93U2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBAYXJyb3dCYWNrZ3JvdW5kO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB6LWluZGV4OiBAYXJyb3daSW5kZXg7XG4gICAgYm94LXNoYWRvdzogQGFycm93Qm94U2hhZG93O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwVG9vbHRpcCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFRvb2x0aXBcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIENvbnRlbnQgKi9cbiAgICBbZGF0YS10b29sdGlwXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvKiBBcnJvdyAqL1xuICAgIFtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBmb250LXNpemU6IEBtZWRpdW07XG4gICAgICAgIHdpZHRoOiBAYXJyb3dTaXplO1xuICAgICAgICBoZWlnaHQ6IEBhcnJvd1NpemU7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0b29sdGlwQXJyb3dCYWNrZ3JvdW5kO1xuICAgICAgICB6LWluZGV4OiBAYXJyb3daSW5kZXg7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0b29sdGlwQXJyb3dCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogUG9wdXAgKi9cbiAgICBbZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiBAdG9vbHRpcEZvbnRTaXplO1xuICAgICAgICBib3JkZXI6IEB0b29sdGlwQm9yZGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogQHRvb2x0aXBMaW5lSGVpZ2h0O1xuICAgICAgICBtYXgtd2lkdGg6IEB0b29sdGlwTWF4V2lkdGg7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0b29sdGlwQmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogQHRvb2x0aXBQYWRkaW5nO1xuICAgICAgICBmb250LXdlaWdodDogQHRvb2x0aXBGb250V2VpZ2h0O1xuICAgICAgICBmb250LXN0eWxlOiBAdG9vbHRpcEZvbnRTdHlsZTtcbiAgICAgICAgY29sb3I6IEB0b29sdGlwQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEB0b29sdGlwQm9yZGVyUmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiBAdG9vbHRpcEJveFNoYWRvdztcbiAgICAgICAgei1pbmRleDogQHRvb2x0aXBaSW5kZXg7XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uICovXG4gICAgW2RhdGEtdG9vbHRpcF06OmJlZm9yZSxcbiAgICBbZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHRyYW5zZm9ybSBAdG9vbHRpcER1cmF0aW9uIEB0b29sdGlwRWFzaW5nLFxuICAgICAgICAgICAgb3BhY2l0eSBAdG9vbHRpcER1cmF0aW9uIEB0b29sdGlwRWFzaW5nO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0b29sdGlwRGVsYXk7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdOjpiZWZvcmUsXG4gICAgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoQHRvb2x0aXBTY2FsZUluaXQpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ2aXNpYmxlXCJdOjpiZWZvcmUsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidmlzaWJsZVwiXTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSxcbiAgICBbZGF0YS10b29sdGlwXTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gUG9zaXRpb24gKi9cbiAgICBbZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZShAdG9vbHRpcFNjYWxlSW5pdCk7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pOmhvdmVyOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl06OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKEB0b29sdGlwU2NhbGVJbml0KTtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdOmhvdmVyOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL3B1bGwvMTUzN1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjAwMDEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHRvb2x0aXBTY2FsZUluaXQpO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl06aG92ZXI6OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06aG92ZXI6OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXTpob3Zlcjo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEZpeGVkKSB7XG4gICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImZpeGVkXCJdOjphZnRlciB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgd2lkdGg6IEBtYXhXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbio9XCJ3aWRlIGZpeGVkXCJdOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogQHdpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbio9XCJ2ZXJ5IHdpZGUgZml4ZWRcIl06OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdmVyeVdpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJmaXhlZFwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAbWF4V2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBJbnZlcnRlZCkge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAgICAgLyogQXJyb3cgKi9cbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF06OmJlZm9yZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQXJyb3cgUG9zaXRpb24gKi9cbiAgICAgICAgW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSlbZGF0YS1pbnZlcnRlZF06OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0JvdHRvbUJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBQb3B1cCAqL1xuICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvb2x0aXBJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHRvb2x0aXBJbnZlcnRlZENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyOiBAdG9vbHRpcEludmVydGVkQm9yZGVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHRvb2x0aXBJbnZlcnRlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUG9zaXRpb24pIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBvc2l0aW9uXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvcCkge1xuICAgICAgICAgICAgW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGFycm93Qm90dG9tQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgLyogVG9wIENlbnRlciAoZGVmYXVsdCkgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvb2x0aXBBcnJvd1RvcEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgICAgICAgICAvKiBUb3AgTGVmdCAqL1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogQGFycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgICAgICAgICAvKiBUb3AgUmlnaHQgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogQGFycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgICAgICAgICBbZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYXJyb3dUb3BCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBib3R0b21BcnJvd0JveFNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgLyogQm90dG9tIENlbnRlciAqL1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgICAgICAgICAgLyogQm90dG9tIExlZnQgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgLyogQm90dG9tIFJpZ2h0ICovXG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgICAgICAgICAvKiBMZWZ0IENlbnRlciAqL1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBsZWZ0QXJyb3dCb3hTaGFkb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAgICAgICAgIC8qIFJpZ2h0IENlbnRlciAqL1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJpZ2h0QXJyb3dCb3hTaGFkb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBJbnZlcnRlZCkge1xuICAgICAgICAgICAgLyogSW52ZXJ0ZWQgQXJyb3cgQ29sb3IgKi9cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93VG9wQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIFtkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBsZWZ0QXJyb3dCb3hTaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBbZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dDZW50ZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJpZ2h0QXJyb3dCb3hTaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvcCkge1xuICAgICAgICAgICAgICAgIFtkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9ufj1cInRvcFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0JvdHRvbUJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCb3R0b20pIHtcbiAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBbZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBDZW50ZXIpIHtcbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgIH1cbiAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgICB9XG4gICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIH1cbiAgICBbZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJhc2ljKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCYXNpY1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYmFzaWNcIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBNdWx0aWxpbmUpIHtcbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwibXVsdGlsaW5lXCJdOjphZnRlciB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogQG11bHRpbGluZVdoaXRlU3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNwYWNpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucG9wdXAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb3ApIHtcbiAgICAvKiBFeHRlbmRpbmcgZnJvbSBUb3AgKi9cbiAgICAudWkudG9wLnBvcHVwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgQHBvcHVwRGlzdGFuY2VBd2F5O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgLnVpLnRvcC5sZWZ0LnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgIC51aS50b3AuY2VudGVyLnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAudWkudG9wLnJpZ2h0LnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBDZW50ZXIpIHtcbiAgICAvKiBFeHRlbmRpbmcgZnJvbSBWZXJ0aWNhbCBDZW50ZXIgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgLnVpLmxlZnQuY2VudGVyLnBvcHVwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBAcG9wdXBEaXN0YW5jZUF3YXkgMCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LmNlbnRlci5wb3B1cCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIEBwb3B1cERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJvdHRvbSkge1xuICAgIC8qIEV4dGVuZGluZyBmcm9tIEJvdHRvbSAqL1xuICAgIC51aS5ib3R0b20ucG9wdXAge1xuICAgICAgICBtYXJnaW46IEBwb3B1cERpc3RhbmNlQXdheSAwIDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAudWkuYm90dG9tLmxlZnQucG9wdXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBDZW50ZXIpIHtcbiAgICAgICAgLnVpLmJvdHRvbS5jZW50ZXIucG9wdXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgIC51aS5ib3R0b20ucmlnaHQucG9wdXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBvaW50ZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIC0tLSBCZWxvdyAtLS0gKi9cbiAgICAudWkuYm90dG9tLmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhcnJvd09mZnNldDtcbiAgICAgICAgdG9wOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5ib3R0b20ubGVmdC5wb3B1cCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYm94QXJyb3dPZmZzZXQ7XG4gICAgfVxuXG4gICAgLyogcnRsOnJlbmFtZSAqL1xuICAgIC51aS5ib3R0b20ubGVmdC5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiBAYm90dG9tQXJyb3dCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLnVpLmJvdHRvbS5yaWdodC5wb3B1cCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGJveEFycm93T2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAudWkuYm90dG9tLnJpZ2h0LnBvcHVwOjpiZWZvcmUge1xuICAgICAgICB0b3A6IEBhcnJvd09mZnNldDtcbiAgICAgICAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBib3R0b21BcnJvd0JveFNoYWRvdztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwVG9wKSB7XG4gICAgLyogLS0tIEFib3ZlIC0tLSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgIC51aS50b3AuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IEBhcnJvd09mZnNldDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgIC51aS50b3AubGVmdC5wb3B1cCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGJveEFycm93T2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogcnRsOnJlbmFtZSAqL1xuICAgICAgICAudWkudG9wLmxlZnQucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IEBhcnJvd09mZnNldDtcbiAgICAgICAgICAgIGxlZnQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgLnVpLnRvcC5yaWdodC5wb3B1cCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBib3hBcnJvd09mZnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAgICAgLnVpLnRvcC5yaWdodC5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogQGFycm93T2Zmc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgLyogLS0tIExlZnQgQ2VudGVyIC0tLSAqL1xuXG4gICAgLyogcnRsOnJlbmFtZSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAudWkubGVmdC5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogQGFycm93T2Zmc2V0O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGxlZnRBcnJvd0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgIC8qIC0tLSBSaWdodCBDZW50ZXIgLS0tICovXG5cbiAgICAgICAgLyogcnRsOnJlbmFtZSAqL1xuICAgICAgICAudWkucmlnaHQuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBhcnJvd09mZnNldDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEByaWdodEFycm93Qm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkgb3IgKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5jZW50ZXIucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgLnVpLmxlZnQuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCb3R0b20pIHtcbiAgICAvKiBBcnJvdyBDb2xvciBCeSBMb2NhdGlvbiAqL1xuICAgIC51aS5ib3R0b20ucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd1RvcEJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvcCkge1xuICAgIC51aS50b3AucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd0JvdHRvbUJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEludmVydGVkKSB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCb3R0b20pIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgQXJyb3cgQ29sb3IgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmJvdHRvbS5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93VG9wQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucmlnaHQuY2VudGVyLnBvcHVwOjpiZWZvcmUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5sZWZ0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvcCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQudG9wLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEltbWVkaWF0ZSBOZXN0ZWQgR3JpZCAqL1xuLnVpLnVpLnVpLnBvcHVwID4gLnVpLmdyaWRAe25vdFBhZGRlZH0ge1xuICAgIHdpZHRoOiBAbmVzdGVkR3JpZFdpZHRoO1xuICAgIG1hcmdpbjogQG5lc3RlZEdyaWRNYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExvYWRpbmcpIHtcbiAgICAudWkubG9hZGluZy5wb3B1cCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IEBsb2FkaW5nUG9pbnRlckV2ZW50cztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICYgKiB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAbG9hZGluZ09wYWNpdHk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckxpbmVDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB6LWluZGV4OiBAbG9hZGVyTGluZVpJbmRleDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLmludmlzaWJsZS5wb3B1cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogQGludmlzaWJsZVpJbmRleDtcbn1cblxuLnVpLmFuaW1hdGluZy5wb3B1cCxcbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVpLnZpc2libGUucG9wdXAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJhc2ljKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYmFzaWMucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEZpeGVkKSB7XG4gICAgLnVpLmZpeGVkLnBvcHVwIHtcbiAgICAgICAgd2lkdGg6IEBtYXhXaWR0aDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwV2lkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBXaWRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkud2lkZS5wb3B1cCB7XG4gICAgICAgIG1heC13aWR0aDogQHdpZGVXaWR0aDtcbiAgICAgICAgJi5maXhlZCB3aGVuIChAdmFyaWF0aW9uUG9wdXBGaXhlZCkge1xuICAgICAgICAgICAgd2lkdGg6IEB3aWRlV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cCB7XG4gICAgICAgIG1heC13aWR0aDogQHZlcnlXaWRlV2lkdGg7XG4gICAgICAgICYuZml4ZWQgd2hlbiAoQHZhcmlhdGlvblBvcHVwRml4ZWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdmVyeVdpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLndpZGUucG9wdXAsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBAbWF4V2lkdGg7XG4gICAgICAgICAgICAmLmZpeGVkIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEZpeGVkKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBtYXhXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLnBvcHVwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBJbnZlcnRlZCBjb2xvcnMgKi9cbiAgICAudWkuaW52ZXJ0ZWQucG9wdXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29sb3I7XG4gICAgICAgIGJvcmRlcjogQGludmVydGVkQm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5wb3B1cCAuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEFycm93Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUG9wdXBDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblBvcHVwQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcbiAgICAgICAgQGNsOiBpZihpc2NvbG9yKEBjKSwgbGlnaHRlbihAYywgQGxvYWRpbmdDb2xvcmVkUGVyY2VudCksIEBjKTtcbiAgICAgICAgQGxsOiBpZihpc2NvbG9yKEBsKSwgZGFya2VuKEBsLCBAbG9hZGluZ0NvbG9yZWRQZXJjZW50KSwgQGwpO1xuXG4gICAgICAgICYgd2hlbiBub3QgKEB2YXJpYXRpb25Qb3B1cFRvb2x0aXApIHtcbiAgICAgICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5wb3B1cDo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LnBvcHVwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAubG9hZGluZyYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2w7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LnBvcHVwOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LnBvcHVwIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIC5sb2FkaW5nJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb29sdGlwKSB7XG4gICAgICAgICAgICAudWkudWkudWkuQHtjb2xvcn0ucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5wb3B1cCxcbiAgICAgICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIkB7Y29sb3J9XCJdOjphZnRlcixcbiAgICAgICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIkB7Y29sb3J9XCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAudWkuQHtjb2xvcn0ubG9hZGluZy5wb3B1cCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkudWkuQHtjb2xvcn0ucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIkB7Y29sb3J9XCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LnBvcHVwOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LnBvcHVwLFxuICAgICAgICAgICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cIkB7Y29sb3J9XCJdOjphZnRlcixcbiAgICAgICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJAe2NvbG9yfVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubG9hZGluZy5wb3B1cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBGbG93aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG93aW5nLnBvcHVwIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucG9wdXAge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Qb3B1cFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Qb3B1cFNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ucG9wdXAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvb2x0aXApIHtcbiAgICAgICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIkB7dmFsdWV9XCJdOjpiZWZvcmUsXG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJAe3ZhbHVlfVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBQcm9ncmVzc1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJwcm9ncmVzc1wiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEluZGV0ZXJtaW5hdGU6IGlmKEB2YXJpYXRpb25Qcm9ncmVzc0luZGV0ZXJtaW5hdGUsIGUoXCI6bm90KC5pbmRldGVybWluYXRlKVwiKSk7XG5Abm90U2xpZGluZzogaWYoQHZhcmlhdGlvblByb2dyZXNzU2xpZGluZywgZShcIjpub3QoLnNsaWRpbmcpXCIpKTtcbkBub3RGaWxsaW5nOiBpZihAdmFyaWF0aW9uUHJvZ3Jlc3NGaWxsaW5nLCBlKFwiOm5vdCguZmlsbGluZylcIikpO1xuQG5vdFN3aW5naW5nOiBpZihAdmFyaWF0aW9uUHJvZ3Jlc3NTd2luZ2luZywgZShcIjpub3QoLnN3aW5naW5nKVwiKSk7XG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25Qcm9ncmVzc0Jhc2ljLCBlKFwiOm5vdCguYmFzaWMpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFByb2dyZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NCYXNpYykge1xuICAgIC51aS5iYXNpYy5wcm9ncmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4udWkucHJvZ3Jlc3M6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogQGZpcnN0TWFyZ2luO1xufVxuLnVpLnByb2dyZXNzOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogQGxhc3RNYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBBY3Rpdml0eSBCYXIgKi9cbi51aS5wcm9ncmVzcyAuYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogQGJhclBvc2l0aW9uO1xuICAgIHdpZHRoOiBAYmFySW5pdGlhbFdpZHRoO1xuICAgIGJhY2tncm91bmQ6IEBiYXJCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IEBiYXJCb3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQGJhclRyYW5zaXRpb247XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWluLXdpZHRoOiBAYmFyTWluV2lkdGg7XG4gICAgfVxufVxuLnVpLnVpLnVpLnByb2dyZXNzOm5vdChbZGF0YS1wZXJjZW50XSlAe25vdEluZGV0ZXJtaW5hdGV9IC5iYXI6bm90KDplbXB0eSksXG4udWkudWkudWkucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXUB7bm90SW5kZXRlcm1pbmF0ZX0gLmJhcjpub3QoOmVtcHR5KSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAuYmFyIC5wcm9ncmVzcyB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ludmVydGVkKSB7XG4gICAgLnVpLmludmVydGVkLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl0gLmJhciAucHJvZ3Jlc3Mge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cbn1cblxuLyogUGVyY2VudCBDb21wbGV0ZSAqL1xuLnVpLnByb2dyZXNzIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9zaXRpb246IEBwcm9ncmVzc1Bvc2l0aW9uO1xuICAgIHdpZHRoOiBAcHJvZ3Jlc3NXaWR0aDtcbiAgICBmb250LXNpemU6IEBwcm9ncmVzc1NpemU7XG4gICAgdG9wOiBAcHJvZ3Jlc3NUb3A7XG4gICAgcmlnaHQ6IEBwcm9ncmVzc1JpZ2h0O1xuICAgIGxlZnQ6IEBwcm9ncmVzc0xlZnQ7XG4gICAgYm90dG9tOiBAcHJvZ3Jlc3NCb3R0b207XG4gICAgY29sb3I6IEBwcm9ncmVzc0NvbG9yO1xuICAgIHRleHQtc2hhZG93OiBAcHJvZ3Jlc3NUZXh0U2hhZG93O1xuICAgIG1hcmdpbi10b3A6IEBwcm9ncmVzc09mZnNldDtcbiAgICBmb250LXdlaWdodDogQHByb2dyZXNzRm9udFdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBAcHJvZ3Jlc3NUZXh0QWxpZ247XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzUmlnaHRBbGlnbmVkKSB7XG4gICAgLnVpLnJpZ2h0LmFsaWduZWQucHJvZ3Jlc3Mge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAmIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgbGVmdDogQHByb2dyZXNzUmlnaHRBbGlnbmVkTGVmdDtcbiAgICAgICAgICAgIHJpZ2h0OiBAcHJvZ3Jlc3NSaWdodEFsaWduZWRSaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogTGFiZWwgKi9cbi51aS5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBAbGFiZWxXaWR0aDtcbiAgICBmb250LXNpemU6IEBsYWJlbFNpemU7XG4gICAgdG9wOiBAbGFiZWxUb3A7XG4gICAgcmlnaHQ6IEBsYWJlbFJpZ2h0O1xuICAgIGxlZnQ6IEBsYWJlbExlZnQ7XG4gICAgYm90dG9tOiBAbGFiZWxCb3R0b207XG4gICAgY29sb3I6IEBsYWJlbENvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBAbGFiZWxGb250V2VpZ2h0O1xuICAgIHRleHQtc2hhZG93OiBAbGFiZWxUZXh0U2hhZG93O1xuICAgIG1hcmdpbi10b3A6IEBsYWJlbE9mZnNldDtcbiAgICB0ZXh0LWFsaWduOiBAbGFiZWxUZXh0QWxpZ247XG4gICAgdHJhbnNpdGlvbjogQGxhYmVsVHJhbnNpdGlvbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0luZGljYXRpbmcpIHtcbiAgICAvKiBJbmRpY2F0aW5nICovXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjFcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdGaXJzdENvbG9yO1xuICAgIH1cbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdTZWNvbmRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdUaGlyZENvbG9yO1xuICAgIH1cbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNlwiXSAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdGb3VydGhDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOFwiXSAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdGaWZ0aENvbG9yO1xuICAgIH1cbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOVwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxMDBcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nU2l4dGhDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBJbmRpY2F0aW5nIExhYmVsICovXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjFcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyXCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ0ZpcnN0TGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjNcIl0gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBpbmRpY2F0aW5nU2Vjb25kTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1XCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ1RoaXJkTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjZcIl0gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBpbmRpY2F0aW5nRm91cnRoTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ0ZpZnRoTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxMDBcIl0gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBpbmRpY2F0aW5nU2l4dGhMYWJlbENvbG9yO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgSW5kaWNhdGluZyBMYWJlbCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyXCJdIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSW5kaWNhdGluZ0ZpcnN0TGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdTZWNvbmRMYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJbmRpY2F0aW5nVGhpcmRMYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSW5kaWNhdGluZ0ZvdXJ0aExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOFwiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdGaWZ0aExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSW5kaWNhdGluZ1NpeHRoTGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNpbmdsZSBEaWdpdHMgKi9cbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEuXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyLlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjNcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMy5cIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjQuXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNVwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1LlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjZcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNi5cIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjcuXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOFwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4LlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjlcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOS5cIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nRmlyc3RDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjAuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMS5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyLlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjMuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNC5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1LlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjYuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNy5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4LlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjkuXCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ0ZpcnN0TGFiZWxDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NJbnZlcnRlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjAuXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxLlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIzXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjMuXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0LlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI2XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjYuXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3LlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI5XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjkuXCJdIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSW5kaWNhdGluZ0ZpcnN0TGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEluZGljYXRpbmcgU3VjY2VzcyAqL1xuICAgIC51aS51aS5pbmRpY2F0aW5nLnByb2dyZXNzLnN1Y2Nlc3MgLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBzdWNjZXNzSGVhZGVyQ29sb3I7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTdWNjZXNzKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN1Y2Nlc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzc0NvbG9yO1xuICAgIH1cbiAgICAudWkudWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyLFxuICAgIC51aS51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgICAudWkucHJvZ3Jlc3Muc3VjY2VzcyA+IC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAc3VjY2Vzc0hlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NXYXJuaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFdhcm5pbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2FybmluZ0NvbG9yO1xuICAgIH1cbiAgICAudWkudWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyLFxuICAgIC51aS51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgICAudWkucHJvZ3Jlc3Mud2FybmluZyA+IC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAd2FybmluZ0hlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NFcnJvcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBFcnJvclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZXJyb3JDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXIsXG4gICAgLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgICAudWkucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGVycm9ySGVhZGVyQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0FjdGl2ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3RpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hY3RpdmUucHJvZ3Jlc3MgLmJhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IEBhY3RpdmVNaW5XaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuYWN0aXZlLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhY3RpdmVQdWxzZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFyQm9yZGVyUmFkaXVzO1xuICAgICAgICBhbmltYXRpb246IHByb2dyZXNzLWFjdGl2ZSBAYWN0aXZlUHVsc2VEdXJhdGlvbiBAZGVmYXVsdEVhc2luZyBpbmZpbml0ZTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NSaWdodEFsaWduZWQpIHtcbiAgICAgICAgLnVpLmFjdGl2ZS5yaWdodC5hbGlnbmVkLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBwcm9ncmVzcy1hY3RpdmUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAYWN0aXZlUHVsc2VNYXhPcGFjaXR5O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0Rpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5wcm9ncmVzcyB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgfVxuICAgIC51aS51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyLFxuICAgIC51aS51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLnByb2dyZXNzQHtub3RCYXNpY30ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYXJCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciA+IC5wcm9ncmVzcyB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRQcm9ncmVzc0NvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgPiAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTdWNjZXNzKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzcy5zdWNjZXNzID4gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAc3VjY2Vzc0NvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzV2FybmluZykge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3Mud2FybmluZyA+IC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQHdhcm5pbmdDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0Vycm9yKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzcy5lcnJvciA+IC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGVycm9yQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogYm90dG9tIGF0dGFjaGVkICovXG4gICAgLnVpLnByb2dyZXNzLmF0dGFjaGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGF0dGFjaGVkQmFja2dyb3VuZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLmF0dGFjaGVkLFxuICAgIC51aS5wcm9ncmVzcy5hdHRhY2hlZCAuYmFyIHtcbiAgICAgICAgaGVpZ2h0OiBAYXR0YWNoZWRIZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkucHJvZ3Jlc3MuYXR0YWNoZWQgLmJhciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLyogdG9wIGF0dGFjaGVkICovXG4gICAgLnVpLnByb2dyZXNzLnRvcC5hdHRhY2hlZCxcbiAgICAudWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZEJvcmRlclJhZGl1cyBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIENvdXBsaW5nICovXG5cbiAgICAudWkuc2VnbWVudCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyxcbiAgICAudWkuY2FyZCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5zZWdtZW50ID4gLnVpLmJvdHRvbS5hdHRhY2hlZC5wcm9ncmVzcyxcbiAgICAudWkuY2FyZCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUHJvZ3Jlc3NDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblByb2dyZXNzQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAudWkuaW5kZXRlcm1pbmF0ZS5Ae2NvbG9yfS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5wcm9ncmVzcyAuYmFyLFxuICAgICAgICAudWkucHJvZ3Jlc3MgLkB7Y29sb3J9LmJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5Ae2NvbG9yfS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzcyAuQHtjb2xvcn0uYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5wcm9ncmVzcyB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuLnVpLnByb2dyZXNzIC5iYXIge1xuICAgIGhlaWdodDogQGJhckhlaWdodDtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Qcm9ncmVzc1NpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Qcm9ncmVzc1NpemVzLCB7XG4gICAgICAgIEBoOiBAe3ZhbHVlfUJhckhlaWdodDtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5wcm9ncmVzcyB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5wcm9ncmVzcyAuYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogQEBoO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzSW5kZXRlcm1pbmF0ZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW5kZXRlcm1pbmF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnVpLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3MsXG4gICAgLnVpLnByb2dyZXNzIC5iYXIgLmNlbnRlcmVkLnByb2dyZXNzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAudWkuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFyQm9yZGVyUmFkaXVzO1xuICAgICAgICBhbmltYXRpb246IHByb2dyZXNzLXB1bHNhdGluZyBAaW5kZXRlcm1pbmF0ZVB1bHNlRHVyYXRpb24gQGRlZmF1bHRFYXNpbmcgaW5maW5pdGU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU3BlZWRzKSB7XG4gICAgICAgIC51aS5zbG93LmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGluZGV0ZXJtaW5hdGVQdWxzZUR1cmF0aW9uU2xvdztcbiAgICAgICAgfVxuICAgICAgICAudWkuZmFzdC5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBpbmRldGVybWluYXRlUHVsc2VEdXJhdGlvbkZhc3Q7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTd2luZ2luZykge1xuICAgICAgICAudWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcy1zd2luZ2luZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1NsaWRpbmcpIHtcbiAgICAgICAgLnVpLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcy1zbGlkaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzRmlsbGluZykge1xuICAgICAgICAudWkuZmlsbGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3MtZmlsbGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzc0B7bm90U2xpZGluZ31Ae25vdEZpbGxpbmd9QHtub3RTd2luZ2luZ30gLmJhcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGluZGV0ZXJtaW5hdGVQdWxzZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1NsaWRpbmcpIG9yIChAdmFyaWF0aW9uUHJvZ3Jlc3NTd2luZ2luZykgb3IgKEB2YXJpYXRpb25Qcm9ncmVzc0ZpbGxpbmcpIHtcbiAgICAgICAgLnVpLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuICAgICAgICAudWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuICAgICAgICAudWkuZmlsbGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTbGlkaW5nKSBvciAoQHZhcmlhdGlvblByb2dyZXNzU3dpbmdpbmcpIHtcbiAgICAgICAgICAgIC51aS5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3MsXG4gICAgICAgICAgICAudWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFByb2dyZXNzQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5maWxsaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU2xpZGluZykgb3IgKEB2YXJpYXRpb25Qcm9ncmVzc1N3aW5naW5nKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAcHJvZ3Jlc3NDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTd2luZ2luZykge1xuICAgICAgICAgICAgQGtleWZyYW1lcyBwcm9ncmVzcy1zd2luZ2luZyB7XG4gICAgICAgICAgICAgICAgMCUsXG4gICAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDI1JSxcbiAgICAgICAgICAgICAgICA2NSUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU2xpZGluZykge1xuICAgICAgICAgICAgQGtleWZyYW1lcyBwcm9ncmVzcy1zbGlkaW5nIHtcbiAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDUwJSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzRmlsbGluZykge1xuICAgICAgICAgICAgQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsaW5nIHtcbiAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDgwJSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHByb2dyZXNzLXB1bHNhdGluZyB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTbGlkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRoZW1lXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJzbGlkZXJcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RWZXJ0aWNhbDogaWYoQHZhcmlhdGlvblNsaWRlclZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3REaXNhYmxlZDogaWYoQHZhcmlhdGlvblNsaWRlckRpc2FibGVkLCBlKFwiOm5vdCguZGlzYWJsZWQpXCIpKTtcbkBub3RCb3R0b206IGlmKEB2YXJpYXRpb25TbGlkZXJCb3R0b21BbGlnbmVkLCBlKFwiOm5vdCguYm90dG9tKVwiKSk7XG5Abm90UmlnaHQ6IGlmKEB2YXJpYXRpb25TbGlkZXJSaWdodEFsaWduZWQsIGUoXCI6bm90KC5yaWdodClcIikpO1xuXG5Abm90Q2hlY2tib3g6IGlmKEB2YXJpYXRpb25DaGVja2JveFNsaWRlciwgZShcIjpub3QoLmNoZWNrYm94KVwiKSk7XG5cbi51aS5zbGlkZXJAe25vdFZlcnRpY2FsfUB7bm90Q2hlY2tib3h9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbn1cblxuLnVpLnNsaWRlckB7bm90Q2hlY2tib3h9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51aS5zbGlkZXJAe25vdENoZWNrYm94fTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLnVpLnNsaWRlciAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4udWkuc2xpZGVyQHtub3RWZXJ0aWNhbH0gLmlubmVyIHtcbiAgICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG5cbi51aS5zbGlkZXIgLmlubmVyOmhvdmVyIHtcbiAgICBjdXJzb3I6IEBob3ZlclBvaW50ZXI7XG59XG5cbi51aS5zbGlkZXIgLmlubmVyIC50cmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IEB0cmFja0JvcmRlclJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhY2tDb2xvcjtcbn1cblxuLnVpLnNsaWRlckB7bm90VmVydGljYWx9IC5pbm5lciAudHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogQHRyYWNrSGVpZ2h0O1xuICAgIHRvcDogQHRyYWNrUG9zaXRpb25Ub3A7XG4gICAgbGVmdDogMDtcbn1cblxuLnVpLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiBAdHJhY2tGaWxsQm9yZGVyUmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0cmFja0ZpbGxDb2xvcjtcbn1cblxuLnVpLnNsaWRlckB7bm90VmVydGljYWx9IC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgaGVpZ2h0OiBAdHJhY2tGaWxsSGVpZ2h0O1xuICAgIHRvcDogQHRyYWNrUG9zaXRpb25Ub3A7XG4gICAgbGVmdDogMDtcbn1cblxuLnVpLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiBAdGh1bWJIZWlnaHQ7XG4gICAgd2lkdGg6IEB0aHVtYkhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBAdGh1bWJCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IEB0aHVtYkJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAdGh1bWJTaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogQHRodW1iVHJhbnNpdGlvbjtcbn1cblxuLnVpLnNsaWRlckB7bm90RGlzYWJsZWR9IC5pbm5lciAudGh1bWI6aG92ZXIge1xuICAgIGN1cnNvcjogQHRodW1iSG92ZXJQb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkhvdmVyQmFja2dyb3VuZDtcbn1cblxuLnVpLnNsaWRlckB7bm90RGlzYWJsZWR9OmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkhvdmVyQmFja2dyb3VuZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5zbGlkZXJAe25vdENoZWNrYm94fSB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWN0aXk7XG4gICAgfVxuXG4gICAgLnVpLmRpc2FibGVkLnNsaWRlciAuaW5uZXI6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuXG4gICAgLnVpLmRpc2FibGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGlzYWJsZWRUcmFja0ZpbGxDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclJldmVyc2VkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUmV2ZXJzZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZXZlcnNlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnVpLnJldmVyc2VkLnNsaWRlckB7bm90VmVydGljYWx9IC5pbm5lciAudGh1bWIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAudWkucmV2ZXJzZWQudmVydGljYWwuc2xpZGVyIC5pbm5lciAudGh1bWIge1xuICAgICAgICBsZWZ0OiBAdGh1bWJWZXJ0aWNhbFNsaWRlck9mZnNldDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJMYWJlbGVkKSB7XG4gICAgICAgIC51aS5sYWJlbGVkLnJldmVyc2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclZlcnRpY2FsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS52ZXJ0aWNhbC5zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBAaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nO1xuICAgIH1cblxuICAgIC51aS52ZXJ0aWNhbC5zbGlkZXIgLmlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC51aS52ZXJ0aWNhbC5zbGlkZXIgLmlubmVyIC50cmFjayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IEB0cmFja0hlaWdodDtcbiAgICAgICAgbGVmdDogQHRyYWNrUG9zaXRpb25Ub3A7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgICAgIHdpZHRoOiBAdHJhY2tGaWxsSGVpZ2h0O1xuICAgICAgICBsZWZ0OiBAdHJhY2tQb3NpdGlvblRvcDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJSZXZlcnNlZCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCBSZXZlcnNlZCAqL1xuICAgICAgICAudWkudmVydGljYWwucmV2ZXJzZWQuc2xpZGVyIC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJMYWJlbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxhYmVsZWQuc2xpZGVyID4gLmxhYmVscyB7XG4gICAgICAgIGhlaWdodDogQGxhYmVsSGVpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSA+IC5sYWJlbHMge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgLnVpLmxhYmVsZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICY6bm90KC51aSkge1xuICAgICAgICAgICAgcGFkZGluZzogQGxhYmVsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJCb3R0b21BbGlnbmVkKSB7XG4gICAgICAgIC51aS5ib3R0b20uYWxpZ25lZC5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclRpY2tlZCkge1xuICAgICAgICAudWkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgaGVpZ2h0OiBAbGFiZWxIZWlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogQGxhYmVsV2lkdGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGFiZWxDb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJCb3R0b21BbGlnbmVkKSB7XG4gICAgICAgICAgICAudWkuYm90dG9tLmFsaWduZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyVWlMYWJlbCkge1xuICAgICAgICAgICAgICAgIC51aS5sYWJlbGVkLnNsaWRlci5ib3R0b20uYWxpZ25lZCAubGFiZWxzIC51aS5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC1AdWlMYWJlbE1hcmdpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlci5ib3R0b20uYWxpZ25lZCAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAdWlMYWJlbE1hcmdpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IChAbGFiZWxIZWlnaHQgLyAyKTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTGFiZWxDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJVaUxhYmVsKSB7XG4gICAgICAgIC51aS5sYWJlbGVkLnNsaWRlckB7bm90VmVydGljYWx9QHtub3RCb3R0b219IC5sYWJlbHMgLnVpLmxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AdWlMYWJlbE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkubGFiZWxlZC50aWNrZWQuc2xpZGVyQHtub3RWZXJ0aWNhbH1Ae25vdEJvdHRvbX0gLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEB1aUxhYmVsTWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSA+IC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IEB1aUxhYmVsVGlja0hlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclZlcnRpY2FsKSB7XG4gICAgICAgIC8qIFZlcnRpY2FsIExhYmVscyAqL1xuXG4gICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMge1xuICAgICAgICAgICAgd2lkdGg6IEBsYWJlbEhlaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogQGxhYmVsSGVpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0OiBAbGFiZWxXaWR0aDtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IChAbGFiZWxIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgIGhlaWdodDogQGxhYmVsV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwuc2xpZGVyQHtub3RSaWdodH0gPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB2ZXJ0aWNhbFRpY2tEaXN0YW5jZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclJldmVyc2VkKSB7XG4gICAgICAgICAgICAvKiBWZXJ0aWNhbCBSZXZlcnNlZCBMYWJlbHMgKi9cbiAgICAgICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJVaUxhYmVsKSB7XG4gICAgICAgICAgICAudWkubGFiZWxlZC50aWNrZWQudmVydGljYWwuc2xpZGVyQHtub3RSaWdodH0gPiAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdmVydGljYWxVaUxhYmVsTWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclJpZ2h0QWxpZ25lZCkge1xuICAgICAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBlKCUoXCJjYWxjKDEwMCUlICsgJWQpXCIsIEB2ZXJ0aWNhbFRpY2tEaXN0YW5jZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHZlcnRpY2FsVGlja0Rpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyUmV2ZXJzZWQpIHtcbiAgICAgICAgICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5yZXZlcnNlZC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJVaUxhYmVsKSB7XG4gICAgICAgICAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdmVydGljYWxVaUxhYmVsTWFyZ2luO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5ob3Zlci5zbGlkZXIgLmlubmVyIC50aHVtYiB7XG4gICAgb3BhY2l0eTogQGhvdmVyVmFyT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAaG92ZXJPcGFjaXR5VHJhbnNpdGlvbjtcbn1cblxuLnVpLmhvdmVyLnNsaWRlckB7bm90RGlzYWJsZWR9OmhvdmVyIC5pbm5lciAudGh1bWIsXG4udWkuaG92ZXIuc2xpZGVyQHtub3REaXNhYmxlZH06Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gICAgb3BhY2l0eTogQGhvdmVyVmFySG92ZXJPcGFjaXR5O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZFRyYWNrRmlsbENvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0cmFuc3BhcmVudFdoaXRlO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckhpZ2hsaWdodCkge1xuICAgIC51aS5sYWJlbGVkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgIHRyYW5zaXRpb246IEBoaWdobGlnaHRUcmFuc2l0aW9uO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJUaWNrZWQpIHtcbiAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0cmFja0ZpbGxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRUcmFja0ZpbGxDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlcixcbiAgICAudWkubGFiZWxlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAubGFiZWw6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgb3BhY2l0eTogQGhpZ2hsaWdodE9wYWNpdHk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblNsaWRlckNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uU2xpZGVyQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcbiAgICAgICAgQGg6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuICAgICAgICBAbGg6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRIb3Zlcl07XG5cbiAgICAgICAgLyogU3RhbmRhcmQgKi9cbiAgICAgICAgLnVpLkB7Y29sb3J9LnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckJhc2ljKSB7XG4gICAgICAgICAgICAvKiBCYXNpYyAqL1xuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3ZlcixcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC8qIEJhc2ljIEludmVydGVkICovXG4gICAgICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuQHtjb2xvcn0uaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckhpZ2hsaWdodCkgYW5kIChAdmFyaWF0aW9uU2xpZGVyVGlja2VkKSB7XG4gICAgICAgICAgICAudWkuQHtjb2xvcn0ubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkuQHtjb2xvcn0uaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJCYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU3RhbmRhcmQgKi9cbiAgICAudWkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhY2tGaWxsQ29sb3I7XG4gICAgfVxuICAgIC51aS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3ZlcixcbiAgICAudWkuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhY2tGaWxsQ29sb3JGb2N1cztcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJJbnZlcnRlZCkge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJhc2ljIEludmVydGVkXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgICAgIC8qIFN0YW5kYXJkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRUcmFja0ZpbGxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRUcmFja0ZpbGxDb2xvckZvY3VzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uU2xpZGVyU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblNsaWRlclNpemVzLCB7XG4gICAgICAgIEBoOiBAe3ZhbHVlfUhlaWdodDtcbiAgICAgICAgQHRoOiBAe3ZhbHVlfVRyYWNrSGVpZ2h0O1xuICAgICAgICBAdHA6IEB7dmFsdWV9VHJhY2tQb3NpdGlvblRvcDtcbiAgICAgICAgQGxoOiBAe3ZhbHVlfUxhYmVsSGVpZ2h0O1xuICAgICAgICAudWkuc2xpZGVyLkB7dmFsdWV9IC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgaGVpZ2h0OiBAQGg7XG4gICAgICAgICAgICB3aWR0aDogQEBoO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zbGlkZXIuQHt2YWx1ZX1Ae25vdFZlcnRpY2FsfSAuaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBAQGg7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNsaWRlci5Ae3ZhbHVlfUB7bm90VmVydGljYWx9IC5pbm5lciAudHJhY2ssXG4gICAgICAgIC51aS5zbGlkZXIuQHt2YWx1ZX1Ae25vdFZlcnRpY2FsfSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBAQHRoO1xuICAgICAgICAgICAgdG9wOiBAQHRwO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckxhYmVsZWQpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbGVkLnNsaWRlckB7bm90VmVydGljYWx9ID4gLmxhYmVscyxcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbGVkLnNsaWRlckB7bm90VmVydGljYWx9ID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBAbGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubGFiZWxlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoQEBsaCAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclZlcnRpY2FsKSB7XG4gICAgICAgICAgICAvKiBTbWFsbCBWZXJ0aWNhbCAqL1xuICAgICAgICAgICAgLnVpLnNsaWRlci5Ae3ZhbHVlfS52ZXJ0aWNhbCAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuc2xpZGVyLkB7dmFsdWV9LnZlcnRpY2FsIC5pbm5lciAudHJhY2ssXG4gICAgICAgICAgICAudWkuc2xpZGVyLkB7dmFsdWV9LnZlcnRpY2FsIC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBAdGg7XG4gICAgICAgICAgICAgICAgbGVmdDogQEB0cDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckxhYmVsZWQpIHtcbiAgICAgICAgICAgICAgICAudWkuQHt2YWx1ZX0ubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXI+IC5sYWJlbHMsXG4gICAgICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmxhYmVsZWQudmVydGljYWwuc2xpZGVyPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogQEBsaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmxhYmVsZWQudmVydGljYWwuc2xpZGVyPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogKEBAbGggLyAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSYXRpbmdcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwicmF0aW5nXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yYXRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBAd2hpdGVTcGFjZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG59XG4udWkucmF0aW5nOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBjdXJzb3I6IEBpY29uQ3Vyc29yO1xuICAgIHdpZHRoOiBAaWNvbldpZHRoO1xuICAgIGhlaWdodDogQGljb25IZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhbmRhcmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEluYWN0aXZlIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24ge1xuICAgIGJhY2tncm91bmQ6IEBpbmFjdGl2ZUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBpbmFjdGl2ZUNvbG9yO1xufVxuXG4vKiBBY3RpdmUgSWNvbiAqL1xuLnVpLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICAgIGJhY2tncm91bmQ6IEBhY3RpdmVCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblJhdGluZ1BhcnRpYWwpIHtcbiAgICAvKiBQYXJ0aWFsbHkgQWN0aXZlIEljb24gKi9cbiAgICAudWkucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAYWN0aXZlQ29sb3IgMCUgdmFyKC0tZnVsbCksIEBpbmFjdGl2ZUNvbG9yIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAgIH1cblxuICAgIC8qIGNlbnRyYWwgb3ZlcnJpZGUgZm9yIGNvbG9ycyAqL1xuICAgIC51aS51aS51aS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLyogU2VsZWN0ZWQgSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogQHNlbGVjdGVkQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHNlbGVjdGVkQ29sb3I7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblJhdGluZ0NvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUmF0aW5nQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcbiAgICAgICAgQGg6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuICAgICAgICBAbGg6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRIb3Zlcl07XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgMCAtQHNoYWRvd1dpZHRoIDAgQGMsXG4gICAgICAgICAgICAgICAgLUBzaGFkb3dXaWR0aCAwIDAgQGMsXG4gICAgICAgICAgICAgICAgMCBAc2hhZG93V2lkdGggMCBAYyxcbiAgICAgICAgICAgICAgICBAc2hhZG93V2lkdGggMCAwIEBjO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuICAgICAgICAudWkuQHtjb2xvcn0ucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogQGxoO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgMCAtQHNoYWRvd1dpZHRoIDAgQGgsXG4gICAgICAgICAgICAgICAgLUBzaGFkb3dXaWR0aCAwIDAgQGgsXG4gICAgICAgICAgICAgICAgMCBAc2hhZG93V2lkdGggMCBAaCxcbiAgICAgICAgICAgICAgICBAc2hhZG93V2lkdGggMCAwIEBoO1xuXG4gICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUmF0aW5nUGFydGlhbCkge1xuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAbCAwJSB2YXIoLS1mdWxsKSwgQGluYWN0aXZlQ29sb3IgdmFyKC0tZnVsbCkgMTAwJSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogQGMgMC43OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25SYXRpbmdEaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogZGlzYWJsZWQgcmF0aW5nICovXG4gICAgLnVpLmRpc2FibGVkLnJhdGluZyAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBVc2VyIEludGVyYWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTZWxlY3RlZCBSYXRpbmcgKi9cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmFjdGl2ZS5pY29uIHtcbiAgICBvcGFjaXR5OiBAaW50ZXJhY3RpdmVBY3RpdmVJY29uT3BhY2l0eTtcbn1cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkIHtcbiAgICBvcGFjaXR5OiBAaW50ZXJhY3RpdmVTZWxlY3RlZEljb25PcGFjaXR5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yYXRpbmcge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25SYXRpbmdTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUmF0aW5nU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5yYXRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNlYXJjaFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJzZWFyY2hcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU2VhcmNoXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51aS5zZWFyY2ggPiAucHJvbXB0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogQHByb21wdExpbmVIZWlnaHQ7XG4gICAgcGFkZGluZzogQHByb21wdFBhZGRpbmc7XG4gICAgZm9udC1zaXplOiBAcHJvbXB0Rm9udFNpemU7XG4gICAgYmFja2dyb3VuZDogQHByb21wdEJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiBAcHJvbXB0Qm9yZGVyO1xuICAgIGNvbG9yOiBAcHJvbXB0Q29sb3I7XG4gICAgYm94LXNoYWRvdzogQHByb21wdEJveFNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBAcHJvbXB0VHJhbnNpdGlvbjtcbn1cblxuLnVpLnNlYXJjaCAucHJvbXB0IHtcbiAgICBib3JkZXItcmFkaXVzOiBAcHJvbXB0Qm9yZGVyUmFkaXVzO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCAucHJvbXB0IH4gLnNlYXJjaC5pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0c1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogQHJlc3VsdHNCYWNrZ3JvdW5kO1xuICAgIG1hcmdpbi10b3A6IEByZXN1bHRzRGlzdGFuY2U7XG4gICAgd2lkdGg6IEByZXN1bHRzV2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogQHJlc3VsdHNCb3JkZXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogQHJlc3VsdHNCb3hTaGFkb3c7XG4gICAgYm9yZGVyOiBAcmVzdWx0c0JvcmRlcjtcbiAgICB6LWluZGV4OiBAcmVzdWx0c1pJbmRleDtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogQHJlc3VsdHNCb3JkZXJSYWRpdXMgQHJlc3VsdHNCb3JkZXJSYWRpdXMgMCAwO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAcmVzdWx0c0JvcmRlclJhZGl1cyBAcmVzdWx0c0JvcmRlclJhZGl1cztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBSZXN1bHRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiBAcmVzdWx0Rm9udFNpemU7XG4gICAgcGFkZGluZzogQHJlc3VsdFBhZGRpbmc7XG4gICAgY29sb3I6IEByZXN1bHRUZXh0Q29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IEByZXN1bHRMaW5lSGVpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IEByZXN1bHREaXZpZGVyO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogQHJlc3VsdExhc3REaXZpZGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIEltYWdlICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2Uge1xuICAgIGZsb2F0OiBAcmVzdWx0SW1hZ2VGbG9hdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IEByZXN1bHRJbWFnZUJhY2tncm91bmQ7XG4gICAgd2lkdGg6IEByZXN1bHRJbWFnZVdpZHRoO1xuICAgIGhlaWdodDogQHJlc3VsdEltYWdlSGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IEByZXN1bHRJbWFnZUJvcmRlclJhZGl1cztcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEluZm9cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgbWFyZ2luOiBAcmVzdWx0SW1hZ2VNYXJnaW47XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC50aXRsZSB7XG4gICAgbWFyZ2luOiBAcmVzdWx0VGl0bGVNYXJnaW47XG4gICAgZm9udC1mYW1pbHk6IEByZXN1bHRUaXRsZUZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6IEByZXN1bHRUaXRsZUZvbnRXZWlnaHQ7XG4gICAgZm9udC1zaXplOiBAcmVzdWx0VGl0bGVGb250U2l6ZTtcbiAgICBjb2xvcjogQHJlc3VsdFRpdGxlQ29sb3I7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IEByZXN1bHREZXNjcmlwdGlvbkRpc3RhbmNlO1xuICAgIGZvbnQtc2l6ZTogQHJlc3VsdERlc2NyaXB0aW9uRm9udFNpemU7XG4gICAgY29sb3I6IEByZXN1bHREZXNjcmlwdGlvbkNvbG9yO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLnByaWNlIHtcbiAgICBmbG9hdDogQHJlc3VsdFByaWNlRmxvYXQ7XG4gICAgY29sb3I6IEByZXN1bHRQcmljZUNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSB7XG4gICAgcGFkZGluZzogQG1lc3NhZ2VWZXJ0aWNhbFBhZGRpbmcgQG1lc3NhZ2VIb3Jpem9udGFsUGFkZGluZztcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5tZXNzYWdlIC5oZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgICBmb250LXNpemU6IEBtZXNzYWdlSGVhZGVyRm9udFNpemU7XG4gICAgZm9udC13ZWlnaHQ6IEBtZXNzYWdlSGVhZGVyRm9udFdlaWdodDtcbiAgICBjb2xvcjogQG1lc3NhZ2VIZWFkZXJDb2xvcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5tZXNzYWdlIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogQG1lc3NhZ2VEZXNjcmlwdGlvbkRpc3RhbmNlO1xuICAgIGZvbnQtc2l6ZTogQG1lc3NhZ2VEZXNjcmlwdGlvbkZvbnRTaXplO1xuICAgIGNvbG9yOiBAbWVzc2FnZURlc2NyaXB0aW9uQ29sb3I7XG59XG5cbi8qIFZpZXcgQWxsIFJlc3VsdHMgKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IEBhY3Rpb25Cb3JkZXI7XG4gICAgYmFja2dyb3VuZDogQGFjdGlvbkJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogQGFjdGlvblBhZGRpbmc7XG4gICAgY29sb3I6IEBhY3Rpb25Db2xvcjtcbiAgICBmb250LXdlaWdodDogQGFjdGlvbkZvbnRXZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogQGFjdGlvbkFsaWduO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCA+IC5wcm9tcHQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQHByb21wdEZvY3VzQm9yZGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZDogQHByb21wdEZvY3VzQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHByb21wdEZvY3VzQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaExvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubG9hZGluZy5zZWFyY2ggLmlucHV0ID4gaS5pY29uOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyRmlsbENvbG9yO1xuICAgIH1cbiAgICAudWkubG9hZGluZy5zZWFyY2ggLmlucHV0ID4gaS5pY29uOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0OmhvdmVyLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAcmVzdWx0SG92ZXJCYWNrZ3JvdW5kO1xufVxuLnVpLnNlYXJjaCAuYWN0aW9uOmhvdmVyOm5vdChkaXYpIHtcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aW9uSG92ZXJCYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaENhdGVnb3J5KSB7XG4gICAgLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY2F0ZWdvcnlBY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSA+IC5uYW1lIHtcbiAgICAgICAgY29sb3I6IEBjYXRlZ29yeU5hbWVBY3RpdmVDb2xvcjtcbiAgICB9XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSxcbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdC5hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHJlc3VsdEFjdGl2ZUJvcmRlckxlZnQ7XG4gICAgYmFja2dyb3VuZDogQHJlc3VsdEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogQHJlc3VsdEFjdGl2ZUJveFNoYWRvdztcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSAudGl0bGUge1xuICAgIGNvbG9yOiBAcmVzdWx0QWN0aXZlVGl0bGVDb2xvcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiBAcmVzdWx0QWN0aXZlRGVzY3JpcHRpb25Db2xvcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC51aS5kaXNhYmxlZC5zZWFyY2gge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaENsZWFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2xlYXIgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0ID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGNsZWFyYWJsZUljb25UcmFuc2l0aW9uO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBjbGVhcmFibGVJY29uT3BhY2l0eTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAY2xlYXJhYmxlSWNvbkhvdmVyT3BhY2l0eTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuc2VhcmNoID4gLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pID4gLmljb24gfiAucmVtb3ZlLmljb24ge1xuICAgICAgICByaWdodDogQGNsZWFyYWJsZUljb25JbnB1dFJpZ2h0O1xuICAgIH1cbiAgICAudWkuc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogQGNsZWFyYWJsZUljb25UcmFuc2l0aW9uO1xuICAgICAgICBvcGFjaXR5OiBAY2xlYXJhYmxlSWNvbk9wYWNpdHk7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjbGVhcmFibGVJY29uQmFja2dyb3VuZDtcbiAgICAgICAgaGVpZ2h0OiBAY2xlYXJhYmxlSWNvbkhlaWdodDtcbiAgICAgICAgd2lkdGg6IEBjbGVhcmFibGVJY29uV2lkdGg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoTG9hZGluZykge1xuICAgICAgICAudWkubG9hZGluZy5zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dCA+IGlucHV0OnBsYWNlaG9sZGVyLXNob3duIH4gLnJlbW92ZS5pY29uLFxuICAgIC51aS5zZWFyY2gubG9hZGluZyA+IC5pY29uLmlucHV0ID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIH4gLnJlbW92ZS5pY29uIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaENhdGVnb3J5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2F0ZWdvcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggLnJlc3VsdHMge1xuICAgICAgICB3aWR0aDogQGNhdGVnb3J5UmVzdWx0c1dpZHRoO1xuICAgIH1cblxuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggLnJlc3VsdHMuYW5pbWF0aW5nLFxuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggLnJlc3VsdHMudmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgIC8qIENhdGVnb3J5ICovXG4gICAgLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgYmFja2dyb3VuZDogQGNhdGVnb3J5QmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogQGNhdGVnb3J5Qm94U2hhZG93O1xuICAgICAgICB0cmFuc2l0aW9uOiBAY2F0ZWdvcnlUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qIExhc3QgQ2F0ZWdvcnkgKi9cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC8qIEZpcnN0IC8gTGFzdCAqL1xuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6Zmlyc3QtY2hpbGQgLm5hbWUgKyAucmVzdWx0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAcmVzdWx0c0JvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCAucmVzdWx0Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQHJlc3VsdHNCb3JkZXJSYWRpdXMgMDtcbiAgICB9XG5cbiAgICAvKiBDYXRlZ29yeSBSZXN1bHQgTmFtZSAqL1xuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAubmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aWR0aDogQGNhdGVnb3J5TmFtZVdpZHRoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogQGNhdGVnb3J5TmFtZVdoaXRlc3BhY2U7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjYXRlZ29yeU5hbWVCYWNrZ3JvdW5kO1xuICAgICAgICBmb250LWZhbWlseTogQGNhdGVnb3J5TmFtZUZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNhdGVnb3J5TmFtZUZvbnRTaXplO1xuICAgICAgICBwYWRkaW5nOiBAY2F0ZWdvcnlOYW1lUGFkZGluZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBjYXRlZ29yeU5hbWVGb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQGNhdGVnb3J5TmFtZUNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiBAY2F0ZWdvcnlEaXZpZGVyO1xuICAgIH1cblxuICAgIC8qIENhdGVnb3J5IFJlc3VsdCAqL1xuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY2F0ZWdvcnlSZXN1bHRCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItbGVmdDogQGNhdGVnb3J5UmVzdWx0TGVmdEJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGNhdGVnb3J5RGl2aWRlcjtcbiAgICB9XG4gICAgLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGNhdGVnb3J5UmVzdWx0RGl2aWRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogQGNhdGVnb3J5UmVzdWx0VHJhbnNpdGlvbjtcbiAgICAgICAgcGFkZGluZzogQGNhdGVnb3J5UmVzdWx0UGFkZGluZztcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hIb3Jpem9udGFsQ2F0ZWdvcnkpIHtcbiAgICAgICAgLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAubmFtZSxcbiAgICAgICAgLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuaG9yaXpvbnRhbC5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTY3JvbGxpbmcpLFxuKEB2YXJpYXRpb25TZWFyY2hTaG9ydCksXG4oQHZhcmlhdGlvblNlYXJjaExvbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyxcbiAgICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyxcbiAgICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFNjcm9sbGluZykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hSZXNpemFibGUpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5yZXNpemFibGUuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgcmVzaXplOiBAcmVzaXphYmxlRGlyZWN0aW9uO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFNob3J0KSB7XG4gICAgICAgIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoTG9uZykge1xuICAgICAgICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodCAqIDI7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhSZXN1bHRzSGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTaG9ydCkge1xuICAgICAgICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heFJlc3VsdHNIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaExvbmcpIHtcbiAgICAgICAgLnVpLnNlYXJjaC5sb25nID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heFJlc3VsdHNIZWlnaHQgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4UmVzdWx0c0hlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTaG9ydCkge1xuICAgICAgICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhSZXN1bHRzSGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hMb25nKSB7XG4gICAgICAgIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heFJlc3VsdHNIZWlnaHQgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhSZXN1bHRzSGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFNob3J0KSB7XG4gICAgICAgIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhSZXN1bHRzSGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hMb25nKSB7XG4gICAgICAgIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4UmVzdWx0c0hlaWdodCAqIDI7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zZWFyY2hbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4UmVzdWx0c0hlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaEFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBMZWZ0IC8gUmlnaHRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaEZsdWlkKSB7XG4gICAgLnVpLmZsdWlkLnNlYXJjaCAucmVzdWx0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCB7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uU2VhcmNoU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblNlYXJjaFNpemVzLCB7XG4gICAgICAgIEBzOiBAe3ZhbHVlfVNlYXJjaFNpemU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zZWFyY2gge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoSGlnaGxpZ2h0TWF0Y2hlcykge1xuICAgIC51aS5zZWFyY2ggPiAucmVzdWx0cyBtYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGhpZ2hsaWdodE1hdGNoZXNCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGhpZ2hsaWdodE1hdGNoZXNDb2xvcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBNb2JpbGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgLnVpLnNlYXJjaCAucmVzdWx0cyB7XG4gICAgICAgIG1heC13aWR0aDogQG1vYmlsZU1heFdpZHRoO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTaGFwZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJzaGFwZVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgU2hhcGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zaGFwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogQGRpc3BsYXk7XG4gICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLnVpLnNoYXBlIC5zaWRlLFxuLnVpLnNoYXBlIC5zaWRlcyB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLnVpLnNoYXBlIC5zaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBAc2lkZU1hcmdpbiAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEBiYWNrZmFjZVZpc2liaWxpdHk7XG59XG5cbi51aS5zaGFwZSAuc2lkZSAqIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNoYXBlQ3ViZSkge1xuICAgIC51aS5jdWJlLnNoYXBlIC5zaWRlIHtcbiAgICAgICAgbWluLXdpZHRoOiBAY3ViZVNpemU7XG4gICAgICAgIGhlaWdodDogQGN1YmVTaXplO1xuICAgICAgICBwYWRkaW5nOiBAY3ViZVBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjdWJlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBjdWJlVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAY3ViZUJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmN1YmUuc2hhcGUgLnNpZGUgPiAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBAY3ViZVRleHRBbGlnbjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgfVxuICAgIC51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IEBjdWJlRm9udFNpemU7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25TaGFwZVRleHQpIHtcbiAgICAudWkudGV4dC5zaGFwZS5hbmltYXRpbmcgLnNpZGVzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gICAgLnVpLnRleHQuc2hhcGUgLnNpZGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAudWkudGV4dC5zaGFwZSAuc2lkZSA+ICoge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNoYXBlTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sb2FkaW5nLnNoYXBlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTk5cHg7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiBAYW5pbWF0aW5nWkluZGV4O1xufVxuLnVpLnNoYXBlIC5oaWRkZW4uc2lkZSB7XG4gICAgb3BhY2l0eTogQGhpZGRlblNpZGVPcGFjaXR5O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ1NTXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGUge1xuICAgIHRyYW5zaXRpb246IEBzaWRlVHJhbnNpdGlvbjtcbn1cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUgKixcbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGUgKiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNoYXBlIC5hY3RpdmUuc2lkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2lkZWJhclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJzaWRlYmFyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2lkZWJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU2lkZWJhciBNZW51ICovXG4udWkuc2lkZWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgei1pbmRleDogQHRvcExheWVyO1xufVxuXG4vKiBHUFUgTGF5ZXJzIGZvciBDaGlsZCBFbGVtZW50cyAqL1xuLnVpLnNpZGViYXIgPiAqIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAudWkubGVmdC5zaWRlYmFyIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgIC51aS5yaWdodC5zaWRlYmFyIHtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkgb3IgKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgLnVpLnRvcC5zaWRlYmFyLFxuICAgIC51aS5ib3R0b20uc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVG9wKSB7XG4gICAgICAgIC51aS50b3Auc2lkZWJhciB7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLnNpZGViYXIge1xuICAgICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFB1c2hhYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hhYmxlLnB1c2hhYmxlLnB1c2hhYmxlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJi5sb2NrZWQge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vKiBXaG9sZSBQYWdlICovXG5ib2R5LnB1c2hhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2FudmFzQmFja2dyb3VuZDtcbiAgICAmLmRpbW1lZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vKiBQYWdlIENvbnRleHQgKi9cbi5wdXNoYWJsZTpub3QoYm9keSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC51aS5zaWRlYmFyLFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5maXhlZCxcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAucHVzaGVyOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZSA+IC5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB6LWluZGV4OiBAZml4ZWRMYXllcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgei1pbmRleDogQG1pZGRsZUxheWVyO1xuXG4gICAgLyogUHVzaGVyIHNob3VsZCBpbmhlcml0IGJhY2tncm91bmQgZnJvbSBjb250ZXh0ICovXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAmOm5vdCgub3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbmJvZHkucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAcGFnZUJhY2tncm91bmQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogQGRpbW1lckNvbG9yO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBAZGltbWVyVHJhbnNpdGlvbjtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICB6LWluZGV4OiBAZGltbWVyTGF5ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2lkZWJhci5tZW51IC5pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpbW1lZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQmx1cnJpbmcpIHtcbiAgICAucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZC5ibHVycmluZzpub3QoLmNsb3NpbmcpOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibHVycmVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG4gICAgfVxufVxuLnB1c2hhYmxlID4gLnB1c2hlci5jbG9zaW5nLmRpbW1lZDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYW5pbWF0aW5nLnNpZGViYXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFZpc2libGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkudmlzaWJsZS5zaWRlYmFyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIFNoYWRvdyBEaXJlY3Rpb24gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSBvciAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgIC51aS5sZWZ0LnZpc2libGUuc2lkZWJhcixcbiAgICAudWkucmlnaHQudmlzaWJsZS5zaWRlYmFyIHtcbiAgICAgICAgYm94LXNoYWRvdzogQGhvcml6b250YWxCb3hTaGFkb3c7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkgb3IgKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgLnVpLnRvcC52aXNpYmxlLnNpZGViYXIsXG4gICAgLnVpLmJvdHRvbS52aXNpYmxlLnNpZGViYXIge1xuICAgICAgICBib3gtc2hhZG93OiBAdmVydGljYWxCb3hTaGFkb3c7XG4gICAgfVxufVxuXG4vKiBWaXNpYmxlIE9uIExvYWQgKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB3aWR0aCwgMCwgMCk7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB3aWR0aCwgMCwgMCk7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgIC51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgQGhlaWdodCwgMCk7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgIC51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLUBoZWlnaHQsIDApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIG9yIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG4gICAgLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlcixcbiAgICAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgaU9TXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIExlZnQgLyBSaWdodCAqL1xuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIG9yIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRoaW4pIHtcbiAgICAgICAgLnVpLnRoaW4ubGVmdC5zaWRlYmFyLFxuICAgICAgICAudWkudGhpbi5yaWdodC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpbldpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclZlcnlUaGluKSB7XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhcixcbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEB2ZXJ5VGhpbldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmxlZnQuc2lkZWJhcixcbiAgICAudWkucmlnaHQuc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhcldpZGUpIHtcbiAgICAgICAgLnVpLndpZGUubGVmdC5zaWRlYmFyLFxuICAgICAgICAudWkud2lkZS5yaWdodC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAd2lkZVdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclZlcnlXaWRlKSB7XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhcixcbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEB2ZXJ5V2lkZVdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTGVmdCBWaXNpYmxlICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRoaW4pIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB0aGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVmVyeVRoaW4pIHtcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdmVyeVRoaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhcldpZGUpIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB3aWRlV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVmVyeVdpZGUpIHtcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUmlnaHQgVmlzaWJsZSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVGhpbikge1xuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHRoaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJWZXJ5VGhpbikge1xuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB2ZXJ5VGhpbldpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyV2lkZSkge1xuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHdpZGVXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJWZXJ5V2lkZSkge1xuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuICAgICAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB2ZXJ5V2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhck92ZXJsYXkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBPdmVybGF5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTZXQtdXAgKi9cbiAgICAudWkub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgei1pbmRleDogQHRvcExheWVyO1xuICAgIH1cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgICAgICAudWkubGVmdC5vdmVybGF5LnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5vdmVybGF5LnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVG9wKSB7XG4gICAgICAgIC51aS50b3Aub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5vdmVybGF5LnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFuaW1hdGlvbiAqL1xuICAgIC5hbmltYXRpbmcudWkub3ZlcmxheS5zaWRlYmFyLFxuICAgIC51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB9XG5cbiAgICAvKiBFbmQgLSBTaWRlYmFyICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAgICAgLnVpLnZpc2libGUubGVmdC5vdmVybGF5LnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgLnVpLnZpc2libGUucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudmlzaWJsZS50b3Aub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgICAgICAudWkudmlzaWJsZS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBFbmQgLSBQdXNoZXIgKi9cbiAgICAudWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclB1c2gpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFB1c2hcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAudWkucHVzaC5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgICAgICB6LWluZGV4OiBAdG9wTGF5ZXI7XG4gICAgfVxuXG4gICAgLyogU2lkZWJhciAtIEluaXRpYWwgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgICAgICAudWkubGVmdC5wdXNoLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5wdXNoLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVG9wKSB7XG4gICAgICAgIC51aS50b3AucHVzaC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5wdXNoLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEVuZCAqL1xuICAgIC51aS52aXNpYmxlLnB1c2guc2lkZWJhciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVW5jb3Zlcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFVuY292ZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAudWkudW5jb3Zlci5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgei1pbmRleDogQGJvdHRvbUxheWVyO1xuICAgIH1cblxuICAgIC8qIEVuZCAqL1xuICAgIC51aS52aXNpYmxlLnVuY292ZXIuc2lkZWJhciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJTbGlkZUFsb25nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTbGlkZSBBbG9uZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogSW5pdGlhbCAqL1xuICAgIC51aS5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgICAgICAgei1pbmRleDogQGJvdHRvbUxheWVyO1xuICAgIH1cblxuICAgIC8qIFNpZGViYXIgLSBJbml0aWFsICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAgICAgLnVpLmxlZnQuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgICAgICAudWkucmlnaHQuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudG9wLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgICAgIC51aS5ib3R0b20uc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gKi9cbiAgICAudWkuYW5pbWF0aW5nLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgfVxuXG4gICAgLyogRW5kICovXG4gICAgLnVpLnZpc2libGUuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyU2xpZGVPdXQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNsaWRlIE91dFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogSW5pdGlhbCAqL1xuICAgIC51aS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gICAgICAgIHotaW5kZXg6IEBib3R0b21MYXllcjtcbiAgICB9XG5cbiAgICAvKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgIC51aS5sZWZ0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudG9wLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgICAgIC51aS5ib3R0b20uc2xpZGUub3V0LnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFuaW1hdGlvbiAqL1xuICAgIC51aS5hbmltYXRpbmcuc2xpZGUub3V0LnNpZGViYXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgfVxuXG4gICAgLyogRW5kICovXG4gICAgLnVpLnZpc2libGUuc2xpZGUub3V0LnNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclNjYWxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTY2FsZSBEb3duXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBJbml0aWFsICovXG4gICAgLnVpLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICAgICAgei1pbmRleDogQHRvcExheWVyO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgIC51aS5sZWZ0LnNjYWxlLmRvd24uc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LnNjYWxlLmRvd24uc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIHtcbiAgICAgICAgLnVpLnRvcC5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUHVzaGVyIC0gSW5pdGlhbCAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgIC51aS5zY2FsZS5kb3duLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNzUlIDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgLnVpLnNjYWxlLmRvd24ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVG9wKSB7XG4gICAgICAgIC51aS5zY2FsZS5kb3duLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzUlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLnNjYWxlLmRvd24uYm90dG9tLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gKi9cbiAgICAudWkuYW5pbWF0aW5nLnNjYWxlLmRvd24gPiAudmlzaWJsZS51aS5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIH1cbiAgICAudWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyLFxuICAgIC51aS5hbmltYXRpbmcuc2NhbGUuZG93bi5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBFbmQgKi9cbiAgICAudWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgICAudWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU3RpY2t5XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcInN0aWNreVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0aWNreVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICB6LWluZGV4OiBAekluZGV4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBCb3VuZCAqL1xuLnVpLnN0aWNreS5ib3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi8qIEZpeGVkICovXG4udWkuc3RpY2t5LmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbn1cblxuLyogQm91bmQvRml4ZWQgUG9zaXRpb24gKi9cbi51aS5zdGlja3kuYm91bmQudG9wLFxuLnVpLnN0aWNreS5maXhlZC50b3Age1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IGF1dG87XG59XG4udWkuc3RpY2t5LmJvdW5kLmJvdHRvbSxcbi51aS5zdGlja3kuZml4ZWQuYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5uYXRpdmUuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRhYlxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJ0YWJcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFVJIFRhYnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS50YWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS50YWIuYWN0aXZlLFxuLnVpLnRhYi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFiTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50YWIubG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBsb2FkaW5nTWluSGVpZ2h0O1xuICAgIH1cbiAgICAudWkudGFiLmxvYWRpbmcgKiB7XG4gICAgICAgIHBvc2l0aW9uOiBAbG9hZGluZ0NvbnRlbnRQb3NpdGlvbiAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiBAbG9hZGluZ0NvbnRlbnRPZmZzZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkudGFiLmxvYWRpbmc6OmJlZm9yZSxcbiAgICAudWkudGFiLmxvYWRpbmcuc2VnbWVudDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IEBsb2FkZXJEaXN0YW5jZUZyb21Ub3A7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG4gICAgfVxuICAgIC51aS50YWIubG9hZGluZzo6YWZ0ZXIsXG4gICAgLnVpLnRhYi5sb2FkaW5nLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IEBsb2FkZXJEaXN0YW5jZUZyb21Ub3A7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gVG9hc3RcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwidG9hc3RcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RBY3Rpb25zOiBpZihAdmFyaWF0aW9uVG9hc3RBY3Rpb25zLCBlKFwiOm5vdCguYWN0aW9ucylcIikpO1xuQG5vdEF0dGFjaGVkOiBpZihAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCwgZShcIjpub3QoLmF0dGFjaGVkKVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25Ub2FzdFZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3RDZW50ZXI6IGlmKEB2YXJpYXRpb25Ub2FzdENlbnRlciwgZShcIjpub3QoLmNlbnRlcilcIikpO1xuQG5vdENlbnRlcmVkOiBpZihAdmFyaWF0aW9uVG9hc3RDZW50ZXJlZCwgZShcIjpub3QoLmNlbnRlcmVkKVwiKSk7XG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25Ub2FzdEJhc2ljLCBlKFwiOm5vdCguYmFzaWMpXCIpKTtcbkBub3RDbG9zZTogaWYoQHZhcmlhdGlvblRvYXN0Q2xvc2UsIGUoXCI6bm90KC5jbG9zZSlcIikpO1xuQG5vdFVuY2xpY2thYmxlOiBpZihAdmFyaWF0aW9uVG9hc3RVbmNsaWNrYWJsZSwgZShcIjpub3QoLnVuY2xpY2thYmxlKVwiKSk7XG5cbkBub3RGbHVpZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkZsdWlkLCBlKFwiOm5vdCguZmx1aWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVG9hc3QgY29udGFpbmVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudG9hc3QtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICAmLmFic29sdXRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmLnVpLmF0dGFjaGVkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEF0dGFjaGVkKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAmIC52ZXJ0aWNhbC5hdHRhY2hlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnVpLnVpIC5hdHRhY2hlZC5hY3Rpb25zIC5idXR0b24gd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAmIC50b2FzdC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgJiA+IC51aS50b2FzdCxcbiAgICAgICAgICAgID4gLnVpLm1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RGbG9hdGluZykge1xuICAgICAgICAgICAgICAgICYuZmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgJi5ob3ZlcmZsb2F0aW5nOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiAudmVydGljYWwgPiAuY29udGVudCB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAmID4gLnZlcnRpY2FsQHtub3RBY3Rpb25zfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiAuYXR0YWNoZWQuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdG9hc3RMZWZ0UmlnaHRNYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi50b3Agd2hlbiAoQHZhcmlhdGlvblRvYXN0VG9wKSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5ib3R0b20gd2hlbiAoQHZhcmlhdGlvblRvYXN0Qm90dG9tKSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi50b3Agd2hlbiAoQHZhcmlhdGlvblRvYXN0VG9wKSB7XG4gICAgICAgICYucmlnaHQgd2hlbiAoQHZhcmlhdGlvblRvYXN0UmlnaHQpIHtcbiAgICAgICAgICAgIHRvcDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICByaWdodDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHdoZW4gKEB2YXJpYXRpb25Ub2FzdExlZnQpIHtcbiAgICAgICAgICAgIHRvcDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBsZWZ0OiBAdG9hc3RDb250YWluZXJEaXN0YW5jZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5jZW50ZXIgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2VudGVyKSB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgIHRvcDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ib3R0b20gd2hlbiAoQHZhcmlhdGlvblRvYXN0Qm90dG9tKSB7XG4gICAgICAgICYucmlnaHQgd2hlbiAoQHZhcmlhdGlvblRvYXN0UmlnaHQpIHtcbiAgICAgICAgICAgIGJvdHRvbTogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICByaWdodDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHdoZW4gKEB2YXJpYXRpb25Ub2FzdExlZnQpIHtcbiAgICAgICAgICAgIGJvdHRvbTogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBsZWZ0OiBAdG9hc3RDb250YWluZXJEaXN0YW5jZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5jZW50ZXIgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2VudGVyKSB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgIGJvdHRvbTogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jZW50ZXJlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RDZW50ZXJlZCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgJiAudmlzaWJsZS50b2FzdC1ib3gsXG4gICAgLmFuaW1hdGluZy50b2FzdC1ib3gsXG4gICAgLnRvYXN0LWJveCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYuaG9yaXpvbnRhbCB3aGVuIChAdmFyaWF0aW9uVG9hc3RIb3Jpem9udGFsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICYgLnRvYXN0LWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b2FzdEJveE1hcmdpblJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgLnRvYXN0LWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEB0b2FzdEJveE1hcmdpbkJvdHRvbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGRlZmF1bHRCb3JkZXJSYWRpdXM7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAdG9hc3RPcGFjaXR5T25Ib3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAmQHtub3RVbmNsaWNrYWJsZX06aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBAdG9hc3RDdXJzb3JPbkhvdmVyO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0RmxvYXRpbmcpIHtcbiAgICAgICAgICAgICYuZmxvYXRpbmcsXG4gICAgICAgICAgICAmLmhvdmVyZmxvYXRpbmc6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBmbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgICAgICBib3JkZXI6IEB0b2FzdEJveEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAmLmludmVydGVkLmZsb2F0aW5nLFxuICAgICAgICAgICAgICAgICYuaW52ZXJ0ZWQuaG92ZXJmbG9hdGluZzpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZEZsb2F0aW5nU2hhZG93O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IEBpbnZlcnRlZFRvYXN0Qm94Qm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENvbXBhY3QpIHtcbiAgICAgICAgICAgICYuY29tcGFjdCxcbiAgICAgICAgICAgID4gLmNvbXBhY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAdG9hc3RXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gLnVpLnRvYXN0LFxuICAgICAgICA+IC51aS5tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogQHRvYXN0TWFyZ2luO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYXR0YWNoZWQucHJvZ3Jlc3Mgd2hlbiAoQHZhcmlhdGlvblRvYXN0UHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAdG9hc3RNYXJnaW5Qcm9ncmVzcyAtQHRvYXN0TGVmdFJpZ2h0TWFyZ2luIEB0b2FzdE1hcmdpbkJvdHRvbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudG9wIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IEB0b2FzdE1hcmdpbkJvdHRvbSAtQHRvYXN0TGVmdFJpZ2h0TWFyZ2luIEB0b2FzdE1hcmdpblByb2dyZXNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYmFyIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmluZm8gLmJhci5iYXIuYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdG9hc3RJbmZvUHJvZ3Jlc3NDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYud2FybmluZyAuYmFyLmJhci5iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2FzdFdhcm5pbmdQcm9ncmVzc0NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zdWNjZXNzIC5iYXIuYmFyLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvYXN0U3VjY2Vzc1Byb2dyZXNzQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmVycm9yIC5iYXIuYmFyLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvYXN0RXJyb3JQcm9ncmVzc0NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uZXV0cmFsIC5iYXIuYmFyLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvYXN0TmV1dHJhbFByb2dyZXNzQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC51aS5tZXNzYWdlIHdoZW4gKEB2YXJpYXRpb25Ub2FzdE1lc3NhZ2UpIHtcbiAgICAgICAgICAgICYgPiAuY2xvc2UuaWNvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RDbG9zZSkge1xuICAgICAgICAgICAgICAgIHRvcDogQHRvYXN0Q2xvc2VUb3BEaXN0YW5jZTtcbiAgICAgICAgICAgICAgICByaWdodDogQHRvYXN0Q2xvc2VSaWdodERpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA+IC5hY3Rpb25zOmxhc3QtY2hpbGQgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEB0b2FzdEFjdGlvbk1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaWNvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgJiA+IDpub3QoLmljb24pQHtub3RBY3Rpb25zfSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0SWNvbk1lc3NhZ2VDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IGkuaWNvbkB7bm90Q2xvc2V9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBAdG9hc3RJY29uTWVzc2FnZVdpZHRoO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmQHtub3RWZXJ0aWNhbH0ge1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbnMgPiBpLmljb25Ae25vdENsb3NlfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSBhbmQgKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogZSglKFwiY2FsYyg1MCUlIC0gJWQpXCIsIEB0b2FzdEljb25DZW50ZXJlZEFkanVzdG1lbnQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmljb24uaWNvbi5pY29uIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgLnVpLnRvYXN0IHtcbiAgICAgICAgICAgICYgPiAuY2xvc2UuaWNvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RDbG9zZSkge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogQHRvYXN0Q2xvc2VPcGFjaXR5O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IEB0b2FzdENsb3NlVHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnZlcnRpY2FsID4gLmNsb3NlLmljb24gd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIGFuZCAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtQHRvYXN0Q2xvc2VUb3BEaXN0YW5jZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC1AdG9hc3RDbG9zZVRvcERpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJkB7bm90VmVydGljYWx9ID4gLmNsb3NlLmljb24gd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBAdG9hc3RDbG9zZVRvcERpc3RhbmNlO1xuICAgICAgICAgICAgICAgICY6bm90KC5sZWZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBAdG9hc3RDbG9zZVJpZ2h0RGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtQHRvYXN0Q2xvc2VSaWdodERpc3RhbmNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIC51aS5jYXJkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENhcmQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICYuYXR0YWNoZWRAe25vdFZlcnRpY2FsfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICYuaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAmLmhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvcml6b250YWwuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgJiA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIC5wcm9ncmVzc2luZyB7XG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RQcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICYudXAge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3NVcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5kb3duIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHByb2dyZXNzRG93bjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLndhaXQge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzc1dhaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAucGF1c2FibGUucHJvZ3Jlc3Npbmcge1xuICAgICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgfVxuICAgICAgICAmIC51aS50b2FzdEB7bm90VmVydGljYWx9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYgOm5vdCguY29tbWVudCkge1xuICAgICAgICAgICAgJjpub3QoLmNhcmQpIC5hY3Rpb25zIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IEB0b2FzdEFjdGlvbk1hcmdpblRvcCBAdG9hc3RBY3Rpb25NYXJnaW4gQHRvYXN0QWN0aW9uTWFyZ2luIEB0b2FzdEFjdGlvbk1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEB0b2FzdEFjdGlvblBhZGRpbmcgQHRvYXN0QWN0aW9uUGFkZGluZyBAdG9hc3RBY3Rpb25QYWRkaW5nQm90dG9tIEB0b2FzdEFjdGlvblBhZGRpbmc7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgJi5hdHRhY2hlZEB7bm90VmVydGljYWx9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEF0dGFjaGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvYXN0TGVmdFJpZ2h0TWFyZ2luO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmQHtub3RCYXNpY31Ae25vdEF0dGFjaGVkfSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2FzdEFjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEB0b2FzdEFjdGlvbkJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkge1xuICAgICAgICAgICAgJiAudmVydGljYWwuYWN0aW9ucyA+IC5idXR0b24sXG4gICAgICAgICAgICAmID4gLnZlcnRpY2FsID4gLnZlcnRpY2FsLnZlcnRpY2FsLFxuICAgICAgICAgICAgJiA+IC52ZXJ0aWNhbC52ZXJ0aWNhbC52ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFZlcnRpY2FsKSBhbmQgKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAmID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmF0dGFjaGVkID4gLmJ1dHRvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmQHtub3RBdHRhY2hlZH0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLUB0b2FzdEFjdGlvblBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUB0b2FzdEFjdGlvblBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b2FzdEFjdGlvbk1hcmdpbkxlZnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgICAgICAgJkB7bm90QmFzaWN9IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEB0b2FzdEFjdGlvbkJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEB0b2FzdEFjdGlvbk1hcmdpbkJvdHRvbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkgYW5kIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICY6bm90KC5sZWZ0KSB7XG4gICAgICAgICYuY2FyZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RDYXJkKSB7XG4gICAgICAgICAgICAmID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmQsXG4gICAgICAgICYudG9hc3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICAmIC5idXR0b246Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1lc3NhZ2Ugd2hlbiAoQHZhcmlhdGlvblRvYXN0TWVzc2FnZSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5sZWZ0IHtcbiAgICAgICAgJi5jYXJkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENhcmQpIHtcbiAgICAgICAgICAgICYgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvcml6b250YWwgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmQsXG4gICAgICAgICYudG9hc3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3Rpb25zIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgICYgLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tZXNzYWdlLm1lc3NhZ2UubWVzc2FnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RNZXNzYWdlKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLmF0dGFjaGVkQHtub3RWZXJ0aWNhbH0gd2hlbiAoQHZhcmlhdGlvblRvYXN0QXR0YWNoZWQpIHtcbiAgICAmOm5vdCgudG9wKSB7XG4gICAgICAgICYuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgJiAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnRvcCB7XG4gICAgICAgICYuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgJiAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRvYXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudG9hc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogQGRlZmF1bHRCb3JkZXJSYWRpdXM7XG4gICAgcGFkZGluZzogQHRvYXN0UGFkZGluZztcbiAgICBtYXJnaW46IEB0b2FzdE1hcmdpbjtcbiAgICBjb2xvcjogQHRvYXN0SW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRvYXN0TmV1dHJhbENvbG9yO1xuICAgICYgPiAuY29udGVudCA+IC5oZWFkZXIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJi5pbmZvIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEluZm8pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvYXN0SW5mb0NvbG9yO1xuICAgICAgICBjb2xvcjogQHRvYXN0VGV4dENvbG9yO1xuICAgIH1cbiAgICAmLndhcm5pbmcgd2hlbiAoQHZhcmlhdGlvblRvYXN0V2FybmluZykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9hc3RXYXJuaW5nQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAdG9hc3RUZXh0Q29sb3I7XG4gICAgfVxuICAgICYuc3VjY2VzcyB3aGVuIChAdmFyaWF0aW9uVG9hc3RTdWNjZXNzKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2FzdFN1Y2Nlc3NDb2xvcjtcbiAgICAgICAgY29sb3I6IEB0b2FzdFRleHRDb2xvcjtcbiAgICB9XG4gICAgJi5lcnJvciB3aGVuIChAdmFyaWF0aW9uVG9hc3RFcnJvcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9hc3RFcnJvckNvbG9yO1xuICAgICAgICBjb2xvcjogQHRvYXN0VGV4dENvbG9yO1xuICAgIH1cbiAgICAmLm5ldXRyYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9hc3ROZXV0cmFsQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAdG9hc3ROZXV0cmFsVGV4dENvbG9yO1xuICAgIH1cbiAgICAmID4gaS5pY29uQHtub3RDbG9zZX0gd2hlbiAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICBmb250LXNpemU6IEB0b2FzdEljb25Gb250U2l6ZTtcbiAgICB9XG4gICAgJkB7bm90VmVydGljYWx9IHtcbiAgICAgICAgJkB7bm90Q2VudGVyZWR9QHtub3RDZW50ZXJ9IHtcbiAgICAgICAgICAgICYgPiBpLmljb25Ae25vdENsb3NlfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA+IC51aS5pbWFnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbWFnZSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gaS5pY29uQHtub3RDbG9zZX0gd2hlbiAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgJiArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdEljb25Db250ZW50UGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gLmNsb3NlLmljb24gKyAuY29udGVudCB3aGVuIChAdmFyaWF0aW9uVG9hc3RDbG9zZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9hc3RDbG9zZURpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgICYgPiAudWkuaW1hZ2Ugd2hlbiAoQHZhcmlhdGlvblRvYXN0SW1hZ2UpIHtcbiAgICAgICAgICAgICYuYXZhdGFyICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0QXZhdGFySW1hZ2VDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAdG9hc3RBdmF0YXJJbWFnZUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubWluaSArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdE1pbmlJbWFnZUNvbnRlbnRQYWRkaW5nO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IEB0b2FzdE1pbmlJbWFnZUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGlueSArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdFRpbnlJbWFnZUNvbnRlbnRQYWRkaW5nO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IEB0b2FzdFRpbnlJbWFnZUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc21hbGwgKyAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9hc3RTbWFsbEltYWdlQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogQHRvYXN0U21hbGxJbWFnZUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmQHtub3RDZW50ZXJlZH1Ae25vdENlbnRlcn0gd2hlbiAoQHZhcmlhdGlvblRvYXN0SW1hZ2UpIG9yIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAmID4gLmNlbnRlcmVkLmltYWdlLFxuICAgICAgICAgICAgPiAuY2VudGVyZWQuaWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9ucyA+IC5jZW50ZXJlZC5pbWFnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSBhbmQgKEB2YXJpYXRpb25Ub2FzdEltYWdlKSB7XG4gICAgICAgICAgICB0b3A6IGUoJShcImNhbGMoNTAlJSAtICVkKVwiLCBAdG9hc3RJbWFnZUNlbnRlcmVkQWRqdXN0bWVudCkpO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9ucyA+IC5jZW50ZXJlZC5pY29uIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIGFuZCAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgdG9wOiBlKCUoXCJjYWxjKDUwJSUgLSAlZClcIiwgQHRvYXN0SWNvbkNlbnRlcmVkQWRqdXN0bWVudCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudmVydGljYWwgd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIHtcbiAgICAgICAgJiA+IC5jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgICAgICAmLmF0dGFjaGVkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEF0dGFjaGVkKSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5jbG9zZS5pY29uICsgLmNvbnRlbnQgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0Q2xvc2VEaXN0YW5jZVZlcnRpY2FsO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0SW1hZ2UpIG9yIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAmID4gLnVpLmltYWdlICsgLmNvbnRlbnQsXG4gICAgICAgICAgICA+IGkuaWNvbkB7bm90Q2xvc2V9ICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0SW1hZ2VDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gLnVpLmltYWdlIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEltYWdlKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIElFMTEgZml4ICovXG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbWFnZSkgb3IgKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgICYgPiAuY2VudGVyZWQuaW1hZ2UsXG4gICAgICAgICAgICA+IC5jZW50ZXJlZC5pY29uIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmF0dGFjaGVkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEF0dGFjaGVkKSB7XG4gICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnVpLnVpLnVpLmltYWdlIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEltYWdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICYgPiAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogQGlucHV0VmVydGljYWxQYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IEBpbnB1dFZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBpbnB1dEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC51aS5pbWFnZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAZGVmYXVsdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgJi5taW5pIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IEB0b2FzdEltYWdlTWluaUltYWdlQWRqdXN0bWVudDtcbiAgICAgICAgICAgICAgICAmICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAdG9hc3RJbWFnZU1pbmlJbWFnZUFkanVzdG1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0SW1hZ2VNaW5pSW1hZ2VQYWRkaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLmhvdmVyZmxvYXRpbmcubWVzc2FnZTpob3ZlciB3aGVuIChAdmFyaWF0aW9uVG9hc3RNZXNzYWdlKSBhbmQgKEB2YXJpYXRpb25Ub2FzdEZsb2F0aW5nKSB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgMXB4IGluc2V0LFxuICAgICAgICBAZmxvYXRpbmdTaGFkb3c7XG59XG5cbi51aS5jZW50ZXIudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gsXG4udWkucmlnaHQudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4udWkuY2VudGVyLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2VudGVyZWQpIHtcbiAgICAudWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLnRvYXN0LFxuICAgIC51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyLmFsaWduZWQudG9hc3Qge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYgPiAuY29udGVudCxcbiAgICAgICAgJiA+IC51aS5pbWFnZSxcbiAgICAgICAgJiA+IGkuaWNvbkB7bm90Q2xvc2V9IHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudG9hc3QgLmNlbnRlcmVkLmNvbnRlbnQsXG4gICAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC50b2FzdCAuY2VudGVyLmFsaWduZWQuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLmFjdGlvbnMsXG4gICAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXIuYWxpZ25lZC5hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICZAe25vdEF0dGFjaGVkfSA+IC5idXR0b25Ae25vdEZsdWlkfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvYXN0QWN0aW9uQ2VudGVyZWRNYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b2FzdEFjdGlvbkNlbnRlcmVkTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uVG9hc3RDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblRvYXN0Q29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAudWkuQHtjb2xvcn0udG9hc3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgICAgICBjb2xvcjogQHRvYXN0VGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS50b2FzdCxcbiAgICAgICAgICAgIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5Ae2NvbG9yfS5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHRvYXN0SW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbnZlcnRlZCkge1xuICAgIC51aS5pbnZlcnRlZC50b2FzdCB7XG4gICAgICAgIGNvbG9yOiBAdG9hc3RUZXh0Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2FzdEludmVydGVkQ29sb3I7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBtb2JpbGVUb2FzdEJyZWFrcG9pbnQpIHtcbiAgICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICAgICAgICAmLnRvYXN0LWJveCxcbiAgICAgICAgJiA+IC5jb21wYWN0LFxuICAgICAgICAmID4gLnZlcnRpY2FsID4gKixcbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJiA+ICpAe25vdFZlcnRpY2FsfSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IEBtb2JpbGVXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENhcmQpIHtcbiAgICAgICAgICAgICYgPiAudWkuY2FyZC5ob3Jpem9udGFsLFxuICAgICAgICAgICAgPiAudmVydGljYWwgPiAudWkuaG9yaXpvbnRhbC5jYXJkIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLVxuICAgUHJvZ3Jlc3MgQmFyXG4gLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RQcm9ncmVzcykge1xuICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3NEb3duIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHByb2dyZXNzVXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzc1dhaXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRyYW5zaXRpb25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwidHJhbnNpdGlvblwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBUcmFuc2l0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnRyYW5zaXRpb24ge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbkRlZmF1bHREdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdHJhbnNpdGlvbkRlZmF1bHRFYXNpbmc7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogQHRyYW5zaXRpb25EZWZhdWx0RmlsbDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLnRyYW5zaXRpb24ge1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEBiYWNrZmFjZVZpc2liaWxpdHk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uTG9hZGluZykge1xuICAgIC8qIExvYWRpbmcgKi9cbiAgICAubG9hZGluZy50cmFuc2l0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICB9XG59XG5cbi8qIEhpZGRlbiAqL1xuLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogVmlzaWJsZSAqL1xuLnZpc2libGUudHJhbnNpdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgICAvKiBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xuICAgICAgdHJhbnNmb3JtOiBAdXNlM0RBY2NlbGVyYXRpb247ICovXG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25EaXNhYmxlZCkge1xuICAgIC8qIERpc2FibGVkICovXG4gICAgLmRpc2FibGVkLnRyYW5zaXRpb24ge1xuICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkxvb3BpbmcpIHtcbiAgICAubG9vcGluZy50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uUHVsc2F0aW5nKSB7XG4gICAgLyogUHVsc2F0aW5nICovXG4gICAgLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHB1bHNhdGluZztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAcHVsc2F0aW5nRHVyYXRpb247XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgZmFkZShAcHVsc2F0aW5nQ29sb3IsIEBwdWxzYXRpbmdPcGFjaXR5KTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkludmVydGVkKSB7XG4gICAgICAgIC5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIGZhZGUoQHB1bHNhdGluZ0ludmVydGVkQ29sb3IsIEBwdWxzYXRpbmdJbnZlcnRlZE9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgcHVsc2F0aW5nIHtcbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAcHVsc2F0aW5nRGlzdGFuY2UgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uVHJhbnNpdGlvbkNvbG9ycyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvblRyYW5zaXRpb25Db2xvcnMsIHtcbiAgICAgICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuXG4gICAgICAgICAgICAuQHtjb2xvcn0ucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgZmFkZShAYywgQHB1bHNhdGluZ09wYWNpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLkB7Y29sb3J9LmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCBmYWRlKEBsLCBAcHVsc2F0aW5nSW52ZXJ0ZWRPcGFjaXR5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKlxuICBTb21lIHRyYW5zaXRpb25zIGFkYXB0ZWQgZnJvbSBBbmltYXRlIENTU1xuICBodHRwczovL2dpdGh1Yi5jb20vZGFuZWRlbi9hbmltYXRlLmNzc1xuXG4gIEFkZGl0aW9uYWwgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEdsaWRlXG4gIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGVcbiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25Ccm93c2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQnJvd3NlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudHJhbnNpdGlvbi5icm93c2Uge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbi5icm93c2UuaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogYnJvd3NlSW47XG4gICAgfVxuICAgIC50cmFuc2l0aW9uLmJyb3dzZS5vdXQsXG4gICAgLnRyYW5zaXRpb24uYnJvd3NlLmxlZnQub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dExlZnQ7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uLmJyb3dzZS5yaWdodC5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0UmlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW4gKi9cbiAgICBAa2V5ZnJhbWVzIGJyb3dzZUluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgICAxMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgICA4MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgYnJvd3NlT3V0TGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICAgICAgfVxuICAgICAgICA4MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWCgwKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBicm93c2VPdXRSaWdodCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWCgwKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25Ecm9wKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERyb3BcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC5kcm9wLnRyYW5zaXRpb24ge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDQwMG1zO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKTtcbiAgICB9XG4gICAgLmRyb3AudHJhbnNpdGlvbi5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkcm9wSW47XG4gICAgfVxuICAgIC5kcm9wLnRyYW5zaXRpb24ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGRyb3BPdXQ7XG4gICAgfVxuXG4gICAgLyogRHJvcCAqL1xuICAgIEBrZXlmcmFtZXMgZHJvcEluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGRyb3BPdXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uRmFkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmFkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnRyYW5zaXRpb24uZmFkZS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgICB9XG5cbiAgICAudHJhbnNpdGlvbi5mYWRlLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgbGVmdFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgcmlnaHRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgICB9XG5cbiAgICAvKiBJbiAqL1xuICAgIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkZsaXApIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmxpcHNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC5mbGlwLnRyYW5zaXRpb24uaW4sXG4gICAgLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDYwMG1zO1xuICAgIH1cbiAgICAuaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBJbjtcbiAgICB9XG4gICAgLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcE91dDtcbiAgICB9XG4gICAgLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBJbjtcbiAgICB9XG4gICAgLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwT3V0O1xuICAgIH1cblxuICAgIC8qIEluICovXG4gICAgQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcEluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogT3V0ICovXG4gICAgQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcE91dCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBPdXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblNjYWxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBTY2FsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnNjYWxlLnRyYW5zaXRpb24uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2NhbGVJbjtcbiAgICB9XG4gICAgLnNjYWxlLnRyYW5zaXRpb24ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlT3V0O1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgc2NhbGVJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgc2NhbGVPdXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25GbHkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZseVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogSW53YXJkICovXG4gICAgLnRyYW5zaXRpb24uZmx5IHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uLmZseS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlJbjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluRG93bjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5SW5MZWZ0O1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbiAgICB9XG5cbiAgICAvKiBPdXR3YXJkICovXG4gICAgLnRyYW5zaXRpb24uZmx5Lm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXQ7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSB1cFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0VXA7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXREb3duO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0TGVmdDtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRSaWdodDtcbiAgICB9XG5cbiAgICAvKiBJbiAqL1xuICAgIEBrZXlmcmFtZXMgZmx5SW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgICAgICB9XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICAgICAgfVxuICAgICAgICA4MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseUluVXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNzUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgOTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICA5MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmx5SW5MZWZ0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDkwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmx5SW5SaWdodCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICA3NSUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgOTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgZmx5T3V0IHtcbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICAgICAgfVxuICAgICAgICA1MCUsXG4gICAgICAgIDU1JSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlLFxuICAgICAgICA0NSUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAgICAgICAyMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlLFxuICAgICAgICA0NSUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbHlPdXRMZWZ0IHtcbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25TbGlkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTbGlkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnRyYW5zaXRpb24uc2xpZGUuaW4sXG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIH1cblxuICAgIC50cmFuc2l0aW9uLnNsaWRlLm91dCxcbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSByaWdodFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBJbiAqL1xuICAgIEBrZXlmcmFtZXMgc2xpZGVJblkge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzbGlkZUluWCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgc2xpZGVPdXRZIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2xpZGVPdXRYIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uU3dpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC50cmFuc2l0aW9uLnN3aW5nIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbiAgICB9XG5cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBkb3duXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5YO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgbGVmdFwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRyYW5zaXRpb24uc3dpbmcub3V0LFxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgbGVmdFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIH1cblxuICAgIC8qIEluICovXG4gICAgQGtleWZyYW1lcyBzd2luZ0luWCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzd2luZ0luWSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTcuNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgc3dpbmdPdXRYIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNy41ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICA4MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3dpbmdPdXRZIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblpvb20pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFpvb21cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC50cmFuc2l0aW9uLnpvb20uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbi56b29tLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHpvb21JbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICBTdGF0aWMgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBFbXBoYXNpc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25GbGFzaCkge1xuICAgIC5mbGFzaC50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25TaGFrZSkge1xuICAgIC5zaGFrZS50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25Cb3VuY2UpIHtcbiAgICAuYm91bmNlLnRyYW5zaXRpb24ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25UYWRhKSB7XG4gICAgLnRhZGEudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25QdWxzZSkge1xuICAgIC5wdWxzZS50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25KaWdnbGUpIHtcbiAgICAuamlnZ2xlLnRyYW5zaXRpb24ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogamlnZ2xlO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25HbG93KSB7XG4gICAgLnRyYW5zaXRpb24uZ2xvdyB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwMG1zO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgfVxuXG4gICAgLnRyYW5zaXRpb24uZ2xvdyB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBnbG93O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkZsYXNoKSB7XG4gICAgLyogRmxhc2ggKi9cbiAgICBAa2V5ZnJhbWVzIGZsYXNoIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDUwJSxcbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDI1JSxcbiAgICAgICAgNzUlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uU2hha2UpIHtcbiAgICAvKiBTaGFrZSAqL1xuICAgIEBrZXlmcmFtZXMgc2hha2Uge1xuICAgICAgICAwJSxcbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAlLFxuICAgICAgICAzMCUsXG4gICAgICAgIDUwJSxcbiAgICAgICAgNzAlLFxuICAgICAgICA5MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgICAgfVxuICAgICAgICAyMCUsXG4gICAgICAgIDQwJSxcbiAgICAgICAgNjAlLFxuICAgICAgICA4MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkJvdW5jZSkge1xuICAgIC8qIEJvdW5jZSAqL1xuICAgIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDIwJSxcbiAgICAgICAgNTAlLFxuICAgICAgICA4MCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblRhZGEpIHtcbiAgICAvKiBUYWRhICovXG4gICAgQGtleWZyYW1lcyB0YWRhIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMCUsXG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAzMCUsXG4gICAgICAgIDUwJSxcbiAgICAgICAgNzAlLFxuICAgICAgICA5MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICAgICAgfVxuICAgICAgICA0MCUsXG4gICAgICAgIDYwJSxcbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uUHVsc2UpIHtcbiAgICAvKiBQdWxzZSAqL1xuICAgIEBrZXlmcmFtZXMgcHVsc2Uge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uSmlnZ2xlKSB7XG4gICAgLyogSmlnZ2xlICovXG4gICAgQGtleWZyYW1lcyBqaWdnbGUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgMzAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICAgICAgfVxuICAgICAgICA0MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgNjUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICAgICAgfVxuICAgICAgICA3NSUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkdsb3cpIHtcbiAgICAvKiBHbG93ICovXG4gICAgQGtleWZyYW1lcyBnbG93IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmZDtcbiAgICAgICAgfVxuICAgICAgICAzMCUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjZjZDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/